Suche begrenzen auf:
zurücksetzen

Die Bedeutung der Zeit

09.10.2021
Auto

Nur die wenigsten Leser werden mit dem Namen Clyde Coleman etwas anfangen können. Man muss schon ein ausgewiesener Autoexperte sein, um zu wissen, dass Coleman 1899 den elektrischen Anlasser für Personenkraftwagen entwickelt hat. Mit dem Anlasser wurde die Andrehkurbel abgelöst, die bis dahin vorn unter dem Kühler eingesteckt und gedreht werden musste, bis der Motor ansprang.


Ein erster Schritt von analog zu elektrisch und vor allem hin zu mehr Benutzerfreundlichkeit und Usability im Fahrzeug. Heute ist der Anlasser ein Hilfsmittel, das man kaum mehr wahrnimmt und das wie selbstverständlich im Hintergrund funktioniert, wenn man auf den Start/Stop-Schalter drückt. Nur wenn der Motor nicht anspringt und man mit dem Fahrzeug liegenbleibt, nimmt man diese Basis-Technik wahr.


Eine vergleichbare Basis-Technologie in der IT ist das Network Time Protocol (NTP), ein Unterstützungselement zur Synchronisierung von Uhren in Computersystemen über paketbasierte Kommunikationsnetze, das man im IT-Alltag nicht wahrnimmt. Vorausgesetzt, es funktioniert stabil, dann spielt es in den IT-Abteilungen eine untergeordnete Rolle. Demzufolge ist Knowhow dazu kaum ausgeprägt oder nicht vorhanden. Aber NTP kann Auslöser einer ausgewachsenen Krisensituation sein, wenn es nicht sachgerecht konfiguriert und eingesetzt wird. Dies kann im Extremfall dazu führen, dass z.B. eine komplexe IT- bzw. Cloud-Infrastruktur ausfällt und alle darauf laufenden Services und Applikationen ins digitale Nirvana mitreisst.

Der Grossteil der IT-Systeme ist ohne Zeitsynchronisation nicht betriebsfähig. Als Beispiel kann das Active Directory genannt werden, das einen Zeitstempel benutzt, um bei Replikationskonflikten die jeweils aktuellsten Daten zu übernehmen. Kritischer ist die Anwendung der Systemzeit in verschiedenen Authentisierungsmechanismen (beispielsweise Kerberos). Externe Tokens (RSA-Hardware-Tokens, Mobile Apps wie Microsoft/Google Authenticator) verwenden entweder eine eigene Zeitmessung oder die Zeitgebung von Mobilfunknetzen, um die definierten Gültigkeitsgrenzen der Tokens zu realisieren. Hier können Abweichungen der Zeittaktungen von grösser 60s zwischen verschiedenen Instanzen im Extremfall dazu führen, dass der Anmeldeprozess nicht erfolgreich abgeschlossen werden kann und User sich nicht an ihren Applikationen anmelden können. Aus Auditperspektive (und natürlich auch aus Betriebs- und Security-Perspektive) ein wesentlicher zeitrelevanter Aspekt ist das Logging von Informationen für mögliche Auswertungen. Diese Logs sind alle zeitbasiert. Wenn diese nicht valide und zuverlässig sind, kann man sie ungeniert in die Recycle.bin-Tonne treten.


In diesem Artikel wollen wir das Thema Zeit in modernen IT-Infrastrukturen beleuchten und die Hintergründe sowie Auswirkungen von NTP aufzeigen sowie Tipps geben, wie man risikoorientiert die NTP-Konfiguration überprüfen und eine Ausfalleskalation vermeiden kann.


Die richtige Zeit

Dazu müssen wir uns erst mit der Ermittlung der «richtigen» Zeit befassen. Die zeitgebende Technik spielte schon immer eine kritische Rolle in der Informationsverarbeitung. In jedem physischen Server und PC steckte seit Anbeginn des IT-Zeitalters ein Zeitgeber, der von einer Batterie gepuffert wurde, um Stromausfälle zu überbrücken und bei Neustarts die korrekte Zeit wiederzugeben. Dabei konnten schwache CMOS-Batterien zu einer falschen Zeittaktung im Gerät führen.


Heutige virtuelle Server messen die Zeit mit Hilfe des CPU-Taktes eigenständig und ohne zusätzliche interne Hardware. Dabei kann der effektive Takt mit der Auslastung eines Servers schwanken bzw. von der Realzeit abweichen. So können bei aktuellen Systemen starke Zeitsprünge (> 1 Minute) bei einem Reboot-Vorgang auftreten. Zusätzlich können virtuelle Maschinen auch komplett pausiert oder abgebremst werden.


