Dari Apa aturan iptables untuk mengizinkan ntp? :
iptables -A INPUT -p udp --dport 123 -j ACCEPT
iptables -A OUTPUT -p udp --sport 123 -j ACCEPT
Juga, dari situs web NTP :
... ntpd memerlukan akses dua arah penuh ke port UDP istimewa 123. ...
Pertanyaan saya adalah, mengapa? Untuk seseorang yang tidak terbiasa dengan NTP, ini sepertinya lubang keamanan potensial, terutama ketika saya meminta klien saya untuk membuka port di firewall mereka sehingga server saya dapat menjaga waktu mereka tersinkronisasi. Adakah yang memiliki justifikasi yang layak yang dapat saya berikan kepada klien saya untuk meyakinkan mereka bahwa saya memerlukan akses ini di firewall? Bantuan dihargai! :)
Jawaban:
Anda hanya perlu mengizinkan lalu lintas masuk port NTP jika Anda bertindak sebagai server, yang memungkinkan klien untuk menyinkronkan kepada Anda.
Jika tidak, keberadaan status NTP akan secara otomatis menentukan apakah paket NTP yang masuk diblokir atau diizinkan oleh keadaan firewall yang sudah ada yang kami mulai.
iptables -P OUTPUT -p udp --port 123 --dport 123 -j MENERIMA
iptables -A INPUT -m state --stat ESTABLISHED, TERKAIT -j MENERIMA
Tolong beri tahu saya jika aturan iptables sudah sesuai. Saya tidak punya pengalaman dengan iptables. Klien NTP saya tetap disinkronkan di router pfSense saya hanya dengan aturan izin keluar karena pfSense adalah firewall stateful.
sumber
NTP memerlukan akses dua arah pada port 123 karena NTP RFC menentukan hal-hal berikut mengenai port sumber klien:
Karena port sumber klien adalah 123, ketika server mengirim respons kembali, ia akan mengirimnya ke port 123. Secara alami, agar dapat menerima respons itu, klien harus mengizinkan tanggapan masuk pada port 123. Biasanya respons akan kembali pada beberapa rentang port fana .
Seperti yang disebutkan Ben Cook di atas, ini hanya diperlukan ketika berhadapan dengan firewall stateless karena firewall stateful akan memungkinkan respons untuk kembali tanpa aturan eksplisit.
sumber
Saya pikir solusi terbaik adalah mengaktifkan port 123 untuk input, hanya untuk alamat ip yang diharapkan memberi server Anda sinyal ntp.
Di dalam file konfigurasi ntp, /etc/ntp.conf, ada alamat beberapa server ntp yang harus ditunjukkan oleh server Anda. Anda dapat menggunakan perintah pencarian untuk menemukan ip yang sesuai untuk setiap alamat.
host -t a 0.debian.pool.ntp.org
Kemudian Anda dapat menambahkan aturan ke firewall server:
iptables -I INPUT -p udp -s 94.177.187.22 -j ACCEPT
... dan seterusnya.
Ini dapat mencegah orang jahat merusak server Anda.
Saya pikir tidak ada gunanya membatasi output.
sumber
ntp server ke server komunikasi adalah sumber dan tujuan port 123. Sangat mudah untuk secara eksplisit mengizinkan setidaknya untuk host di mana Anda menjalankan layanan ntp.
Anda mungkin mempertimbangkan untuk hanya mengekspos host eksternal ke Internet untuk mendapatkan waktu dari sumber luar. Layanan ntp internal yang disinkronkan dengan ini dapat menjadi sumber untuk semua perangkat. Jika host ini didedikasikan untuk tujuan kemungkinan paparan terbatas: mereka hanya menerima lalu lintas ntp dan tidak menyimpan data lainnya.
Sebagai alternatif, jangan gunakan jaringan IP eksternal sama sekali. Gunakan sumber radio seperti GPS untuk waktu, misalnya.
http://www.diablotin.com/librairie/networking/firewall/ch08_13.htm http://support.ntp.org/bin/view/Support/TroubleshootingNTP
sumber