Menonaktifkan NTP pada OS X Lion atau lebih lama

9

Mengikuti kerentanan keamanan baru dalam paket perangkat lunak Network Time Protocol , Apple telah menyediakan pembaruan perangkat lunak untuk Mountain Lion dan versi OS X yang lebih baru.

Seperti biasa, versi OS X yang lebih lama yang mungkin macet (karena perangkat keras tidak mendukung versi yang lebih baru, karena orang membutuhkan Rosetta, ...) tidak dicakup oleh pembaruan keamanan.

Pertanyaan saya adalah:

  • apakah menonaktifkan "setel tanggal dan waktu secara otomatis" di Preferensi Perangkat Lunak cukup untuk memastikan bahwa ntpd tidak berjalan?

  • apa yang mungkin rusak jika binari ntdp dihapus untuk keamanan di OS X Snow Leopard atau Lion?

Dalam keraguan saya mungkin menggunakan instruksi ini untuk membatasi ruang lingkup ntpd tanpa sepenuhnya menonaktifkan / menghapusnya, tetapi dalam kasus ini masih ada risiko salah dan membiarkan ntpd terbuka.

Pascal Cuoq
sumber
Silakan laporkan kurangnya perbaikan keamanan versi yang masih digunakan pelanggan untuk Apple. → apple.com/feedback/macosx.html . Mereka belum memiliki securityentri umpan balik :(.
dan
1
@danielAzuelos Saya menulis posting blog: blog.frama-c.com/index.php?post/2013/01/01/…
Pascal Cuoq
1
@PascalCuoq offtopic: Anda mungkin menghidupkan kembali iMac dengan mengubahnya menjadi hackintosh dengan NUC) - google.com.ua/... Pikir saya tidak tahu apakah 17 "sepadan dengan masalah. Namun 20" jelas tidak
iskra

Jawaban:

7

apakah menonaktifkan "setel tanggal dan waktu secara otomatis" di Preferensi Perangkat Lunak cukup untuk memastikan bahwa ntpd tidak berjalan?

Ya .

Inilah cara untuk memastikan diri Anda dari hal ini. Buka jendela Terminalatau xterm.

Jalankan perintah berikut:

ps ax | grep ntp

dan perhatikan bahwa Anda memiliki ntpdproses yang sedang berjalan.

Buka System Preferencesdan matikanSet date and time automatically:

Periksa dengan psperintah di atas bahwa Anda tidak memiliki ntpdproses yang berjalan.


Jangan hapus ntpdbiner, ini tidak perlu dan akan menghalangi Anda untuk mengambil keuntungan dari perbaikan dari Apple :).


Dalam keraguan saya mungkin menggunakan instruksi ini untuk membatasi ruang lingkup

Tidak ada .

Kwitansi ini akan membuat Anda berlari ntpddan karenanya terkena serangan.

dan
sumber
1
Untuk beberapa alasan, hapus centang "setel tanggal dan waktu secara otomatis" tidak mematikan proses ntpd untuk saya. Saya harus menjalankan:sudo launchctl unload /System/Library/LaunchDaemons/org.ntp.ntpd.plist
user12719
2
Perintah yang Anda gunakan persis seperti apa yang dilakukan GUI System Preferences. Saat menggunakannya, Anda harus memeriksa tail -f /var/log/system.logapa yang mungkin salah dalam diri Anda System Preferences. Untuk menyelidiki masalah ini saya menyarankan Anda untuk meluncurkan pertanyaan lain.
dan
8

Alih-alih menonaktifkan ntpd, Anda harus mengunduh sumber untuk versi 4.2.8 dari ntp dan kompilasi sendiri. Yang Anda butuhkan adalah Xcode untuk Lion / SnowLeo. Seharusnya bekerja pada 10.6.x dan 10.7.x baik-baik saja.

Saya telah memperbarui instalasi 10,10 saya segera setelah CVE dipublikasikan dan kode sumber dirilis dan saya tidak menunggu Apple merilis pembaruan.