Um für Rechneruhren eine stabile und synchronisierte Zeittaktung zu gewährleisten, steht mit dem NTP ein starkes Unterstützungstool zur Verfügung. Aufgrund der universellen Verfügbarkeit von NTP und da es sich um ein bewährtes und stabiles Protokoll handelt, spielt die interne Zeittaktung eine untergeordnete Rolle im Design von modernen IT-Infrastrukturen.


Was ist NTP genau?

NTP ist ein Standard zur Synchronisierung der Zeittaktung in Computersystemen mit externen hochpräzisen Zeitgebern und wurde 1985 von David L. Mills entwickelt, um eine zuverlässige, extern gespeiste Zeitsynchronisation über verschiedene IT-Geräte und Netzwerke zu ermöglichen. Im allgemeinen Sprachgebrauch bezeichnet NTP sowohl das Protokoll als auch die Software-Referenzimplementierung desselben.


Die Zeittaktung erfolgt über eine hierarchische Struktur von öffentlichen Servern, welche ihre Uhrzeiten untereinander abgleichen. Die höchste Ebene wird von präzisen Zeitquellen (Atomuhren, GPS-Receiver) gespeist. Zu den weiteren Zeitquellen gehören Server von Universitäten, staatlichen Einrichtungen, Firmen und Privatpersonen. Derzeit werden weit über 100.000 NTP-Knoten weltweit betrieben.

Da auch hier Abweichungen in der Zeittaktung auftreten können, insbesondere aufgrund Latenz oder Laufzeiten im Netz, wurden Algorithmen zur Abweichungskorrektur implementiert, die wir der Verständlichkeit halber hier nicht vertiefen. Wichtig ist jedoch zu verstehen, dass NTP nicht wie DNS funktioniert: es wird nicht der erste Server probiert, und der zweite nur bei Nicht-Verfügbarkeit des ersten, sondern eine durchschnittliche Zeit wird aus allen konfigurierten Servern gebildet. Für die Robustheit sind wenigstens vier möglichst unterschiedliche Quellen erforderlich.


Zur korrekten Umsetzung von NTP in einer komplexen IT-Infrastruktur muss definiert sein, wer die «richtige» Zeit vorgibt und wer sie übernimmt bzw. bei wem die Zeit auf die «richtige» Zeit zurückgeführt wird. NTP ist in der Regel in die internen Services integriert, meist als Teil des DNS und Domänencontroller-Designs. Vereinfachend lässt sich sagen, dass moderne Server heute unabhängig vom Betriebssystem alle Voraussetzungen für eine korrekte NTP-Integration bieten.


Erstaunlicherweise sind jedoch die Best Practices in der Zeit stehen geblieben und berücksichtigen Cloud und auch Virtualisierung nur unzureichend. Ein Studium des Microsoft Technet fördert widersprüchliche und unklare Empfehlungen zu Tage (beispielsweise virtualisierter Domänencontroller als Zeitquellen). Des weiteren wird die NTP-Empfehlung von wenigstens vier Zeitquellen in kaum einem Firmennetz heute umgesetzt, obwohl dies ohne weiteres möglich wäre, und viele Firmen vertrauen nur internen NTP-Servern und reduzieren damit die Robustheit massiv.


Was kann man im Rahmen eines Audits tun?

Für IT-Verantwortliche ist beim Design der firmeninternen IT-Infrastrukturen die Umsetzung der NTP-Referenz-Empfehlung sinnvoll. Worauf gilt es bei einer NTP-Implementierung zu achten, welche Stolperfallen sollten bzw. können vermieden werden? Wir haben nachfolgend für Verantwortliche und IT-Prüfer einige Aspekte beschrieben, wie man z.B. in einer Cloud-Infrastruktur einen Quick-Check durchführen und potenzielle Fehlerquellen identifizieren kann. Diese ist selbstredend nicht abschliessend und kann je nach Umfeld weitere Dimensionen aufweisen.


1. Architektur

Beurteilung der Umsetzung des NTP-Referenzdesigns in der Architektur und Validierung der Server-Client-Hierarchie für NTP


Bei fehlerhafter Server-Client-Struktur kann eine schnelle Propagation der falschen Systemzeit zu Domänen-Controllern und Clients die Folge sein, gerade wenn die NTP-Empfehlungen zu vier unabhängigen Quellen nicht umgesetzt sind. Das Durchspielen von Was-wäre-wenn-Szenarien zeigt mögliche Effekte auf.

2. Externe oder interne Zeitgeber

Wie erfolgt die Bereitstellung des Zeitsignals in die eigene Infrastruktur? Sind neben externen Quellen alternativ interne Zeitgeber angebunden? Die Verwendung z.B. eines physischen GPS-Receivers in der Infrastruktur als sichere Zeit-Quelle kann zusätzliche Sicherheit geben. Dadurch nimmt man zusätzliche Komplexität in der Infrastruktur in Kauf, macht sich auf der anderen Seite aber unabhängig von externen Zeitgebern.


