Benutzer:Unicard-ic/OpenNTPD

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Unicard-ic/OpenNTPD
Basisdaten

Entwickler Das OpenBSD Projekt
Betriebssystem Multiplatform
Kategorie Network Time
Lizenz BSD-Lizenz, ISC-Lizenz
deutschsprachig nein
www.openntpd.org

OpenNTPD ist ein Unix-Systemdienst, der mit Hilfe des Network Time Protocol (NTP) die Uhr eines Computersysteme mit einer zuverlässigen und genauen entfernten Zeitquelle bzw. Zeitserver synchronisiert.

OpenNTPD wird als Teil des OpenBSD-Projektes von Henning Brauer[1] entwickelt. Die Designziele beinhalten, dass es sicher vor einem Exploit[2][3], einfach zu konfigurieren[4] und präzise genug für die meisten Zwecke ist, und mit Quelltext, der unter der BSD-Lizenz steht, weitergegeben werden kann.

Die portable Version für andere Betriebssysteme[5] wird, wie bei OpenSSH, als Unterprojekt gepflegt, der Quelltext mit den notwendigen Änderungen ergänzt und separat veröffentlicht. Die portable Version wird von Brent Cook gepflegt.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Die Entwicklung von OpenNTPD wurde durch eine Kombination von Problemen mit anderen NTP Diensten beeinflusst: schwierige Konfiguration, kompliziert, ungenügende Lizenzierung und schwer auditierbarer Quelltext[6]. OpenNTPD wurde entwickelt um diese Probleme zu lösen und Zeitsynchronisation für alle Benutzer verfügbar zu machen. Nach einiger Entwicklungszeit erschien OpenNTPD erstmals in OpenBSD 3.6.[7] Die erste Version wurde am 2. November 2004 veröffentlicht.[8]

Nach den im Jahr 2015 aufgedeckten Sicherheitslücken im NTP Protokoll, wurden als zusätzliche Absicherung "Constraints" in OpenNTPD implementiert.[9] Mit Hilfe des HTTPS Protokolls werden Zeitangaben auf Plausibilität überprüft, bzw. der SSL-Host verifiziert.[10]

Da in den vorhandenen Implementierungen eine Manipulation der Zeitstempel möglich wäre implementierten, die Entwickler als Lösung eine Kombination in der die Zeitstempel in HTTPs und ntp abgeglichen werden.[11]

Den vollen Umfang der Funktionalität wird durch die Nutzung von OpenBSD als Betriebssystem ermöglicht, sollte ein Linux als Plattform genutzt werden ist ein höherer Konfigurationsaufwand notwendig.[12]

Softwaredesign Ziele[Bearbeiten | Quelltext bearbeiten]

Die Ziele des Softwaredesigns von OpenNTPD lauten Sicherheit, einfache Handhabung und Leistung.[13] Die Ziele ergaben sich daraus, dass die vorhandene Software xntpd unter einer "fragwürdigen" Lizenz läuft, ein sehr großes Softwarepaket, komplex in der Konfiguration ist und mit den root-Rechten ausgeführt wird.[14]

Ein sehr gutes Beispiel für eine NTP-basierte DDoS der ursprüngliche ntpd-Software von ntp.org, enthielt bis zur Version 4.2.7p26 einen Software Fehler, in welcher der den Befehl monlist (MON_GETLIST) missbrauchen konnte.[15][16] OpenNTPD enthält diese Funktion nicht und war deshalb sicher.[17]

Einschränkungen[Bearbeiten | Quelltext bearbeiten]

  • keine Genauigkeit im Mikrosekundenbereich
  • nur Unicast Kommunikation
  • Unterstützt keine NTP Authentifizierung
  • Unterstützt nicht alle Referenz Uhren (DCF77- Funkuhren am Computer selbst)[18]

Plattformen[Bearbeiten | Quelltext bearbeiten]

OpenNTPD wird zur Zeit für folgende Plattformen angeboten:

folgende Systemaufrufe sind Voraussetzungen auf der jeweiligen Plattform:

  • adjtime und settimeofday Systemaufrufe oder ähnliche
  • adjfreq oder ähnlich mit gleicher Funktionalität
  • daemon, setresgid, setresuid oder ähnlich
  • arc4random oder getentropy

Die Original Version ist Teil des OpenBSD Betriebssystem. Auf github wird die Protable Version angeboten, diese lässt sich unter anderen Betriebssystemen anpassen und kompilieren.[22]

Unterstützte Hardware Uhren[Bearbeiten | Quelltext bearbeiten]

  • GPS Chips in USB Mäusen
  • PCI z.B. von Meinberg [23]
  • Seriell wenn ein Treiber vorhanden ist

Beispiel unter OpenBSD[Bearbeiten | Quelltext bearbeiten]

Konfigurationsdatei:[24]

# $OpenBSD: ntpd.conf,v 1.3 2015/05/18 11:10:03 dtucker Exp $
# sample ntpd configuration file, see ntpd.conf(5)

# Addresses to listen on (ntpd does not listen by default)
#listen on *

# sync to a single server
#server ntp.example.org

# use a random selection of NTP Pool Time Servers
# see http://support.ntp.org/bin/view/Servers/NTPPoolServers
servers pool.ntp.org

# use a specific local timedelta sensor (radio clock, etc)
#sensor nmea0

# use all detected timedelta sensors
#sensor *

# get the time constraint from a well-known HTTPS site
#constraints from "https://www.google.com/"


