mari kita lihat dua aturan iptables yang sering digunakan untuk mengizinkan DNS keluar:
iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53
-m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --sport 53 --dport 1024:65535
-m state --state ESTABLISHED -j ACCEPT
Pertanyaan saya adalah: Bagaimana tepatnya saya harus memahami kondisi ESTABLISHED di UDP? UDP tidak memiliki kewarganegaraan.
Inilah intuisi saya - Saya ingin tahu, apakah atau di mana ini salah:
Halaman manual memberitahu saya ini:
negara
Modul ini, ketika dikombinasikan dengan pelacakan koneksi, memungkinkan akses ke status pelacakan koneksi untuk paket ini. - negara ...
Jadi, iptables pada dasarnya mengingat nomor port yang digunakan untuk paket keluar (apa lagi yang bisa diingat untuk paket UDP?) , Dan kemudian memungkinkan paket masuk pertama yang dikirim kembali dalam jangka waktu singkat? Seorang penyerang harus menebak nomor porta (apakah itu benar-benar terlalu sulit?)
Tentang menghindari konflik:
Kernel melacak port mana yang diblokir (baik oleh layanan lain, atau oleh paket UDP keluar sebelumnya), sehingga port ini tidak akan digunakan untuk paket DNS keluar baru dalam jangka waktu? (Apa yang akan terjadi, jika saya secara tidak sengaja mencoba memulai layanan pada port tersebut dalam jangka waktu - apakah upaya itu akan ditolak / diblokir?)
Temukan semua kesalahan dalam teks di atas :-) Terima kasih,
Chris