Menolak sambungan keluar baharu pada WAN kelihatan seperti dasar yang tertutup semasa kegagalan, tetapi ia janji yang lebih sempit daripada yang kelihatan. Paket yang tergolong dalam aliran yang sudah wujud tidak memadankannya, dan banyak balasan juga tidak. Jurang ini mudah terlepas pandang kerana peraturan itu dibaca seolah-olah meliputi antara muka dan bukan satu keadaan sambungan padanya. Dan membaca padanan keadaan sebagai keputusan itulah yang mencipta rasa tertutup yang palsu.

Keadaan ialah syarat padanan, bukan keputusan

Penjejakan sambungan mengelaskan paket mengikut apa yang telah dilihat oleh tembok api, bukan mengikut apa yang dipercayai oleh aplikasi. Aliran yang diperhatikan dalam kedua-dua arah adalah terbentuk, dan paket kemudiannya kekal terbentuk walaupun laluan di bawahnya berubah daripada terowong kepada pautan atas biasa. Balasan kepada sambungan masuk juga boleh menjadi trafik terbentuk. Paket itu tidak pernah menjadi baharu semula.

Sebab itu peraturan yang terhad kepada sambungan baharu tidak dapat membuktikan bahawa setiap paket yang dilindungi disekat. Ia membiarkan keadaan lain kepada apa yang dilakukan oleh seluruh set peraturan terhadapnya, yang mungkin penerimaan yang diletakkan lebih awal dalam rantaian.

Baca peraturan itu dalam persekitarannya

Penerimaan luas untuk trafik terbentuk dan berkaitan yang diletakkan sebelum sekatan membenarkan paket lalu sebelum sekatan itu dinilai. Mengeluarkan syarat keadaan daripada peraturan kemudian tidak akan mengubahnya, kerana penilaian tidak pernah sampai ke sana. Susunan menentukan hasil, dan padanan keadaan menentukan paket mana yang sampai ke susunan itu.

Periksa set peraturan yang berkesan dan bukan fail yang anda sunting, termasuk lompatan ke rantaian lain dan apa sahaja yang dijana oleh platform. Pada penghala yang diuruskan dengan iptables, penyenaraian rantaian menunjukkan definisi peraturan, dan rantaian yang dirujuknya juga mesti diikuti. Sistem nftables asli memerlukan set peraturannya sendiri dan keutamaan cangkuk diperiksa, kerana perisian tegar jarang menjana rantaian yang serupa.

Pembilang memberitahu peraturan mana yang benar-benar dipadankan, dan biasanya ia lebih bermaklumat daripada tangkapan paket yang diambil selepas keputusan. Peraturan dengan pembilang sifar belum dicapai, apa pun yang disyorkan oleh kedudukannya.

Nyatakan larangan secara bebas daripada keadaan

Jika sekumpulan klien tidak boleh sama sekali mencapai internet di luar terowong, nyatakan itu secara langsung dan bukan menganggarkannya dengan satu keadaan. Peraturan mesti memilih berdasarkan sumber, keluar dan destinasi tanpa bergantung pada keadaan sambungan, dan ia mesti berada di tempat yang tiada penerimaan terdahulu dapat memesongkannya. Kemudian akses pengurusan dan pengecualian rangkaian tempatan mendapat peraturan eksplisitnya sendiri, sehingga niat itu kelihatan dalam dasar.

Memilih reject dan bukan drop mengubah cara trafik yang dipadankan gagal, dan ia tidak meluaskan set paket yang dipilih oleh peraturan. Sambungan yang ditolak dan tamat masa yang senyap ialah gejala berbeza yang menunjuk kepada pilihan yang sama.

Dasar yang sengaja membenarkan balasan kepada akses yang dimulakan dari jauh melalui WAN boleh dipertahankan. Ia hanya perlu dijelaskan begitu dan bukan dikemukakan sebagai pengasingan sepenuhnya melalui terowong sahaja.

Periksa siapa yang sebenarnya berada dalam kumpulan itu

Contoh itu meliputi trafik IPv4 yang dimajukan daripada satu awalan melalui satu antara muka. Ia tidak menyatakan apa-apa tentang IPv6, pautan atas kedua, atau trafik yang dihasilkan oleh penghala itu sendiri. Penghala yang bertindak sebagai penyelesai DNS menghantar pertanyaan hulunya sendiri, dan pertanyaan itu tidak melalui rantaian forward sama sekali.

Sahkan bahawa klien yang dilindungi masih memegang alamat dalam awalan yang dipilih, kerana peranti yang berpindah keluar daripadanya adalah langsung secara kebetulan dan bukan mengikut dasar. Meluaskan sekatan kepada seluruh LAN tanpa menyemak reka bentuk pengecualian juga cenderung membuang laluan pentadbiran anda sendiri.

iptables -S FORWARD
iptables -L FORWARD -v -n
cat /proc/net/nf_conntrack | grep -c ESTABLISHED

Kemudian uji aliran lama di sebelah yang baharu. Cubaan sambungan baharu dan pemindahan dua hala yang sudah aktif berkelakuan berbeza di bawah peraturan ini, dan hanya menguji kedua-duanya menunjukkan dasar mana yang sebenarnya anda ada.

Artikel berkaitan