Untuk mengkompilasi ntpd, unduh sumber dari ntp.org dan terapkan tambalan untuk OS X / FreeBSD. Setelah menerapkan tambalan ini, Anda hanya dapat menjalankan "./configure && make." Kemudian Anda dapat menyalin binari ke direktori yang sesuai (/ usr / sbin / dan / usr / bin /).

Untuk Mac OS X 10.7 (Singa):

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

Berikut daftar file dan folder tempat mereka berasal yang akan dibangun dari sumber di atas. Setelah dikompilasi, semua file ini akan berada di berbagai sub-folder.

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

Ganti nama yang lama menggunakan sesuatu seperti:

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

dan kemudian pindahkan yang baru. Pastikan untuk meng-chown file setelah memindahkannya di tempat:

sudo chown root:wheel /usr/sbin/ntpd

Catatan : Saya tidak menggunakan sudo make installkarena saya tidak mempercayai Makefile (saya tidak yakin itu akan menempatkan file di folder yang sama tempat Apple awalnya meletakkannya dan ingin memastikan mereka masih di tempat yang sama dengan yang lama). yang). Memindahkan 6 file secara manual bukanlah masalah besar. Sisa file (halaman manual, halaman html, dll adalah sama sehingga Anda tidak perlu repot memindahkannya.)

MelB
sumber
tolong tambahkan file mana yang harus disalin dan ke mana
klanomath
@klanomath Saya baru saja mengedit komentar saya dengan info lebih lanjut. Beri tahu saya jika Anda mengalami masalah apa pun.
MelB
saya menambahkan sisanya dan 10 poin ;-)
klanomath
bagaimana dengan ntpsnmpd?
klanomath
1
Bagi mereka yang tidak ingin melakukan penggantian manual, itu sudah cukup untuk dijalankan ./configure --prefix='/usr'sebagai langkah awal dan kemudian menindaklanjutinya make ; sudo make install.
Trane Francks
1
  1. Saya belum menggali dokumentasi pelanggaran secara detail. Biasanya ntp membuat query berkala ke server untuk mendapatkan koreksi. Setelah penyimpangan jam lokal ditetapkan, pertanyaan ini tidak sering.

  2. Sebagian besar firewall dikonfigurasi untuk mengabaikan paket permintaan dari luar. Ntp saya pikir menggunakan UDP yang nominal tanpa kewarganegaraan. Biasanya firewall akan membiarkan paket UDP kembali untuk jendela kecil waktu setelah paket UDP keluar. Paket pengembalian harus dari IP yang benar, dan memiliki port yang benar. Topi hitam harus menumbangkan server DNS Anda atau menumbangkan server NTP Anda.

Jadi, bisakah seseorang menjelaskan bagaimana ancaman ini sebenarnya dimainkan, dengan asumsi bahwa orang tersebut tidak menentukan pool.ntp.org sebagai server ntp-nya?


Cara mengatasinya:

  1. Bangun dari sumber - di atas.
  2. Gunakan port mac. Ini membuat instalasi cukup tanpa rasa sakit, meskipun pembangunan awal akan memakan waktu besar dan ruang yang adil. Informasi lebih lanjut https://www.macports.org/

Anda juga dapat menggunakan Fink atau Homebrew dengan cara ini, tetapi MacPorts tampaknya kurang bergantung pada Apple OS, jadi dalam jangka panjang untuk sistem yang lebih lama saya menduga akan ada sedikit rasa sakit.

  1. Konfigurasikan mesin yang tidak rentan menjadi server ntp lokal. Arahkan mesin yang rentan ke server ntp. Di blok firewall Anda, baik keluar dan masuk untuk ntp untuk semua kecuali mesin ntpserver. Ketika saya menjalankan jaringan sekolah lokal, saya punya satu mesin (freebsd) yang menjalankan banyak layanan jaringan, termasuk ntp. Itu kemudian akan menyiarkan satu paket ntp setiap 64 detik.
Sherwood Botsford
sumber