Wyłączanie NTP w systemie OS X Lion lub starszym

9

Po nowej luce w zabezpieczeniach pakietu oprogramowania Network Time Protocol firma Apple dostarczyła aktualizację oprogramowania dla Mountain Lion i nowszych wersji OS X.

Jak zwykle starsze wersje OS X, z którymi można się utknąć (ponieważ sprzęt nie obsługuje nowszych wersji, ponieważ potrzebna jest Rosetta, ...) nie są objęte aktualizacją zabezpieczeń.

Moje pytania to:

  • czy wyłączenie „ustaw datę i czas automatycznie” w Preferencjach oprogramowania wystarcza, aby upewnić się, że ntpd nie działa?

  • co może się zepsuć, jeśli plik binarny ntdp został po prostu usunięty dla bezpieczeństwa w systemie OS X Snow Leopard lub Lion?

Wątpię, czy mógłbym użyć tych instrukcji, aby ograniczyć zakres ntpd bez całkowitego wyłączenia / usunięcia go, ale w tym przypadku istnieje ryzyko, że popełnisz błąd i wystawisz ntpd na działanie.

Pascal Cuoq
źródło
Proszę zgłosić ten brak poprawki bezpieczeństwa wersji, których klienci nadal używają, do Apple. → apple.com/feedback/macosx.html . Nie mają securityjeszcze wpisu opinii :(.
dan
1
@ Daniel Danielz Poszedłem tak daleko, jak pisanie posta na blogu: blog.frama-c.com/index.php?post/2013/01/01/…
Pascal Cuoq
1
@PascalCuoq offtopic: Możesz ożywić tego iMaca, przekształcając go w hackintosha z NUC) - google.com.ua/… Myślałem, że nie wiem, czy 17 "jest warte kłopotu. Jednak 20" zdecydowanie robi
iskra

Odpowiedzi:

7

czy wyłączenie „ustaw datę i czas automatycznie” w Preferencjach oprogramowania wystarcza, aby upewnić się, że ntpd nie działa?

Tak .

Oto sposób na zapewnienie sobie tego. Otwórz okno Terminallub xterm.

Uruchom następujące polecenie:

ps ax | grep ntp

i zauważ, że masz ntpduruchomiony proces.

Otwórz System Preferencesi wyłączSet date and time automatically:

Sprawdź za pomocą pspowyższego polecenia, czy nie masz ntpduruchomionego żadnego procesu.


Nie usuwaj ntpdpliku binarnego, nie jest to konieczne i pozbawiłoby Cię możliwości skorzystania z poprawki od Apple :).


Wątpię, czy mógłbym skorzystać z tych instrukcji, aby ograniczyć zakres

Nie .

Ta recepta sprawi, że będziesz biegał, ntpda zatem narażony na atak.

dan
źródło
1
Z jakiegoś powodu odznaczenie opcji „ustaw datę i godzinę automatycznie” nie zabiło dla mnie procesu ntpd. Musiałem uruchomić:sudo launchctl unload /System/Library/LaunchDaemons/org.ntp.ntpd.plist
użytkownik12719,
2
Użyte polecenie jest dokładnie tym, co System Preferencesrobi GUI . Korzystając z niego, powinieneś sprawdzić, tail -f /var/log/system.logco może pójść nie tak w twoim System Preferences. Aby zbadać ten problem, radzę zadać kolejne pytanie.
dn
8

Zamiast wyłączać ntpd, powinieneś pobrać źródło dla wersji 4.2.8 ntp i sam je skompilować. Wszystko czego potrzebujesz to Xcode dla Lion / SnowLeo. Powinien działać dobrze w wersjach 10.6.xi 10.7.x.

Zaktualizowałem moją instalację 10.10 natychmiast po upublicznieniu CVE i wydaniu kodu źródłowego, i nie czekałem na Apple, aby opublikować aktualizację.

