Saya bertanya-tanya apakah seseorang dapat membantu saya dengan aturan iptables berikut:
Kami ingin mengizinkan APAPUN dan SEMUA lalu lintas yang berasal secara lokal (seperti pada, di server yang menjalankan iptables).
DNS, HTTP, dll ... semuanya. Koneksi apa pun yang diprakarsai oleh server yang menjalankan iptables harus diizinkan.
Saat ini kami pada dasarnya menggunakan kebijakan default OUTPUT, ACCEPT. Apakah ini benar? Input diblokir, jadi saya mengasumsikan ini berarti bahwa koneksi (kecuali yang kami izinkan) tidak dapat dimulai karena akan dibatalkan sebelum pihak kami dapat mencapai kebijakan OUTPUT?
Maaf, keterampilan iptables saya lemah;)
Terima kasih.
-d 0.0.0.0/0
berlebihan dan tidak diperlukan.Itu cukup untuk OUTPUT karena Netfilter tidak memerlukan aturan khusus untuk memulai pelacakan koneksi stateful.
Tetapi jika Anda ingin menyaring lalu lintas masuk sesuai dengan kebijakan " default deny " itu dapat dilakukan dengan beralih-
INPUT
rantai keDROP
:iptables -P INPUT DROP
Setelah itu semua akan ditetapkan hanya dengan 2 aturan :
Perhatikan aturan yang mengizinkan lalu lintas input pada antarmuka loopback - seperti yang saya tunjukkan dalam posting blog saya " Minimal firewall untuk pengguna akhir ", kecuali diizinkan secara eksplisit, lalu lintas loopback tidak akan ditangani oleh pengecekan keadaan "mapan", dibandingkan dengan mengembalikan lalu lintas berakhir, misalnya
eth0
,.Untuk memastikan aturan minimum ini dimuat " sebagaimana adanya " tanpa mengganggu aturan yang mungkin sudah ada, lebih mudah untuk memanfaatkannya
iptables-restore
dalam sesi SHELL:Sebelum melakukan itu pastikan Anda tidak akan memotong koneksi jaringan Anda sendiri 1 , meskipun sesi SSH yang sudah dibuka harus terus bekerja secara normal, upaya untuk membuka yang baru tidak akan berfungsi.
__
-A INPUT -j ACCEPT -p tcp --dport 22
- tidak perlu bermain-main di-m state
sini. Juga jangan lupa untuk memperbaikilptables-restore
kembaliiptables-restore
sebelum mencobanya;)sumber