Kedua teknik ini diarsipkan bersama karena keduanya melibatkan perantara dan keduanya terdengar seperti penyembunyian. Keduanya bekerja pada objek yang berbeda. Domain fronting membahas nama mana yang muncul di lapisan mana dari satu permintaan HTTPS. VPN membahas paket mana yang menempuh jalur tertentu ke sebuah peer. Menyebut fronting sebagai jenis VPN mengarah pada desain yang tidak dapat bekerja, dan pada tinjauan yang mengajukan pertanyaan yang salah.

Dua nama, dua lapisan

Koneksi TLS dapat membawa nama server dalam handshake-nya. Setelah koneksi ada, permintaan HTTP mengidentifikasi otoritas yang diinginkannya, biasanya pada header Host. Itu dua bidang yang dibaca pada dua momen berbeda oleh dua bagian perangkat lunak berbeda.

LayerWhat carries the nameWho reads it
TLS handshakeServer name indicationThe TLS terminator in front of the service
HTTP requestAuthority or Host headerThe routing layer that picks a backend
Network pathDestination address and portRouters, and the VPN peer if one is in use

Domain fronting memanfaatkan perbedaan antara keduanya sehingga layanan fronting menerima koneksi lalu merutekan permintaan ke tempat lain. Ini hanya bekerja di tempat layanan itu bersedia merutekannya, yang merupakan soal kebijakan penyedia, bukan trik protokol.

Fronting bergantung pada penyedia, bukan pada tekniknya

Sebagai contoh terbatas, panduan FAQ Front Door dari Azure mendokumentasikan perlindungan terhadap domain fronting. Dokumen itu menjelaskan ketidakcocokan yang diizinkan untuk domain dalam langganan yang sama dan rute yang dikonfigurasi, serta respons 421 Misdirected Request ketika perlindungan ketidakcocokan memblokir permintaan.

Satu kebijakan terdokumentasi itu sekaligus meruntuhkan kedua slogan. Tidak setiap pasangan nama berbeda berfungsi, dan tidak setiap ketidakcocokan dilarang. Layanan lain punya pemeriksaannya sendiri, persyaratan penerapannya sendiri, dan kode kesalahannya sendiri.

Ini juga bukan instruksi untuk melewati batasan jaringan lain. Membaca aturan perutean penyedia untuk memahami apa yang diizinkannya adalah pekerjaan arsitektur; memperlakukan aturan itu sebagai resep penghindaran adalah aktivitas lain dengan konsekuensi lain. Pisahkan kedua aktivitas itu dalam dokumen yang Anda tulis. Yang kedua itulah yang membuat sebuah desain ditolak dalam tinjauan.

Apa yang sebenarnya dipilih VPN

Dalam VPN jaringan, perutean dan kebijakan platform memilih lalu lintas dalam untuk terowongan ke sebuah peer. Bergantung pada penataannya, itu dapat mencakup beberapa aplikasi atau subset tertentu, dan dapat membawa protokol yang sama sekali tidak memiliki permintaan HTTP.

Fronting tidak melakukan semua itu. Mengatur satu permintaan HTTPS melalui layanan fronting tidak memasang rute jaringan privat, tidak membawa aplikasi UDP sembarang, dan tidak membuat setiap program di perangkat memakai layanan itu. Jika Anda membutuhkan cakupan itu, Anda membutuhkan proxy atau terowongan, bukan trik penamaan.

Inilah sebabnya keduanya tertukar dalam tinjauan: keduanya digambarkan sebagai perantara, dan keduanya muncul dalam dokumen tentang akses. Antarmuka yang ditawarkan masing-masing sepenuhnya berbeda, dan hanya salah satunya merupakan jalur jaringan.

Visibilitas bukan biner

Perbandingannya juga bukan sekadar tersembunyi versus terlihat. Kueri DNS, alamat tujuan, fitur handshake, ukuran paket, dan waktu semuanya tetap dapat diamati oleh siapa pun yang berada pada posisi melihatnya, dan apa yang dipelajari pengamat itu bergantung pada di mana ia berada.

Data aplikasi juga terlihat pada titik akhir yang mengakhirinya. Layanan fronting yang merutekan permintaan Anda adalah salah satu titik akhir itu, dan peer VPN adalah yang lain. Tidak ada dari kedua penataan itu yang membuat isi menjadi buram bagi pihak yang harus membacanya untuk melayani Anda.

Gambarkan tiga kotak

Untuk tinjauan arsitektur, gambarkan titik akhir TLS, layanan perutean HTTP, dan aplikasi akhir sebagai tiga kotak terpisah, lalu gambarkan peer VPN mana pun di tempat lain lagi. Tempat yang memilih tujuan web dan tempat yang mengangkut paket jaringan privat tidak harus merupakan sistem yang sama, dan biasanya bukan.

Setelah kotak-kotaknya terpisah, pertanyaannya menjadi terjawab: nama mana yang diterima penyedia ini, protokol mana yang perlu diangkut, dan pihak mana yang dapat melihat apa. Diagram yang menyatukannya menghasilkan desain yang tidak dapat diterapkan siapa pun dan tinjauan yang berdebat soal kosakata.

Artikel terkait