Statusabfrage:

# ntpctl -s all
3/3 peers valid, constraint offset -1s, clock synced, stratum 3

peer
   wt tl st  next  poll          offset       delay      jitter
108.61.73.243 1.time.constant.com
    1 10  2  703s 1537s        -1.337ms    85.136ms     1.136ms
108.61.73.244 2.time.constant.com
    1 10  2 1394s 1509s         2.272ms    85.766ms     0.164ms
108.61.56.35 3.time.constant.com
 *  1 10  2 1085s 1598s         0.033ms    87.584ms     0.115ms

Ausgabe in /var/log/daemon:

ntpd[12626]: ntp engine ready
ntpd[12626]: constraint reply from 2a00:1450:4001:80b::2004: offset 0.381403
ntpd[12626]: constraint reply from 172.217.18.164: offset 0.340371
ntpd[12626]: cancel settime because offset is negative or close enough
ntpd[12626]: peer 108.61.73.243 now valid
ntpd[12626]: peer 108.61.56.35 now valid
ntpd[12626]: peer 108.61.73.244 now valid

Weblinks[Bearbeiten | Quelltext bearbeiten]

Bücher[Bearbeiten | Quelltext bearbeiten]

  • OpenNTPD [25]
  • Absolute OpenBSD, 2nd Edition: UNIX for the Practical Paranoid von Michael W. Lucas[26]
  • Büchersuche von Google[1]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Theo de Raadt: OpenBSD dev - tech. In: openbsd-archive.7691.n7.nabble.com. 22. Dezember 2004, abgerufen am 8. Januar 2016.
  2. Steven J. Vaughan-Nichols: ​Serious NTP security holes have appeared and are being exploited | ZDNet. In: ZDNet. Abgerufen am 27. Juli 2016.
  3. Four Flaws Expose Critical Network Time-Keeping Servers to Attack. Abgerufen am 27. Juli 2016.
  4. Open NTPD zur Zeitsynchronisation nutzen. 19. Juni 2008, abgerufen am 27. Juli 2016 (deutsch).
  5. Portable OpenNTPD. In: openntpd.com.
  6. The OpenNTPD Project: OpenNTPD Goals. In: The OpenNTPD Project. 22. Dezember 2004, abgerufen am 4. November 2015.
  7. The OpenBSD Project: OpenBSD 3.6. In: The OpenBSD Project. 1. November 2004, abgerufen am 4. November 2015.
  8. Henning Brauer: OpenNTPD 3.6 released. In: MARC. 2. November 2004, abgerufen am 4. November 2015.
  9. Sichere Uhrzeit mit NTP und HTTPS. In: golem.de.
  10. heise online: OpenBSD 6.0: Das letzte Mal auf CD. Abgerufen am 3. Dezember 2019.
  11. Network Time Security: Sichere Uhrzeit übers Netz - Golem.de. Abgerufen am 1. Dezember 2019 (deutsch).
  12. Tobias Eggendorfer: Open SMTPD macht die Mailserver-Konfiguration leicht - Seite 6 von 7. In: Linux-Magazin. Abgerufen am 4. Dezember 2019 (deutsch).
  13. Henning Brauer: OpenNTPD Design Goals. In: The OpenBSD Project. September 2004, abgerufen am 17. Dezember 2015.
  14. Henning Brauer: OpenNTPD Why? In: The OpenBSD Project. September 2004, abgerufen am 17. Dezember 2015.
  15. Understanding and mitigating NTP-based DDoS attacks. 9. Januar 2014, abgerufen am 27. Dezember 2019 (englisch).
  16. What is NTP Amplification | DDoS Attack Glossary | Imperva. In: Learning Center. Abgerufen am 27. Dezember 2019 (amerikanisches Englisch).
  17. 8 Arten von DDoS-Angriffen. 9. September 2019, abgerufen am 27. Dezember 2019 (koreanisch).
  18. ntp.org: OpenNTPD < Support < NTP. In: Network Time Protocol. Februar 2008, abgerufen am 17. Dezember 2015.
  19. Vincent Danen: Use OpenNTPD for time synchronization. In: techrepublic. 7. Januar 2008, abgerufen am 24. Juli 2016.
  20. OpenNTPD - ArchWiki. Abgerufen am 1. Dezember 2019.
  21. Enabling OpenNTPD [Book]. (safaribooksonline.com [abgerufen am 28. Juli 2016]).
  22. OpenBSD Projekt: Portable OpenNTPD. In: The OpenNTPD Project. Abgerufen am 17. Dezember 2015.
  23. Marc Balmer: Portable OpenNTPD. In: The OpenNTPD Project. 14. September 2007, abgerufen am 4. Januar 2016.
  24. Charly Kühnast: Aus dem Alltag eines Sysadmin: OpenNTPD » Linux-Magazin. In: Linux-Magazin. Abgerufen am 27. Juli 2016.
  25. Ronald Cohn, Jesse Russel: OpenNTPD. VSD, 1. Januar 2012.
  26. Michael W. Lucas: Absolute OpenBSD, 2nd Edition: UNIX for the Practical Paranoid. 2. Auflage. No Starch Press, 2013, ISBN 978-1-59327-476-4, S. 536.

{{SORTIERUNG:Openntpd}} [[Kategorie:Freie Systemsoftware]] [[Kategorie:Unix-Software]] [[Kategorie:BSD-Software]] [[Kategorie:OpenBSD]] [[Kategorie:Netzwerk-Zeitübertragung]]