Deaktivieren von NTP unter OS X Lion oder älter

9

Nach einer neuen Sicherheitslücke im Softwarepaket Network Time Protocol hat Apple ein Software-Update für Mountain Lion und neuere Versionen von OS X bereitgestellt.

Wie üblich werden die älteren Versionen von OS X, an denen man möglicherweise festhält (weil die Hardware neuere Versionen nicht unterstützt, weil man Rosetta benötigt,…), nicht vom Sicherheitsupdate abgedeckt.

Meine Fragen sind:

  • Reicht das Deaktivieren von "Datum und Uhrzeit automatisch einstellen" in den Softwareeinstellungen aus, um sicherzustellen, dass ntpd nicht ausgeführt wird?

  • Was könnte kaputt gehen, wenn die ntdp-Binärdatei aus Sicherheitsgründen unter OS X Snow Leopard oder Lion einfach gelöscht würde?

Im Zweifel könnte ich diese Anweisungen verwenden , um den Umfang von ntpd einzuschränken, ohne es vollständig zu deaktivieren / löschen, aber in diesem Fall besteht weiterhin das Risiko, dass es falsch läuft und ntpd offen bleibt.

Pascal Cuoq
quelle
Bitte melden Sie Apple diesen Mangel an Sicherheitsupdates für Versionen, die Kunden noch verwenden. → apple.com/feedback/macosx.html . Sie haben noch keinen securityFeedback-Eintrag :(.
Dan
1
@ DanielAzuelos Ich ging so weit, einen Blog-Beitrag zu schreiben: blog.frama-c.com/index.php?post/2013/01/01/…
Pascal Cuoq
1
@PascalCuoq offtopic: Sie könnten wieder zu beleben , dass iMac es mit der Umwandlung mit NUC Hackintosh) - google.com.ua/... Dachte , ich weiß nicht , ob 17" . Der Mühe wert , doch 20" definitiv tut
iskra

Antworten:

7

Reicht das Deaktivieren von "Datum und Uhrzeit automatisch einstellen" in den Softwareeinstellungen aus, um sicherzustellen, dass ntpd nicht ausgeführt wird?

Ja .

Hier ist der Weg, sich davon zu versichern. Öffnen Sie ein Terminaloder xtermFenster.

Führen Sie den folgenden Befehl aus:

ps ax | grep ntp

und beachten Sie, dass ein ntpdProzess ausgeführt wird.

Öffnen System Preferencesund ausschaltenSet date and time automatically:

Überprüfen Sie mit dem psobigen Befehl, ob kein ntpdProzess ausgeführt wird.


Entfernen Sie die ntpdBinärdatei nicht, dies ist nicht erforderlich und würde Ihnen die Möglichkeit nehmen, einen Fix von Apple zu nutzen :).


Im Zweifelsfall könnte ich diese Anweisungen verwenden, um den Umfang einzuschränken

Nein .

Dieses Rezept lässt Sie laufen ntpdund ist daher einem Angriff ausgesetzt.

Dan
quelle
1
Aus irgendeinem Grund hat das Deaktivieren von "Datum und Uhrzeit automatisch einstellen" den ntpd-Prozess für mich nicht beendet. Ich musste laufen:sudo launchctl unload /System/Library/LaunchDaemons/org.ntp.ntpd.plist
user12719
2
Der Befehl, den Sie verwendet haben, ist genau das, was die GUI von System Preferencestut. Wenn Sie es verwenden, sollten Sie mit einem überprüfen, tail -f /var/log/system.logwas in Ihrem möglicherweise falsch läuft System Preferences. Um dieses Problem zu untersuchen, empfehle ich Ihnen, eine weitere Frage zu stellen.
Dan
8

Anstatt ntpd zu deaktivieren, sollten Sie die Quelle für Version 4.2.8 von ntp herunterladen und selbst kompilieren. Alles was Sie brauchen ist Xcode für Lion / SnowLeo. Es sollte unter 10.6.x und 10.7.x funktionieren.

Ich habe meine 10.10-Installation sofort nach Veröffentlichung des CVE und Veröffentlichung des Quellcodes aktualisiert und nicht auf Apple gewartet, um das Update zu veröffentlichen.

Laden Sie zum Kompilieren von ntpd die Quelle von ntp.org herunter und wenden Sie den Patch für OS X / FreeBSD an. Nach dem Anwenden dieses Patches können Sie einfach "./configure && make" ausführen. Anschließend können Sie die Binärdateien in die entsprechenden Verzeichnisse (/ usr / sbin / und / usr / bin /) kopieren.

