Mengapa NAT rumah tidak melindungi antara muka VPN anda
Penghala rumah meneruskan terowong, tetapi hos menilai paket yang dinyahsulit. Baca pendengar, laluan dalam dan dasar masuk secara berasingan.
Komputer riba di belakang penghala rumah tanpa pemajuan port masih menerima sambungan SSH yang tiba melalui VPN. Itu bukan percanggahan, kerana dua peranti berbeza menilai dua paket berbeza. Penghala meneruskan pengangkutan yang disulitkan, dan hos memutuskan apa yang perlu dilakukan dengan paket yang dinyahsulit yang tiba di antara muka terowongnya. Mengekalkan kedua-dua keputusan itu berasingan ialah seluruh latihan.
Penghala meneruskan terowong, hos menilai paket
Lukiskan laluan dari sumber jauh ke perkhidmatan sebelum anda melihat satu peraturan pun. Bahagian luar ialah pengangkutan VPN, yang dikendalikan oleh penghala dan gerbang. Bahagian dalam bermula apabila titik akhir menanggalkan lapisan terowong dan hos menerima paket yang dialamatkan ke alamat VPNnya.
Gabungkan kedua-dua bahagian itu dan penghala mendapat penghargaan atas keputusan yang dibuat oleh hos. Halaman pemajuan port atau log penghala hanya menerangkan perbualan luar, dan tiada satu pun menyatakan trafik nyahsulit mana yang akan diterima oleh hos. Hos menggunakan dasarnya sendiri untuk trafik masuk pada paket dalam, sama seperti pada mana-mana paket yang tiba di antara muka. Dalam dasar itulah persoalan pendedahan sebenarnya diselesaikan.
Pendengar kad bebas bukan perkhidmatan awam
Di Linux, mengikat ke INADDR_ANY bermaksud setiap alamat tempatan, jadi perkhidmatan boleh menjawab pada antara muka terowong yang tidak pernah dinamakannya. Rujukan soket IP menerangkan ikatan itu, dan ia wajar dibaca sebelum membuat kesimpulan daripada senarai pendengar. Entri kad bebas ialah fakta tentang soket, bukan pernyataan tentang kebolehsampaian.
Dua baris di bawah ialah perkhidmatan yang sama dalam dua ikatan berbeza, dan perbezaannya ialah seluruh jawapan kepada sama ada antara muka itu penting. Baca pada alamat mana soket itu berada sebelum apa-apa yang lain.
ss -lntp "sport = :22"
LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=812,fd=3))
LISTEN 0 4096 10.8.0.6:22 0.0.0.0:* users:(("sshd",pid=812,fd=4))
Namakan susunan yang boleh sampai ke port itu
Tiga susunan meletakkan paket pada antara muka itu, dan mereka mempunyai pemilik yang berbeza. Menamakan yang betul menentukan siapa yang perlu menukar dasar.
| Arrangement | What reaches the port | Where the decision lives |
|---|---|---|
| Another permitted VPN peer | A packet from the same tunnel subnet | Gateway forwarding policy and host input rules |
| A deliberate public forward | Traffic the gateway publishes on purpose | Gateway service definition |
| A subnet routed behind the gateway | Client traffic from the far side | Gateway route and host input rules |
Hasil pelayar yang menunjukkan alamat keluar awam tidak menyatakan apa-apa tentang ketiga-tiganya, kerana ia menerangkan bagaimana trafik keluar pergi dan bukan apa yang dibenarkan untuk trafik masuk. Bekerjalah ke belakang dari pendengar dan alamat sumber dalam log perkhidmatan. Jika sumbernya rakan terowong yang lain, dasar gerbang ialah dokumen yang menarik. Jika ia alamat yang diterjemah, cari terjemahan itu sebelum menukar peraturan.
Hadkan perkhidmatan kepada laluan yang anda maksudkan
Jika SSH hanya diperlukan dari laluan pengurusan, tuliskan laluan itu sebagai julat sumber tambah antara muka. Kemudian hadkan peraturan masuk hos mengikut antara muka, destinasi dan sumber dan bukan mengikut nama rangkaian, kerana nama yang kelihatan peribadi boleh mewakili mana-mana alamat. Tinggalkan laluan untuk orang yang akan membetulkan masalah seterusnya.
nft add rule inet filter input iifname "tun0" ip saddr 10.8.0.0/24 tcp dport 22 accept
nft list chain inet filter input
Peraturan yang menamakan antara muka terowong dan julat pengurusan menyatakan niat di satu tempat. Bandingkan dengan peraturan yang ditulis untuk rangkaian Wi-Fi, yang tidak menyatakan apa-apa tentang trafik terowong yang dinyahsulit. Apabila kedua-dua lapisan tidak bersetuju, dasar hos ialah yang ditemui oleh paket.
Biarkan log masuk dan tampalan tepat di tempatnya; sampai ke port tidak pernah sama dengan dibenarkan menggunakannya. Catat keluarga alamat dan masa bagi mana-mana sumber yang tidak dikenali, dan siasat sebelum menyalahkan sesuatu ciri atau kelemahan. Peraturan yang menerima setiap rakan terowong ialah reka bentuk berbeza daripada yang menerima subrangkaian pengurusan, dan tiada baris log akan memberitahu yang mana dimaksudkan.
Terima pembetulan dengan satu kejayaan dan satu penolakan
Buktikan kedua-dua bahagian: satu sambungan yang diluluskan berjaya dan satu laluan yang dikecualikan ditolak. Penolakan ialah bahagian yang orang langkau, dan itulah yang menunjukkan peraturan itu berfungsi dan bukan berdiri di sebelah nilai lalai yang membenarkan. Uji dari sisi yang dikecualikan dan bukan membuat penaakulan tentangnya.
Ulang pasangan itu selepas menyambung semula, kerana terowong yang kembali dengan nama antara muka yang berbeza boleh memintas peraturan yang terhad kepada yang lama secara senyap. Sempadan yang penting ialah yang dikenakan oleh hos pada paket yang benar-benar diterimanya.