NTP

Was ist NTP?

Stell dir vor, die Uhren aller Server in einem Rechenzentrum gehen unterschiedlich – einer ist 5 Minuten vor, ein anderer 3 Minuten nach. Log-Dateien wären unlesbar, Zertifikate würden als abgelaufen gelten, Kerberos-Authentifizierung würde fehlschlagen und Transaktionen könnten in falscher Reihenfolge erscheinen.

Das Network Time Protocol (NTP) löst dieses Problem: Es synchronisiert die Systemuhren aller Netzwerkgeräte auf eine gemeinsame Zeitquelle – mit einer Genauigkeit von wenigen Millisekunden.

Die NTP-Hierarchie – Stratum

NTP ist hierarchisch aufgebaut. Die Ebenen heißen Stratum:

Stratum 0:  Atomuhren, GPS-Empfänger, Funkuhren
            (keine Netzwerkgeräte – direkt angeschlossene Referenzuhren)
                │
Stratum 1:  NTP-Server direkt an Stratum-0-Quelle angeschlossen
            (z.B. ptbtime1.ptb.de – Physikalisch-Technische Bundesanstalt)
                │
Stratum 2:  Server die sich von Stratum-1-Servern synchronisieren
            (z.B. pool.ntp.org-Server)
                │
Stratum 3:  Interne Firmen-NTP-Server
                │
Stratum 4+: Clients und weitere Server
            (Desktops, Laptops, Smartphones)

Wie NTP funktioniert

Client                          NTP-Server
  │                               │
  │── NTP-Anfrage ───────────────▶│  t1: Absendezeitpunkt (Client)
  │                               │  t2: Empfangszeitpunkt (Server)
  │                               │  t3: Antwortzeitpunkt (Server)
  │◀── NTP-Antwort ──────────────│
  t4: Empfangszeitpunkt (Client)

Berechnung:
Offset = ((t2 - t1) + (t3 - t4)) / 2
Delay  =  (t4 - t1) - (t3 - t2)

→ Client passt seine Uhr um den berechneten Offset an

NTP-Konfiguration

Windows:
w32tm /query /status          → Aktuellen NTP-Status anzeigen
w32tm /query /peers           → Konfigurierte NTP-Server anzeigen
w32tm /resync                 → Sofortige Synchronisierung erzwingen

NTP-Server konfigurieren (Registrierung):
w32tm /config /manualpeerlist:"pool.ntp.org" /syncfromflags:manual /update

Linux (systemd-timesyncd):
timedatectl status            → Status anzeigen
timedatectl set-ntp true      → NTP aktivieren

/etc/systemd/timesyncd.conf:
[Time]
NTP=pool.ntp.org
FallbackNTP=time.cloudflare.com

Linux (ntpd):
ntpq -p                       → Peers und Status anzeigen
ntpstat                       → Synchronisierungsstatus

Öffentliche NTP-Server

Server

Betreiber

Besonderheit

pool.ntp.org

NTP Pool Project

Rund-Robin-Pool – empfohlen für allgemeine Nutzung

ptbtime1.ptb.de

PTB (Deutschland)

Stratum 1 – direkt an Atomuhr

time.cloudflare.com

Cloudflare

Unterstützt NTS (verschlüsseltes NTP)

time.google.com

Google

Leap-Smearing statt Schaltsekunde

time.windows.com

Microsoft

Standard bei Windows

Warum genaue Zeit so wichtig ist

Anwendungsfall

Konsequenz bei falscher Zeit

Kerberos-Authentifizierung

Scheitert bei > 5 Minuten Zeitunterschied

TLS-Zertifikate

Gelten als abgelaufen oder noch nicht gültig

Log-Analyse

Ereignisse können nicht korrekt zeitlich zugeordnet werden

Datenbank-Transaktionen

Falsche Reihenfolge, Inkonsistenzen

Backup-Systeme

Falsche Datums-Stempel, Backup-Rotation fehlerhaft

Forensik

Beweiskette bei Sicherheitsvorfällen unzuverlässig

NTP-Sicherheit

Problem

Beschreibung

Lösung

NTP-Amplification

Kleine NTP-Anfragen erzeugen große Antworten – für DDoS missbraucht

Monlist deaktivieren, Rate-Limiting

NTP-Spoofing

Gefälschte Zeitantworten um Zertifikate ungültig zu machen

NTS (Network Time Security)

Rogue NTP-Server

Angreifer betreibt eigenen NTP-Server um Zeit zu manipulieren

Feste NTP-Server konfigurieren, NTS

NTP-Port und Protokoll

Merkmal

Wert

Port

123 UDP

Protokoll

UDP (Geschwindigkeit wichtiger als Zuverlässigkeit)

Genauigkeit

Wenige Millisekunden im LAN, 10-100ms im Internet

Nachfolger

PTP (Precision Time Protocol) – Mikrosekunden-Genauigkeit

Verschlüsselte Version

NTS (Network Time Security) – Port 4460 TCP

Zusammenfassung

  • NTP synchronisiert Systemuhren im Netzwerk – Port 123 UDP

  • Die Hierarchie heißt Stratum – Stratum 0 sind Atomuhren, Stratum 1 direkt verbundene Server

  • NTP berechnet den Zeitversatz (Offset) und die Übertragungsverzögerung (Delay)

  • Falsche Systemzeit verursacht Fehler bei Kerberos, TLS, Logs und Datenbanken

  • pool.ntp.org ist der empfohlene öffentliche NTP-Pool

  • NTP-Amplification ist ein bekannter DDoS-Angriff

  • NTS (Network Time Security) verschlüsselt NTP-Kommunikation