Für Mac OS X 10.7 (Lion):

mkdir ntpd-fix
cd ntpd-fix
curl http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8.tar.gz | tar zxf -
cd ntp-4.2.8/ntpd
curl http://bugs.ntp.org/attachment.cgi?id=1165 | patch -p1
cd ..
./configure && make

Hier ist die Liste der Dateien und Ordner, zu denen sie gehören, die aus der obigen Quelle erstellt werden. Nach der Kompilierung befinden sich alle diese Dateien in verschiedenen Unterordnern.

/usr/bin/sntp  
/usr/bin/ntp-keygen  
/usr/bin/ntpq  
/usr/sbin/ntpdc  
/usr/sbin/ntpdate  
/usr/sbin/ntpd

Benennen Sie alte mit etwas um wie:

sudo mv /usr/sbin/ntpd /usr/sbin/ntpd.old

und verschieben Sie dann die neue. Stellen Sie sicher, dass Sie die Dateien nach dem Verschieben in die richtige Position bringen:

sudo chown root:wheel /usr/sbin/ntpd

Hinweis : Ich habe es nicht verwendet, sudo make installweil ich dem Makefile nicht vertraut habe (ich war mir nicht sicher, ob es Dateien in denselben Ordnern ablegen würde, in denen Apple sie ursprünglich abgelegt hat, und wollte sicherstellen, dass sie sich immer noch an derselben Stelle wie alt befinden Einsen). Das manuelle Verschieben von 6 Dateien ist kein großes Problem. Die restlichen Dateien (Manpages, HTML-Seiten usw. sind identisch, sodass Sie diese nicht verschieben müssen.)

MelB
quelle
Bitte fügen Sie hinzu, welche Dateien kopiert werden müssen und wohin
klanomath
@klanomath Ich habe gerade meinen Kommentar mit mehr Infos bearbeitet. Lassen Sie mich wissen, wenn Sie auf Probleme stoßen.
MelB
Ich habe den Rest und 10 Punkte hinzugefügt
;-)
was ist mit ntpsnmpd?
Klanomath
1
Für diejenigen, die keinen manuellen Austausch durchführen möchten, sollte es ausreichen, ./configure --prefix='/usr'als ersten Schritt auszuführen und dann fortzufahren make ; sudo make install.
Trane Francks
1
  1. Ich habe mich nicht im Detail mit der Dokumentation des Verstoßes befasst. Normalerweise stellt ntp regelmäßig Abfragen an Server, um eine Korrektur zu erhalten. Sobald die Drift der lokalen Uhr hergestellt ist, sind diese Abfragen nicht mehr häufig.

  2. Die meisten Firewalls sind so konfiguriert, dass Anforderungspakete von außen ignoriert werden. Ntp Ich denke, verwendet UDP, das nominell zustandslos ist. In der Regel lässt eine Firewall ein UDP-Paket für ein kleines Zeitfenster zurück, nachdem ein UDP-Paket ausgegangen ist. Das Rückpaket muss von der richtigen IP stammen und den richtigen Port haben. Ein schwarzer Hut müsste entweder Ihren DNS-Server oder Ihren NTP-Server untergraben.

Würde jemand erklären, wie diese Bedrohung tatsächlich ins Spiel kommt, vorausgesetzt, die Person gibt pool.ntp.org nicht als ihren NTP-Server an?


Möglichkeiten, dies zu umgehen:

  1. Build from source - oben.
  2. Verwenden Sie Mac-Ports. Dies macht die Installation ziemlich schmerzlos, obwohl der anfängliche Bau viel Zeit und ein gutes Stück Platz in Anspruch nehmen wird. Weitere Informationen https://www.macports.org/

Sie können Fink oder Homebrew auch auf diese Weise verwenden, aber MacPorts scheint weniger von Apple OS abhängig zu sein. Auf lange Sicht wird bei einem älteren System vermutlich weniger Schmerzen auftreten.

  1. Konfigurieren Sie einen nicht anfälligen Computer als lokalen NTP-Server. Zeigen Sie anfällige Computer auf den NTP-Server. Blockieren Sie an Ihrer Firewall sowohl ausgehende als auch eingehende für ntp für alle außer dem ntpserver-Computer. Als ich ein lokales Schulnetzwerk betrieb, hatte ich einen Computer (freebsd), auf dem eine Reihe von Netzwerkdiensten ausgeführt wurden, einschließlich ntp. Es würde dann alle 64 Sekunden ein einzelnes NTP-Paket senden.
Sherwood Botsford
quelle