NTP-beveiliging
Authenticatie en vertrouwde tijdsreferenties
NTP (Network Time Protocol) synchroniseert netwerken met een enkele tijdbron met behulp van tijdstempels om de huidige tijd van de dag weer te geven, dit is essentieel voor tijdgevoelige transacties en veel systeemtoepassingen zoals e-mail.
NTP is daarom kwetsbaar voor beveiligingsbedreigingen, of het nu gaat om een kwaadwillende hacker die het tijdstempel wil wijzigen om fraude of een DDoS-aanval te plegen (Distributed Denial of Service - normaal gesproken veroorzaakt door kwaadaardige malware die een server overstroomt met verkeer) die servertoegang blokkeert.
Omdat het een van de oudste protocollen van internet is en al meer dan 25 jaren is ontwikkeld, is NTP uitgerust met zijn eigen beveiligingsmaatregelen in de vorm van authenticatie.
Verificatie verifieert dat elke tijdstempel uit de beoogde tijdreferentie is gekomen door een reeks overeengekomen encryptiesleutels te analyseren die samen met de tijdinformatie worden verzonden. NTP, met Message Digest Encryption (MD5) om de sleutel te ontcijferen, analyseert het en bevestigt of het uit de vertrouwde tijdbron is gekomen door het te verifiëren tegen een set vertrouwde toetsen.
Vertrouwde authenticatiesleutels worden weergegeven in het NTP-serverconfiguratiebestand (ntp.conf) en worden normaal opgeslagen in het bestand ntp.keys. Het sleutelbestand is normaal gesproken erg groot, maar vertrouwde sleutels vertellen de NTP-server welke set van subset sleutels momenteel actief is en welke niet. Verschillende subsets kunnen worden geactiveerd zonder het bestand ntp.keys aan te passen met behulp van de opdracht trusted-keys config.
De volgende stap voorwaarts in uurwerken kwam in de 17th eeuw, toen de slinger werd ontwikkeld om te helpen klokken de meetnauwkeurigheid te behouden. Klokkenindustrie werd al snel op grote schaal en het was niet voor nog eens driehonderd jaar dat de volgende revolutionaire stap in uurwerken zou plaatsvinden; met de ontwikkeling van elektronische klokken. Deze zijn gebaseerd op de beweging van een vibrerende kristal (gewoonlijk kwarts) in een elektrisch signaal met een exacte frequentie te maken.
Authenticatie is daarom van groot belang bij het beschermen van a NTP-server van kwaadwillige aanval; er zijn echter veel tijdreferenties waar authenticatie niet vertrouwd kan worden.
Microsoft, die sinds Windows 2000 een versie van NTP in hun besturingssystemen heeft geïnstalleerd, beveelt ten zeerste aan dat een hardwarebron als timingreferentie wordt gebruikt, omdat internetbronnen niet kunnen worden geverifieerd.
NTP is van vitaal belang om netwerken gesynchroniseerd te houden, maar minstens zo belangrijk is het beveiligen van systemen. Terwijl netwerkbeheerders duizenden in antivirale / malwaresoftware besteden, slagen velen er niet in om het lek in hun tijdservers te ontdekken
Andere bronnen van UTC-tijd zijn veiliger en kunnen worden gebruikt met relatief goedkope apparatuur. De eenvoudigste methode is om een gespecialiseerde NTP GPS-tijdserver te gebruiken die verbinding kan maken met een GPS-antenne en een geverifieerd tijdstempel per satelliet kan ontvangen.
GPS-tijd-servers kan nauwkeurigheid tot UTC-tijd leveren tot binnen enkele nanoseconden, zolang de antenne een goed zicht op de lucht heeft. Ze zijn relatief goedkoop en het signaal is geauthenticeerd en biedt een veilige tijdsreferentie.
Als alternatief zijn er verschillende nationale uitzendingen die een tijdreferentie verzenden. In het Verenigd Koninkrijk wordt dit uitgezonden door het National Physics Laboratory (NPL) in Cumbria. Soortgelijke systemen zijn actief in Duitsland, Frankrijk en de VS. Terwijl dit signaal wordt geverifieerd, zijn deze radiosignalen gevoelig voor interferentie en hebben ze een eindig bereik.
Verificatie voor NTP is ontwikkeld om kwaadwillende manipulatie met systeemsynchronisatie te voorkomen, net zoals er firewalls zijn ontwikkeld om netwerken te beschermen tegen aanvallen, maar net als bij elk beveiligingssysteem werkt het alleen als het wordt gebruikt.