3. Zuführung des externen Zeitsignals

Wie wird ein externes Zeitsignal in die IT-Infrastruktur geleitet? Die Zuführung eines externen Zeitsignals erfolgt standardmässig über den Port 123. Was passiert, wenn Port 123 auf Ebene des Netzwerks blockiert wird? Und was passiert, wenn der Upstream-Provider oder ein externer Angreifer den Port 123 blockiert?


4. Überprüfung der Hyper-V-Einstellungen

Der Virtualisierungslayer hat seine eigene Komplexität. Virtuelle Server nutzen eigene Regeln zur Ermittlung der richtigen Zeit, daher sollte der Zeitsynchronisation z.B. in Hyper-V und der Hyper-V Parametrisierung Aufmerksamkeit gewidmet werden. In der Standardkonfiguration wird allen virtuellen Servern die Hyper-V-Zeit aufgezwungen. Standardmässig findet sich folgende Rangfolge zur Ermittlung der Referenzzeit in der Konfigurationseinstellung bei Hyper-V:


  • Prüfung der Registry-Einträge (z.B. VMICTimeProvider) auf dem Host
  • Hyper-V Time Synchronization Einstellung in der Hyper-V-Konsole
  • NTP Registry-Einträge auf dem Client
  • NTP-Einstellung in den Client Systemeinstellungen
  • Uhrzeit aus der Domänen-Controller-Hierarchie
  • Hypervisor emulierte Uhr


Diese Einstellung entspricht zwar einer Microsoft’s Best Practice Empfehlung, ist jedoch z.B. für Service-Provider nicht empfohlen. Dies kann insbesondere bei der Bereitstellung einer Cloud-Infrastruktur von Service-Providern an Leistungsbezieher relevant sein, welche aus Log-Konsistenz-Gründen ihre eigenen NTP-Server verwenden wollen.


Im NTP-Kontext können sich virtualisierte Domänencontroller als fatal erweisen, da diese für alle an der Domäne angeschlossenen Maschinen die NTP-Quelle darstellen.


5. Vollständigkeit der Betriebshandbücher

Ist in den Betriebshandbüchern die Verwendung und der Einsatz von NTP beschrieben und geregelt? Steht den Mitarbeitern eine geeignete Information zum Service zur Verfügung?


6. Monitoring

Ist das Monitoring darauf ausgelegt, Zeitabweichungen, Fehlverhalten und Vorkommnisse zum NTP-Service zu erkennen und entspricht die Einstufung der Ereignisse der gestiegenen Bedeutung von NTP? Eine Einstufung von Zeitabweichungen oder korrelierter Effekte als Information / Warning entspricht nicht der Kritikalität des Services.


Auch wenn die aufgezeigten Elemente nicht für jede komplexe IT-Infrastruktur übernehmbar und vor allem (Disclaimer!) nicht vollständig sind, geben sie doch ein paar Hinweise, wie man eine schnelle Beurteilung der NTP-Konfiguration vornehmen kann. Mit der Beurteilung dieser Elemente bekommt man ein schnelles Feedback, ob die Implementierung den grundlegenden Anforderungen genügt oder ob ein Risiko besteht.


Insofern kann man auf dem nächsten Prüfplan möglicherweise auch das Thema Zeit aufnehmen und das Risiko von Ausfällen und die Auswirkungen beurteilen. Unser Bereich tech-driven Audits kann Sie gerne bei der Planung oder Durchführung von IT-Audits unterstützen.

Key-Takeaways

  • Komplexe IT-Infrastrukturen weisen eine kritische Abhängigkeit zur korrekten Zeitmessung auf
  • Abweichungen von der richtigen Zeit und Asynchronität können zu Störungen und Ausfällen führen
  • Eine Beurteilung der richtigen Zeitreferenz innerhalb einer IT-Infrastruktur ist für Internal Audit mit «Bordmitteln» möglich


Quellen:

  1. Wie man NTP richtig benutzt und warum das für die Security wichtig ist
  2. Zeitsynchronisation in Netzwerken
  3. TIME SYNCHRONIZATION IN HYPER-V
  4. Aktivieren des NTP-Clients auf einem Referenzhost im vSphere Client
  5. Funktionsweise des Windows-Zeitdiensts
  6. Zeitserver – willkommen in der Welt der präzisen Zeitinformation
Wir verwenden Cookies, um Ihnen ein optimales Nutzererlebnis zu bieten. Durch die weitere Nutzung unserer Webseite stimmen Sie der Verwendung von Cookies zu. Konsultieren Sie bitte unsere Datenschutzerklärung, falls Sie mehr darüber erfahren möchten.