Satu sesi SSH, satu aplikasi web dan satu carian nama boleh berkongsi satu sambungan VPN tanpa berperang untuk port. Klien membina satu aliran disulitkan ke gateway, dan setiap perbualan aplikasi bergerak di dalamnya. Di luar, hanya pengangkutan dan port terowong itu sendiri kelihatan. Di dalam, setiap perkhidmatan mengekalkan portnya sendiri dan masih memerlukan kebenarannya sendiri.

Apa yang dibawa aliran luar, dan apa yang disembunyikannya

Klien membungkus setiap paket dalam pengangkutan terowong sebelum ia meninggalkan mesin. Aliran luar itu mempunyai satu port destinasi, ditetapkan apabila VPN dikonfigurasikan. Di dalam pembungkus, setiap paket asal mengekalkan alamat dan port perkhidmatan yang disasarkannya. Gateway menanggalkan pembungkus dan menghalakan berdasarkan pengepala dalaman, jadi destinasi melihat klien biasa yang tiba dari rangkaian.

Tangkapan pada antara muka WAN oleh itu menunjukkan satu perbualan, bukan tiga. Port dalaman hanya muncul selepas penyahkapsulan. Itulah sebabnya satu bukaan firewall boleh membawa SSH, HTTPS dan DNS pada masa yang sama.

# WAN side: one outer tuple, whatever the inner services are
tcpdump -ni wan0 'udp port 443'
# tunnel side: the inner tuples appear after decapsulation
tcpdump -ni tun0

Dokumentasi TUN/TAP merangkumi penyerahan di mana peranti TUN yang dihalakan menyerahkan paket IP antara kernel dan proses ruang pengguna. Penyerahan itulah yang menjadikan pengepala dalaman kelihatan kepada kod penghalakan dan firewall gateway. Ia juga menjelaskan mengapa port luar tidak menyatakan apa-apa tentang perkhidmatan yang dibenarkan.

Penghantaran NAT milik pendengar, bukan aplikasi

Gateway yang dihoskan sendiri di belakang NAT IPv4 memerlukan satu terjemahan masuk: alamat awam dan port dipetakan kepada pendengar VPN. Tiada peraturan diperlukan untuk SSH, HTTPS atau DNS hanya kerana pengguna terowong mencapainya. Menerbitkan port tersebut akan mendedahkan perkhidmatan yang sudah dilindungi oleh terowong. Peraturan penghantaran menerangkan kebolehcapaian pendengar, bukan kebenaran untuk apa-apa di dalam.

Sebaliknya juga benar. Membuka port terowong tidak mendedahkan apa-apa lagi, jadi perkhidmatan yang hanya boleh dicapai melalui terowong mengekalkan permukaan awamnya tertutup. Pemisahan itulah biasanya sebab perkhidmatan itu disimpan peribadi.

Dasar dalaman ialah tempat akses sebenarnya diputuskan

Penyulitan melindungi laluan; ia tidak memberi kebenaran kepada destinasi. Laluan klien memilih awalan mana yang masuk ke terowong, dasar penghantaran gateway memutuskan sama ada paket boleh meninggalkannya, dan firewall serta log masuk destinasi memutuskan sama ada perkhidmatan menjawab. DNS ialah kes paling jelas: membawa pertanyaan tidak membuat penyelesai menerimanya daripada kumpulan klien anda. Setiap lapisan boleh menolak secara bebas.

Uji setiap perkhidmatan secara berasingan melalui terowong. Carian yang berjaya tidak menyatakan apa-apa tentang port web, dan permintaan web yang berjaya tidak menyatakan apa-apa tentang SSH.

dig @10.40.0.53 app.corp.example
nc -vz 10.40.0.10 8443
ssh -p 2222 [email protected]

Apabila terowong beroperasi dan semuanya gagal, baca jadual laluan klien terlebih dahulu. Apabila satu perkhidmatan gagal manakala yang lain berfungsi, kerosakan terletak pada destinasi itu. Kedua-dua pemerhatian itu menunjuk kepada pemilik berbeza, dan mencampurkannya membuang masa.

WireGuard menarik garis yang sama

WireGuard menamakan pendengar luarnya dengan ListenPort, dan aplikasi dalaman masih menggunakan port perkhidmatan yang diperlukan. AllowedIPs ialah satu set awalan yang dihalakan, bukan senarai port perkhidmatan yang dibenarkan. Membacanya sebagai senarai kebenaran port menghasilkan peraturan yang tidak sepadan dengan apa yang dilakukan terowong. Penamaannya berbeza; lapisannya tidak.

Benarkan perkhidmatan dalam dasar input setempat apabila ia berjalan pada hos itu sendiri, atau dalam dasar penghantaran apabila ia berada di belakang hos itu. Perbezaan itu menentukan set peraturan mana yang melihat paket itu.

Bentuk umum ialah satu pengangkutan luar dengan banyak perbualan dalaman. Produk yang memerlukan beberapa pertukaran luar, atau protokol IP yang berbeza, mengingatkan bahawa corak satu port awam menerangkan reka bentuk ini dan bukan setiap VPN.

Artikel berkaitan