Benutzer:Unicard-ic/OpenNTPD
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]- Offizielle OpenNTPD-Website
- Präsentation von Henning Brauer auf der SUCON 04 (englisch)
- Präsentation von Henning Brauer auf der OpenCon 2004 (englisch)
- Konfiguration für archlinux (englisch)
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]- ↑ Theo de Raadt: OpenBSD dev - tech. In: openbsd-archive.7691.n7.nabble.com. 22. Dezember 2004, abgerufen am 8. Januar 2016.
- ↑ Steven J. Vaughan-Nichols: Serious NTP security holes have appeared and are being exploited | ZDNet. In: ZDNet. Abgerufen am 27. Juli 2016.
- ↑ Four Flaws Expose Critical Network Time-Keeping Servers to Attack. Abgerufen am 27. Juli 2016.
- ↑ Open NTPD zur Zeitsynchronisation nutzen. 19. Juni 2008, abgerufen am 27. Juli 2016 (deutsch).
- ↑ Portable OpenNTPD. In: openntpd.com.
- ↑ The OpenNTPD Project: OpenNTPD Goals. In: The OpenNTPD Project. 22. Dezember 2004, abgerufen am 4. November 2015.
- ↑ The OpenBSD Project: OpenBSD 3.6. In: The OpenBSD Project. 1. November 2004, abgerufen am 4. November 2015.
- ↑ Henning Brauer: OpenNTPD 3.6 released. In: MARC. 2. November 2004, abgerufen am 4. November 2015.
- ↑ Sichere Uhrzeit mit NTP und HTTPS. In: golem.de.
- ↑ heise online: OpenBSD 6.0: Das letzte Mal auf CD. Abgerufen am 3. Dezember 2019.
- ↑ Network Time Security: Sichere Uhrzeit übers Netz - Golem.de. Abgerufen am 1. Dezember 2019 (deutsch).
- ↑ Tobias Eggendorfer: Open SMTPD macht die Mailserver-Konfiguration leicht - Seite 6 von 7. In: Linux-Magazin. Abgerufen am 4. Dezember 2019 (deutsch).
- ↑ Henning Brauer: OpenNTPD Design Goals. In: The OpenBSD Project. September 2004, abgerufen am 17. Dezember 2015.
- ↑ Henning Brauer: OpenNTPD Why? In: The OpenBSD Project. September 2004, abgerufen am 17. Dezember 2015.
- ↑ Understanding and mitigating NTP-based DDoS attacks. 9. Januar 2014, abgerufen am 27. Dezember 2019 (englisch).
- ↑ What is NTP Amplification | DDoS Attack Glossary | Imperva. In: Learning Center. Abgerufen am 27. Dezember 2019 (amerikanisches Englisch).
- ↑ 8 Arten von DDoS-Angriffen. 9. September 2019, abgerufen am 27. Dezember 2019 (koreanisch).
- ↑ ntp.org: OpenNTPD < Support < NTP. In: Network Time Protocol. Februar 2008, abgerufen am 17. Dezember 2015.
- ↑ Vincent Danen: Use OpenNTPD for time synchronization. In: techrepublic. 7. Januar 2008, abgerufen am 24. Juli 2016.
- ↑ OpenNTPD - ArchWiki. Abgerufen am 1. Dezember 2019.
- ↑ Enabling OpenNTPD [Book]. (safaribooksonline.com [abgerufen am 28. Juli 2016]).
- ↑ OpenBSD Projekt: Portable OpenNTPD. In: The OpenNTPD Project. Abgerufen am 17. Dezember 2015.
- ↑ Marc Balmer: Portable OpenNTPD. In: The OpenNTPD Project. 14. September 2007, abgerufen am 4. Januar 2016.
- ↑ Charly Kühnast: Aus dem Alltag eines Sysadmin: OpenNTPD » Linux-Magazin. In: Linux-Magazin. Abgerufen am 27. Juli 2016.
- ↑ Ronald Cohn, Jesse Russel: OpenNTPD. VSD, 1. Januar 2012.
- ↑ 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]]