Dua Lompatan VPN Berturut-turut: Siapa Sebenarnya Melihat Trafik Anda?
Lompatan bersiri menyahsulit dan menyulitkan semula di gateway pertama; lompatan bersarang hanya membuang lapisan luar. Telusuri kedua-dua reka bentuk dan lihat operator mana membaca apa.
Setiap profil klien menamakan satu pelayan, jadi dari tempat pengguna ada satu terowong dan satu tempat perlindungan berakhir. Apa yang berlaku selepas gateway pertama itu ialah keputusan reka bentuk yang tidak pernah dilihat klien, dan kedua-dua reka bentuk lazim berkelakuan sangat berbeza di bawah pemeriksaan. Dalam rantai bersiri, gateway pertama menyahsulit dan menyulitkan semula. Dalam rantai bersarang, ia membuang lapisan luar dan menghantar terowong dalam yang tidak dapat dibukanya. Bilangan lompatan sama pada kedua-duanya, sebab itu perbezaannya mesti dilukis, bukan dikira.
Mulakan dari klien dan namakan kedua-dua hujung
Mulakan di tempat pengguna bermula, dalam profil sambungan. Ia mengandungi satu alamat jauh, satu kaedah pengesahan dan, apabila reka bentuk menyokongnya, senarai laluan. Labelkan terowong luar itu dari klien ke gateway A dan berikan contoh alamat: alamat terowong klien 10.77.0.2, alamat A 10.77.0.1, dan titik akhir awam A 198.51.100.10, diambil daripada julat dokumentasi TEST-NET-2 supaya tiada apa dalam contoh boleh berlanggar dengan hos sebenar.
Tiada apa dalam profil itu menyebut gateway B, dan itu bukan kecacatan. Lompatan kedua milik A, dan satu-satunya kewajipan klien ialah menyampaikan trafik kepada A dan menerima apa yang kembali. Sama ada A menamatkan terowong, menghantarnya atau membuka yang baharu ialah soalan yang dijawab oleh baki penelusuran ini, dan ia menentukan apa yang A boleh baca.
Bersiri: A menyahsulit, kemudian menyulitkan semula
Dalam reka bentuk bersiri, A menamatkan trafik dua kali. Ia membuang perlindungan daripada klien, memperoleh paket IP aplikasi, dan kemudian menghantar paket itu melalui terowong kedua yang A bina ke arah B. Antara dua operasi itu, paket berada di laluan penghantaran A sebagai paket IP biasa yang dialamatkan ke destinasi peribadi.
Itu menghasilkan dua akibat yang wajar dinyatakan terus. A boleh menggunakan dasar pada paket dalam, dalam bentuk laluan, peraturan penapis dan rakaman sumber serta destinasi, dan A mesti menyimpan dua set kelayakan: satu sebagai pelayan untuk klien dan satu sebagai klien B. Perlindungan wujud pada setiap saat, tetapi objek yang dilindungi menukar identiti di A.
Daripada itu tidak bermakna A membaca teks biasa aplikasi. Apabila klien dan perkhidmatan menjalankan TLS dan mengesahkan sijil satu sama lain, A melihat aliran rekod TLS dan bukan permintaan yang boleh dibaca. Mengesahkan di mana perlindungan itu berakhir memerlukan pandangan pada rantai sijil perkhidmatan, bukan gambar rajah terowong.
Bersarang: A hanya membuang lapisan luar
Dalam reka bentuk bersarang, klien membina terowong dalam ke B dahulu dan kemudian membawa terowong itu di dalam yang luar ke A. A membuang tajuk luar, menjumpai terowong dalam dan menghantarnya tanpa memegang kuncinya, jadi perlindungan dalam masih berakhir di B.
Kemudian pautan naik klien membawa dua lapisan, manakala laluan antara A dan B membawa satu. A melihat alamat luar terowong dalam, yang cukup untuk mengetahui trafik wujud dan kira-kira ke mana arahnya, dan tidak cukup untuk membaca muatan. Itulah seluruh perbezaan daripada kes bersiri, dan tiada pembilang lompatan menunjukkannya. Apa yang A masih boleh lakukan ialah enggan menghantar apa yang tidak dapat dibacanya, dan itu sentiasa tersedia kepada operator gateway itu.
Penyarangan mengenakan bayaran untuk sifat itu. Setiap lapisan menambah overhed tajuk, jadi perancangan MTU dan MSS menjadi wajib dan bukan sekadar kemas, dan laluan yang berfungsi dengan satu lapisan boleh menggugurkan paket besar secara senyap dengan dua. Setiap lapisan juga memerlukan tingkah laku sambung semula dan keepalive sendiri, dan kegagalan dalam satu lapisan kelihatan seperti gangguan separa melalui yang lain.
Lukiskan pemerhati, bukan hanya terowong
Terowong ialah bahagian mudah dalam lukisan. Pemerhati ialah perkara yang dirujuk oleh reka bentuk, jadi tulis satu baris bagi setiap sudut pandangan dan isi apa yang benar-benar boleh dibaca oleh setiap satu.
| Vantage point | Serial chain | Nested chain |
|---|---|---|
| Client's access network | Outer tunnel only | Outer tunnel only |
| Operator of A | Inner IP packet between A and B | Outer addresses of the inner tunnel, not its payload |
| Path between A and B | Second tunnel | Second tunnel |
| Operator of B | Inner packet re-originated by A | Payload after the inner layer is removed |
| Service edge | Traffic from the exit address | Traffic from the exit address |
Dua baris sentiasa dikelirukan: operator A dan pembekal terowong klien. Mereka mungkin satu entiti, dan nama gateway yang berasingan tidak menjadikan mereka bebas. Pemilikan bebas memerlukan kawalan pentadbiran berasingan, kelayakan berasingan dan rakaman berasingan.
Metadata bertahan dalam kedua-dua reka bentuk. Masa, saiz paket dan bilangan sambungan kekal boleh diperhatikan pada setiap lompatan, jadi dua lompatan menaikkan kos korelasi dan bukan menghapuskan isyarat. Reka bentuk yang menjanjikan ketaknampakan patut diperiksa terhadap senarai itu sebelum sesiapa bergantung padanya.
Telusuri laluan kegagalan sebelum anda memilih
Rosakkan sesuatu dengan sengaja dari klien, mengikut urutan yang akan ditemui pengguna. Mulakan dengan antara muka dan MTU-nya, kerana penyarangan gagal pada saiz paket jauh lebih awal daripada gagal pada pengesahan.
ip -4 addr show dev tun0
ip link show dev tun0 | grep mtu
ping -M do -s 1380 -c 2 10.77.1.1
Kemudian sahkan titik akhir perlindungan dan bukannya menganggapnya. Minta perkhidmatan memberikan sijilnya dari dalam terowong yang aktif, dan bandingkan rantai yang dilihat klien dengan rantai yang benar-benar dibentangkan oleh perkhidmatan. Gateway yang menandatangani semula atau memintas mengubah sijil itu, dan pemeriksaan menjadi kelihatan dalam satu arahan.
openssl s_client -connect intranet.example.com:443 -brief < /dev/null
Akhiri dengan matriks sambung semula: terowong klien jatuh, terowong B jatuh, laluan antara A dan B berubah. Catat apa yang kembali dan apa yang tidak, dan sama ada sambungan dalam pernah jatuh ke laluan di luar pembawanya yang dimaksudkan. Rekodkan alamat yang digunakan oleh setiap ujian, kerana mengulanginya pada rangkaian akses lain menjawab soalan lain. Ulangi juga ujian MTU selepas setiap sambung semula, kerana laluan yang berubah boleh menurunkan saiz boleh guna tanpa satu baris konfigurasi pun bergerak.
Pilih bersiri apabila A mesti menggunakan dasar pada paket dalam, atau apabila klien tidak dapat menjalankan dua terowong bertindan. Pilih penyarangan apabila muatan dalam mesti kekal tidak terbaca di A. Tuliskan pilihan itu bersama pemerhati dan nombor MTU-nya, dan orang seterusnya tidak perlu melukis semula seluruh gambar untuk menjawab satu soalan.