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.

ArrangementWhat reaches the portWhere the decision lives
Another permitted VPN peerA packet from the same tunnel subnetGateway forwarding policy and host input rules
A deliberate public forwardTraffic the gateway publishes on purposeGateway service definition
A subnet routed behind the gatewayClient traffic from the far sideGateway 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.

Artikel berkaitan