Aby skompilować ntpd, pobierz źródło ze strony ntp.org i zastosuj łatkę dla OS X / FreeBSD. Po zastosowaniu tej poprawki będziesz mógł uruchomić „./configure && make”. Następnie możesz skopiować pliki binarne do odpowiednich katalogów (/ usr / sbin / i / usr / bin /).

W systemie 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

Oto lista plików i folderów, do których należą, które zostaną utworzone ze źródła powyżej. Po kompilacji wszystkie te pliki będą w różnych podfolderach.

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

Zmień nazwę starych, używając czegoś takiego:

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

a następnie przenieś nowy. Upewnij się, że pliki zostały przeniesione po przeniesieniu ich na miejsce:

sudo chown root:wheel /usr/sbin/ntpd

Uwaga : nie korzystałem, sudo make installponieważ nie ufałem Makefile (nie byłem pewien, czy umieści pliki w tych samych folderach, w których pierwotnie umieścił je Apple, i chciałem mieć pewność, że nadal są w tym samym miejscu co stare te). Ręczne przenoszenie 6 plików nie jest dużym problemem. Pozostałe pliki (strony podręcznika, strony HTML itp. Są takie same, więc nie musisz się nimi przejmować).

MelB
źródło
proszę dodać, które pliki należy skopiować i gdzie
klanomath
@klanomath Właśnie edytowałem swój komentarz z dodatkowymi informacjami. Daj mi znać, jeśli napotkasz jakieś problemy.
MelB
dodałem resztę i 10 punktów ;-)
klanomath
co z ntpsnmpd?
klanomath
1
Dla tych, którzy nie chcą dokonywać ręcznej wymiany, wystarczy uruchomić ./configure --prefix='/usr'jako krok początkowy, a następnie kontynuować make ; sudo make install.
Trane Francks
1
  1. Nie zagłębiłem się szczegółowo w dokumentację naruszenia. Zwykle ntp dokonuje okresowych zapytań do serwerów, aby uzyskać poprawkę. Po ustaleniu dryfu lokalnego zegara zapytania nie są częste.

  2. Większość zapór sieciowych jest skonfigurowana do ignorowania pakietów żądań z zewnątrz. Ntp Myślę, że używa UDP, który jest nominalnie bezpaństwowiec. Zazwyczaj zapora ogniowa pozwala na powrót pakietu UDP na krótki okres czasu po wygaśnięciu pakietu UDP. Pakiet zwrotny musi pochodzić z właściwego adresu IP i mieć prawidłowy port. Czarny kapelusz musiałby obalić serwer DNS lub serwer NTP.

Czy ktoś mógłby wyjaśnić, w jaki sposób zagraża to rzeczywistości, zakładając, że osoba ta nie określiła pool.ntp.org jako swojego serwera NTTP?


Sposoby na to:

  1. Buduj ze źródła - powyżej.
  2. Użyj portów Mac. To sprawia, że ​​instalacja jest dość bezbolesna, chociaż początkowa kompilacja zajmie sporo czasu i sporo miejsca. Więcej informacji https://www.macports.org/

Możesz także użyć Fink lub Homebrew w ten sposób, ale MacPorts wydaje się być mniej zależny od Apple OS, więc w dłuższej perspektywie dla starszych systemów podejrzewam, że będzie mniej bólu.

  1. Skonfiguruj niezabezpieczony komputer, aby był lokalnym serwerem NTTP. Wskaż wrażliwe maszyny na serwer NTTP. Na swojej zaporze blokuj zarówno ruch wychodzący, jak i przychodzący dla ntp dla wszystkich komputerów oprócz ntpserver. Kiedy prowadziłem lokalną sieć szkolną, miałem jedną maszynę (freebsd), która obsługiwała wiele usług sieciowych, w tym NTTP. Następnie nadawałby pojedynczy pakiet ntp co 64 sekundy.
Sherwood Botsford
źródło