Apakah pembungkus TLS memberi Anda jaringan pribadi? Biasanya tidak
Pembungkus melindungi satu koneksi terkonfigurasi di antara ujung-ujungnya. VPN berbasis rute membawa lalu lintas setiap aplikasi, yang merupakan model akses berbeda.
TLS melindungi kanal antara dua ujung dan tidak mengatakan apa pun tentang layanan apa yang ada di dalamnya. Pembungkus mengubah kanal itu menjadi satu penerus terkonfigurasi, untuk satu pendengar, ke satu tujuan. Produk yang dijual sebagai SSL VPN biasanya menambahkan antarmuka, tabel rute, dan model akses di sekitar primitif yang sama. Mencampuradukkan keduanya adalah cara sebuah terowongan yang berfungsi disalahartikan sebagai akses jaringan.
Apa yang sebenarnya dihubungkan pembungkus layanan
Pembungkus mendengarkan pada port lokal dan meneruskan apa yang datang ke tujuan terkonfigurasi, entah host dan port atau program lokal. Tujuan itu dipilih oleh siapa pun yang menulis berkas konfigurasi, satu pendengar setiap kali. Memasang paket tidak membuat rute, antarmuka virtual, maupun keterjangkauan bagi apa pun yang tidak dicantumkan secara eksplisit. Bacalah konfigurasi sebelum deskripsi paket, karena deskripsi mencakup satu kelas penggunaan dan berkasnya mencakup milik Anda.
Jadi pertanyaan berguna tentang pembungkus bukanlah apakah ia mengenkripsi, melainkan apa yang berdiri di setiap ujung rantai yang dibangunnya.
application -> local listener -> TLS connection -> remote listener -> configured backend
Bacalah rantai itu dari konfigurasi, bukan dari nama pemasaran. Setiap panah adalah lompatan jaringan tersendiri dengan alamat dan aturan aksesnya sendiri.
Temukan di mana kanal TLS berakhir
Jika pembungkus mengakhiri TLS, semua yang diteruskannya adalah koneksi baru dengan sifat baru. Aliran itu bisa berupa teks biasa pada segmen privat, atau membawa protokol terlindungi lain di dalamnya. Mengasumsikan salah satunya tanpa membaca konfigurasi backend adalah cara orang menyimpulkan bahwa lapisan luar melindungi data yang tidak pernah dilihatnya lagi. Lompatan yang diteruskan layak mendapat pemeriksaan sendiri, pada alamat dan portnya sendiri.
Periksa pendengar dan backend secara terpisah, karena jabat tangan yang berhasil di pintu depan tidak mengatakan apa pun tentang layanan di belakangnya.
ss -ltnp | grep -F 443 openssl s_client -connect svc.example.net:443 -servername svc.example.net </dev/null | openssl x509 -noout -subject -dates
Perintah pertama menunjukkan proses mana yang memiliki port dan pada alamat mana ia mendengarkan. Yang kedua mencetak sertifikat yang benar-benar diterima klien, dan itulah pemeriksaan identitas yang tidak dapat digantikan nomor port.
Apa yang ditambahkan VPN berbasis rute dan tidak dilakukan pembungkus
VPN berbasis rute memasang antarmuka, mengambil kepemilikan atas prefiks terpilih, dan berintegrasi dengan perutean serta kebijakan akses host. Setiap aplikasi di mesin mendapat manfaat tanpa tahu terowongan itu ada. Pembungkus memberikan jangkauan itu kepada satu pendengar terkonfigurasi dan berhenti di situ.
Penerimaan adalah hal terpisah lagi. VPN yang mengautentikasi klien tetap memerlukan otorisasi yang menyatakan sumber daya mana yang boleh dijangkau klien, dan pembungkus yang mengautentikasi rekan tetap memerlukan backend yang menegakkan izinnya sendiri.
Ada kombinasi yang sah: protokol VPN yang dibawa di dalam pembungkus TLS pada susunan TCP yang sengaja didukung. Itu menumpuk dua lapisan, dan tidak menjadikan pembungkus dan VPN sebagai jenis objek yang sama.
Bandingkan batas yang gagal
Catat alamat ujung depan, pendengar, identitas rekan, target backend, dan operasi aplikasi sebelum mengubah apa pun. Lalu bandingkan yang sebanding: keberhasilan melalui nama host atau port berbeda tidak membuktikan bahwa kondisi firewall dan sertifikat identik.
Permintaan backend yang ditolak tidak boleh pernah diperbaiki dengan menonaktifkan verifikasi identitas ujung depan. Itu menukar kegagalan otorisasi yang dapat didiagnosis dengan kegagalan kepercayaan yang tidak dapat didiagnosis.
curl -sv --resolve svc.example.net:443:203.0.113.10 https://svc.example.net/health 2>&1 | head -30
Menyematkan nama ke alamat terpilih memisahkan resolusi nama dari keterjangkauan, yang biasanya merupakan cara tercepat untuk mengetahui mana dari keduanya yang rusak.
Perbandingan yang penting menyebutkan pasangan ujung terlindungi, muatan yang dibawa, aplikasi yang menggunakannya, dan izin yang ditegakkan di tujuan. TLS berkontribusi pada deskripsi itu tanpa melengkapinya.