Aktuell werden ntp Server angegriffen um diese zu einer „Reflection Attacke“ zu missbrauchen, daher haben wir ein kurzes Tutorial erstellt, das Ihnen helfen soll NTP reflection Attacken zu erkennen und zu verhindern.
Was ist eine NTP reflection Attacke?
Bei einer NTP reflection Attacke wird der Server dazu gebracht weitere Server im Internet mit NTP Paketen anzugreifen. Diese Angriffsart kann nur vorkommen, wenn Sie auf Ihrem Server einen NTP-Zeitserver zum Abgleich der Systemzeit nutzen.
Wie kann ich prüfen, ob mein Server von diesen Problem betroffen ist?
Unter Debian basierenden OS gibt es ein Programm Namens „ntpdc“. Damit führen Sie folgendes Kommando aus:
root@server:~/# ntpdc -n -c monlist 127.0.0.1
Darauf erhalten Sie vom Server entweder folgende Antwort:
root@server:~/# ntpdc -n -c monlist 127.0.0.1 ***Server reports data not found
In diesem Fall ist Ihr Server nicht angreifbar!
Sollten Sie eine Statistik wie folgende erhalten ist Ihr Server angreifbar:
remote address port local address count m ver rstr avgint lstint =============================================================================== 176.31.45.66 123 82.211.0.200 8 4 4 1d0 3 9 78.47.255.100 123 82.211.0.200 8 4 4 1d0 3 13 5.9.122.148 123 82.211.0.200 8 4 4 1d0 3 15 148.251.41.82 123 82.211.0.200 3 4 4 1d0 8 22
Was kann ich tun, wenn mein Server betroffen ist?
Zur Lösung des Problems fügen Sie bitte in Ihre /etc/ntp.conf als letzten Eintrag folgende Zeile ein:
disable monitor
anschließend mit dem Befehl
/etc/init.d/ntp restart
den NTP Service neustarten.
Anschließend führen Sie die Prüfung erneut durch. Die Liste sollte nun nicht mehr angezeigt werden.
Sollten Sie weitere Fragen zu dieser Vorgehensweise haben, stehen wir Ihnen gerne jederzeit zur Verfügung.
UPDATE
Scheinbar wird in manchen Fällen die IPMI Schnittstelle attackiert. Wir empfehlen daher bei IPMI die NTP Option komplett zu deaktivieren.
Dies ist über die IPMI Schnittstelle problemlos möglich:
Hallo IP-Projects, ist es nicht ausreichend das „monlist“ auf explizit erlaubte Hosts zu beschränken? Eine Ubuntu Server Standardinstallation des NTPD sieht dies meines Wissens sogar out-of-the-box vor:
[code]
# By default, exchange time with everybody, but don’t allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
[/code]
Das „noquery“ als default verhindert AFAIK den externen Aufruf von „monlist“, wobei der localhost explizit auf der whitelist steht.
Danke für den Hinweis und die Ergänzung des Beitrags. Das Problem ist hauptsächlich die Vielfalt verschiedener NTP Versionen im Netzwerk. Nicht alle Server sind Ubuntu Systeme oder weisen die selbe Versionierung auf wie bei Ubuntu. Bei IPMI hat man meist nicht die Möglichkeit auf die Shell zuzugreifen und Konfigurationen am NTP vorzunehmen.
Auch unter Debian Wheezy findet die Standard-Konfiguration, wie @Kunde sie beschrieben hat, statt.
Ob der eigene Server betroffen ist, kann man auch mit Hilfe des Open NTP Project herausfinden.
Hier zum Beispiel mal eine IP-Range des französischen Serveranbieters OVH.
Das hatten Sie mir ja glaube ich auch schon geschickt, darüber haben wir präventiv unsere IP-Ranges geprüft und die Kunden, dessen IP hier auffällig war informiert 🙂