NTP-Sicherheit mit Authentifizierung und vertrauenswürdigen Zeitreferenzen
Mittwoch, Januar 16th, 2008NTP (Network Time Protocol) synchronisiert Netzwerke mit einer einzigen Zeitquelle und verwendet Zeitstempel, um die aktuelle Tageszeit darzustellen. Dies ist für zeitkritische Transaktionen und viele Systemanwendungen wie E-Mail wichtig.
NTP ist daher anfällig für Sicherheitsbedrohungen, ob sie von einem böswilligen Hacker, der den Zeitstempel ändern, will Betrug oder eine DDoS-Attacke (Distributed Denial of Service - in der Regel durch bösartige Malware verursacht, die einen Server mit Verkehr überschwemmt) zu begehen, dass Blöcke Serverzugriff.
Da NTP jedoch eines der ältesten Protokolle des Internets ist und seit über 25 Jahren entwickelt wurde, ist NTP mit eigenen Sicherheitsmaßnahmen in Form von Authentifizierung ausgestattet.
Die Authentifizierung überprüft, ob jeder Zeitstempel aus der beabsichtigten Zeitreferenz gekommen ist, indem er einen Satz von vereinbarten Verschlüsselungsschlüsseln analysiert, die zusammen mit der Zeitinformation gesendet werden. NTP, mit Message Digest-Verschlüsselung (MD5), um den Schlüssel zu verschlüsseln, analysiert ihn und bestätigt, ob er aus der vertrauenswürdigen Zeitquelle gekommen ist, indem er ihn gegen einen Satz vertrauenswürdiger Schlüssel überprüft.
Vertrauenswürdige Authentifizierungsschlüssel sind in der NTP-Serverkonfigurationsdatei (ntp.conf) aufgeführt und werden normalerweise in der Datei ntp.keys gespeichert. Die Schlüsseldatei ist normalerweise sehr groß, aber vertrauenswürdige Schlüssel teilen dem NTP-Server mit, welcher Satz von Teilschlüsseln momentan aktiv ist und welche nicht. Verschiedene Untergruppen können aktiviert werden, ohne die Datei ntp.keys mit dem config-Befehl trusted-keys zu bearbeiten.
Die Authentifizierung ist daher äußerst wichtig, um einen NTP-Server vor böswilligen Angriffen zu schützen. Es gibt jedoch viele Zeitangaben, bei denen der Authentifizierung nicht vertraut werden kann.
Microsoft, der seit Windows 2000 eine Version von NTP in seinen Betriebssystemen installiert hat, empfiehlt dringend, dass eine Hardwarequelle als Zeitbezug verwendet wird, da Internetquellen nicht authentifiziert werden können.
NTP ist entscheidend für die Synchronisierung von Netzwerken, aber ebenso wichtig ist die Sicherheit der Systeme. Während Netzwerkadministratoren Tausende in Antiviren- / Malware-Software investieren, erkennen viele die Schwachstelle auf ihren Zeitservern nicht.
Viele Netzwerkadministratoren vertrauen immer noch Internetquellen für ihre Zeitreferenz an. Während viele eine gute Quelle für UTC-Zeit (Coordinated Universal Time - der internationale Standard der Zeit) sind, wie etwa nist.gov, bedeutet der Mangel an Authentifizierung, dass das Netzwerk missbraucht werden kann.
Andere UTC-Zeitquellen sind sicherer und können mit relativ kostengünstigen Geräten verwendet werden. Die einfachste Methode ist die Verwendung eines speziellen NTP-GPS-Zeitservers, der eine Verbindung mit einer GPS-Antenne herstellen und einen authentifizierten Zeitstempel über Satellit empfangen kann.
GPS-Zeitserver können die UTC-Zeit auf einige Nanosekunden genau bestimmen, solange die Antenne eine gute Sicht auf den Himmel hat. Sie sind relativ billig und das Signal wird authentifiziert, wodurch eine sichere Zeitreferenz bereitgestellt wird.
Alternativ gibt es mehrere nationale Sendungen, die eine Zeitreferenz übertragen. In Großbritannien wird dies vom National Physics Laboratory (NPL) in Cumbria ausgestrahlt. Ähnliche Systeme sind in Deutschland, Frankreich und den USA tätig. Während dieses Signal authentifiziert wird, sind diese Funkübertragungen anfällig für Störungen und haben eine begrenzte Reichweite.
Die Authentifizierung für NTP wurde entwickelt, um böswillige Manipulationen an der Systemsynchronisierung zu verhindern, genauso wie Firewalls entwickelt wurden, um Netzwerke vor Angriffen zu schützen, aber wie bei jedem Sicherheitssystem funktioniert es nur, wenn es verwendet wird.