[[start|zurück]]
====== NTP – Network Time Protocol ======
NTP (**N**etwork **T**ime **P**rotocol) ist ein Protokoll,
mit dem Geräte ihre Uhrzeit exakt und automatisch synchronisieren.
Genaue Zeit ist entscheidend für Sicherheit, Logs, Zertifikate und Netzwerkdienste.
===== Warum ist Zeit so wichtig in der IT? ======
* Log-Dateien müssen zeitlich übereinstimmen
* Zertifikate sind zeitabhängig (Gültigkeitsfenster)
* Kerberos-Authentifizierung scheitert bei >5 Minuten Abweichung
* Cluster und Datenbanken benötigen gleiche Zeit
* NAC-, Firewall- und IDS-Ereignisse müssen korrekt geordnet werden
Beispiel:
Ein Server geht 7 Minuten falsch → Kerberos-Login schlägt fehl → Nutzer kann sich nicht anmelden.
===== Wie funktioniert NTP? ======
NTP arbeitet nach einem hierarchischen System aus Zeitservern,
in sogenannten **Stratum-Ebenen**.
===== Stratum-Level ======
* **Stratum 0** – Zeitreferenz
* Atomuhren
* GPS-Empfänger
* Funkuhren
* **Stratum 1** – direkt mit Stratum 0 verbunden
* professionelle Zeitserver
* sehr hohe Genauigkeit
* **Stratum 2** – synchronisieren sich mit Stratum 1
* **Stratum 3+** – weitere Ebenen nach unten
ASCII-Übersicht:
[Stratum 0] → [Stratum 1] → [Stratum 2] → [Stratum 3…]
Atomuhren Zeitserver Unternehmensserver
===== Ports & Protokolle ======
* Port: **123/UDP**
* arbeitet auf Layer 7
* kleiner, schneller Austausch von Zeitstempeln
===== NTP vs SNTP ======
| Protokoll | Bedeutung | Genauigkeit | Einsatz |
|-----------|------------|-------------|---------|
| **NTP** | vollwertiges Protokoll | hoch | Server, Schlüsselsysteme |
| **SNTP** | vereinfachtes NTP | mittel | IoT-Geräte, Drucker |
===== Zeitberechnung in NTP ======
NTP berechnet:
* Laufzeit der Pakete (Delay)
* Zeitunterschied zwischen Server & Client (Offset)
* Schwankungen (Jitter)
Damit kann sich ein Client millisekundengenau einstellen.
===== Öffentliche NTP-Server ======
Bekannte Pools:
pool.ntp.org
de.pool.ntp.org
europe.pool.ntp.org
Google Public NTP:
time.google.com
Deutsche Forschungsinstitute:
ptbtime1.ptb.de
ptbtime2.ptb.de
ptbtime3.ptb.de
===== NTP in Unternehmen ======
Empfohlene Struktur:
Internet-NTP → Unternehmens-NTP → alle Server → alle Clients
Warum nicht alle Clients nach außen?
* unnötige Last
* weniger Abhängigkeit
* Sicherheit
===== Konfiguration auf Linux ======
==== Chrony (modern) ====
Chrony ist heute Standard auf vielen Distributionen (z. B. Debian, RHEL, Ubuntu):
Konfigurationsdatei:
/etc/chrony/chrony.conf
Beispiel:
server de.pool.ntp.org iburst
server 0.pool.ntp.org iburst
allow 192.168.0.0/16
local stratum 10
Status prüfen:
chronyc sources -v
chronyc tracking
==== NTPD (älter) ====
ntpq -p
===== Konfiguration auf Windows ======
Aktuellen Zeitserver anzeigen:
w32tm /query /status
Setzen eines NTP-Servers:
w32tm /config /manualpeerlist:"time.windows.com" /syncfromflags:manual /update
===== NTP-Sicherheit ======
Probleme:
* Manipulation der Zeit → gefährlich für Logins & Zertifikate
* Reflection-Angriffe (NTP Amplification)
Schutzmaßnahmen:
* nur vertrauenswürdige Server verwenden
* eingehende NTP-Pakete blockieren
* internen NTP-Server nutzen
* NTP-Rate-Limits aktivieren
===== Warum driftet Zeit überhaupt? ======
Uhren in Computern basieren auf Quarzen.
Temperatur, Spannung und Alter lassen sie langsam vor-/nachgehen.
NTP korrigiert diese Abweichungen automatisch.
===== Prüfung der Zeitabweichung ======
Linux:
timedatectl
Windows:
w32tm /stripchart /computer:TIME.SERVER
===== Zusammenfassung ======
* NTP synchronisiert Uhrzeiten im Netzwerk
* Stratum-Hierarchie: 0 → 1 → 2 usw.
* Port 123/UDP
* unverzichtbar für Sicherheit, Authentifizierung und Logs
* Chrony ist moderner Standard
* Unternehmen nutzen interne NTP-Server für Zuverlässigkeit