Label proxy HTTPS hanya menjelaskan transport antara klien Anda dan proxy, tidak lebih. Label itu tidak menyatakan situs web di belakangnya dienkripsi oleh koneksi yang sama, dan tidak menyatakan proxy dapat membaca halaman. Begitu Anda memisahkan kedua koneksi, kesalahan sertifikat berhenti menjadi misterius dan perbandingan dengan VPN menjadi konkret.

Dua pasangan ujung, dua verifikasi

Dalam mode terowongan biasa ada dua hubungan TLS. Yang pertama berjalan dari klien Anda ke proxy dan mengautentikasi proxy. Yang kedua berjalan dari klien Anda ke situs web di dalam terowongan dan mengautentikasi situs web. Keduanya gagal secara independen dan dikonfigurasi secara independen.

Keduanya memiliki keputusan kepercayaan terpisah, rantai sertifikat terpisah, dan pesan kegagalan terpisah. Proxy yang memakai CA organisasi dan situs web publik yang memakai rantai publik bisa sah-sah saja memerlukan konfigurasi verifikasi berbeda, dan itu bukan salah konfigurasi.

Perlakukan keduanya sebagai dua koneksi yang kebetulan berbagi satu soket, karena memang begitulah adanya.

Apa yang sebenarnya diterowangkan CONNECT

Klien mengirim permintaan CONNECT dengan menyebut host dan port, lalu proxy membuka koneksi TCP ke tujuan itu. Setelah proxy menjawab, byte berikutnya diteruskan tanpa interpretasi, itulah sebabnya jabat tangan TLS situs web melintasi proxy tanpa tersentuh. Jadi proxy mengetahui nama tujuan dan metadata koneksi, dan tidak menerima halaman yang didekripsi dari susunan itu.

Perbedaan itulah seluruh argumen keamanan mode terowongan, dan sekaligus batasnya.

Proxy HTTP tanpa TLS pada lompatan proxy tetap membawa situs HTTPS melalui CONNECT. Pertukaran klien-ke-proxy berlangsung terbuka sedangkan koneksi situs web tidak, dan menyebut semuanya proxy HTTPS menyembunyikan perbedaan itu.

Sertifikat mana yang gagal

Saat verifikasi gagal, baca ujung yang disebut dalam kesalahan sebelum mengubah setelan kepercayaan apa pun. Kedua kegagalan tampak serupa di terminal dan menunjuk ke perbaikan yang sama sekali berbeda, karena itu pertanyaan pertama selalu koneksi mana yang menolak.

curl memisahkan opsi justru karena alasan ini. Berkas CA proxy mengonfigurasi verifikasi proxy, sedangkan berkas CA mengonfigurasi verifikasi server, dan perilaku penyimpanan kepercayaan yang berlaku juga bergantung pada bagaimana curl dibangun.

curl -v --proxy https://proxy.example.net:443 \
  --proxy-cacert org-ca.pem --cacert public-ca.pem https://www.example.com/

Menekan pemeriksaan bukanlah perbaikan. Itu tidak membuktikan apa pun tentang salah satu ujung.

Inspeksi adalah susunan yang berbeda

Inspeksi TLS bukan penerowongan. Perantara yang menginspeksi mengakhiri hubungan kepercayaan ke situs web dan menyajikan sertifikatnya sendiri kepada klien, sehingga klien memverifikasi perantara dan bukan situs. Itu bisa sah dalam desain yang disetujui, dan merupakan klaim yang secara material berbeda dari penerusan byte demi byte. Jangan berasumsi setiap proxy menginspeksi, dan jangan berasumsi lompatan proxy yang terenkripsi mengecualikannya.

CA organisasi di penyimpanan kepercayaan Anda adalah petunjuk tentang susunan mana yang Anda pakai, bukan bukti. Tanyakan desainnya daripada menyimpulkannya dari rantai sertifikat.

Kedua susunan itu memberi jawaban berbeda atas pertanyaan siapa yang dapat membaca halaman.

Bandingkan proxy dan VPN pada empat baris yang sama

Perbandingan baru berguna ketika kedua penerapan dijelaskan dengan cara yang sama.

LineWhat to state
Protected segmentsWhich hops are encrypted, and between which endpoints
Verified identitiesWhat each end proves, and against which trust anchor
Trusted intermediariesWho can read or alter traffic by design
Traffic includedWhich processes and destinations the policy actually covers

Proxy yang dikonfigurasi untuk satu permintaan mencakup permintaan itu. Ia tidak mengalirkan setiap proses di perangkat melaluinya, dan perintah contoh memang sesempit itu. Cakupan VPN bergantung pada perutean dan kebijakan aplikasinya, yang juga harus diperiksa bukan diasumsikan. Tidak ada opsi yang mencakup semuanya hanya karena sudah dipasang.

Tuliskan empat baris untuk setiap opsi dan argumennya biasanya selesai sendiri. Perbandingan yang berguna bukanlah label mana yang terdengar lebih terenkripsi. Melainkan segmen mana yang dilindungi, siapa yang diverifikasi di ujungnya, perantara mana yang Anda percayai, dan lalu lintas apa yang sebenarnya dicakup kebijakan.

Artikel terkait