Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Installation und Konfiguration von NTP

profile picture
Author
Hetzner Online
Published
2019-03-08
Time to read
3 minutes reading time

Einführung

Das NTP (Network Time Protocol) ist dazu da, um die Zeit auf einem Server mit einem zentralen Zeitserver abzugleichen. In den Hetzner Standardimages ist dies bereits vorkonfiguriert. Hierbei werden die Hetzner NTP Server genutzt.

Schritt 1 - NTP installieren

Bei einer individuellen Installation ist dies nicht der Fall. Hier muß als erstes der NTP Daemon installiert werden. Dieser ist bei den einzelnen Distributionen schon als Paket vorhanden und kann ganz einfach installiert werden.

Debian:

debian root # apt-get install ntp

Gentoo:

emerge ntp

OpenSuSE:

zypper install ntp

Schritt 2 - Den NTP Daemon konfigurieren

Seit Januar 2010 bietet Hetzner drei Zeit-Server mit dem NTP-Protokoll an. Diese sind an drei unterschiedlichen Standorten untergebracht und haben folgende Adressen:

  • ntp1.hetzner.de
  • ntp2.hetzner.com
  • ntp3.hetzner.net

Um diese Zeit-Server unter Linux zu verwenden, muss der ntpd entsprechend konfiguriert werden. Bei Debian Linux sind beispielsweise folgende drei Zeilen in die Datei /etc/ntp.conf einzufügen bzw. die bestehenden mit serverbeginnenden Zeilen zu ersetzen:

server  ntp1.hetzner.de  iburst
server  ntp2.hetzner.com iburst
server  ntp3.hetzner.net iburst

Optional können weitere öffentliche Server hinzugefügt werden:

server 0.de.pool.ntp.org
server 1.de.pool.ntp.org
server 2.de.pool.ntp.org
server 3.de.pool.ntp.org

Hier wird bei jedem Start des NTP Dienstes ein beliebiger deutscher Server ausgenutzt. Dies stellt sicher, daß die Anfragen über viele Server verteilt werden und erhöht gleichzeitig die Zuverlässigkeit.

Abschliessend muss der ntpd neu gestartet werden.

Schritt 3 - Absicherung

Da NTP ein UDP-basiertes Protokoll ist, kann es leicht für DDoS-Angriffe missbraucht werden. Da bei falscher Konfiguration die Antwort größer als die Anfrage ausfällt, wird so ein Angriff verstärkt.

Falls möglich, sollte auf die Version 4.2.7p26 oder höher aktualisiert werden. Andernfalls können mittels noquery alle Statusabfragen unterbunden werden.

Eine entsprechende Konfiguration, welche nur die Hetzner NTP Server nutzt, könnte wie folgt aussehen:

restrict    default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

restrict    127.0.0.1
restrict -6 ::1

server ntp1.hetzner.de iburst
server ntp2.hetzner.de iburst
server ntp3.hetzner.de iburst

Bei dieser Konfiguration sind Veränderungen und Statusabfragen nur noch lokal möglich. Zeitinformationen können mit und von jeder IP aus abgerufen werden.

Alternativ ist es möglich alle Anfragen blockieren und Zeitinformationen nur mit explizit erlaubten Zeitservern auszutauschen. Folgendes Beispiel erlaubt nur den Austausch von Zeitinformationen mit den Hetzner NTP Servern

restrict    default ignore
restrict -6 default ignore

restrict    127.0.0.1
restrict -6 ::1

server ntp1.hetzner.de iburst
restrict    213.239.239.164 nomodify notrap nopeer noquery
restrict -6 2a01:4f8:0:a0a1::2:1 nomodify notrap nopeer noquery

server ntp2.hetzner.de iburst
restrict    213.239.239.165 nomodify notrap nopeer noquery
restrict -6 2a01:4f8:0:a101::2:3 nomodify notrap nopeer noquery

server ntp3.hetzner.de iburst
restrict    213.239.239.166 nomodify notrap nopeer noquery
restrict -6 2a01:4f8:0:a112::2:2 nomodify notrap nopeer noquery

Schritt 4 - Mit NTP die Zeit manuell synchronisieren

Es kann notwendig sein, dass man einmal nachdem man den NTP Server installiert hat, die Zeit manuell synchronisiert. Dies geht entweder mit ntpd oder mit ntpdate (muss bei Debian Sarge zusätzlich installiert werden):

ntpd -q -g

Die Option -g bedeutet, dass ntpd auch synchronisiert, wenn die Zeit mehr als 1000 Sekunden abweicht. Die Option -q bedeutet, dass ntpd nur einmal ausgeführt wird.

ntpdate NTP-Server
ntpdate ptbtime1.ptb.de

Schritt 5 - Uhrzeit in Hardwareuhr schreiben

Dann sollte man noch mit

hwclock --systohc

die Uhr in die Hardwareclock schreiben, denn sonst kommt der Server eventuell nach einem Boot mit einer völlig falschen Zeit hoch.

Fazit

Nun sollte ihr Server auch bei einer individuellen Konfiguration die Zeit abgesichert mit einem Server ablgleichen.

Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue

Discover our

Dedicated Servers

Configure your dream server. Top performance with an excellent connection at an unbeatable price!

Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more