NTP-säkerhet med autentisering och pålitliga tidsreferenser
Postat av Richard N Williams on Januari 16th, 2008
NTP (Network Time Protocol) synkroniserar nätverk till en enda tidskälla med hjälp av tidsstämplar för att representera den aktuella tiden på dagen, är det viktigt för tidskänsliga transaktioner och många systemapplikationer som e-post.
NTP är därför sårbart för säkerhetshot, oavsett om det är en skadlig hackare som vill ändra tidstämpeln för att begå bedrägeri eller DDoS-attack (Distributed Denial of Service - normalt orsakad av skadlig skadlig kod som överskrider en server med trafik) som blockerar serverns åtkomst.
Men, som ett av Internetets äldsta protokoll och har utvecklats för över 25-åren, är NTP utrustad med egna säkerhetsåtgärder i form av autentisering.
Autentisering verifierar att varje tidsstämpel har kommit från den planerade tiden referens genom att analysera en uppsättning överenskomna krypteringsnycklar som skickas tillsammans med tidsinformation. NTP, använder Message Digest kryptering (MD5) till un-kryptera nyckeln, analyserar den och bekräftar om det har kommit från den betrodda tidskälla genom att verifiera den mot en uppsättning betrodda nycklar.
Trusted autentiseringsnycklar listas i NTP-servern konfigurationsfil (ntp.conf) och lagras normalt i ntp.keys filen. Nyckelfilen är normalt mycket stora men betrodda nycklar tala om NTP-server som uppsättning delmängd av nycklar är aktiv och som inte är det. Olika undergrupper kan aktiveras utan att redigera ntp.keys filen med betrodda-tangenterna config kommandot.
Autentisering är därför mycket viktigt för att skydda en NTP-server från skadlig attack. men det finns många tidsreferenser där autentisering inte kan lita på.
Microsoft, som har installerat en version av NTP i sina operativsystem sedan Windows 2000, rekommenderar starkt att en hårdvarukälla används som en tidsreferens eftersom Internetkällor inte kan verifieras.
NTP är avgörande för att nätverket ska synkroniseras men lika viktigt är det att systemen hålls säkra. Även om nätverksadministratörer spenderar tusentals i programvaran mot virus / malware, klarar många inte sårbarheten i sina tidsservrar.
Många nätverksadministratörer överlåter fortfarande Internetkällor för deras tidsreferens. Även om många ger en bra källa för UTC-tid (Koordinerad Universal Time - den internationella standarden), till exempel nist.gov, betyder bristen på autentisering att nätverket är öppet för missbruk.
Andra källor till UTC-tid är säkrare och kan användas med relativt låg kostnad utrustning. Det enklaste sättet är att använda en specialist NTP GPS tidsserver som kan ansluta till en GPS-antenn och få en bestyrkt tidsstämpel via satellit.
GPS-tidsservrar kan ge noggrannhet till UTC-tid till inom några nanosekunder så länge som antennen har en bra utsikt över himlen. De är relativt billiga och signalen är autentiserad och ger en säker tidsreferens.
Alternativt finns det flera nationella sändningar som sänder en tidsreferens. I Storbritannien detta sänds av National Physics Laboratory (NPL) i Cumbria. Liknande system är verksamma i Tyskland, Frankrike och USA. Även denna signal är autentiserad dessa radiosändningar är känsliga för störningar och har en begränsad räckvidd.
Autentisering för NTP har utvecklats för att förhindra skadlig manipulering med synkroniseringssystem precis som brandväggar har utvecklats för att skydda nätverk från angrepp men som med alla system för säkerhet det fungerar bara om det används.