Cara Menjadikan HTTPS sebagai Permintaan Pertama Melalui VPN
Mode khusus HTTPS, bookmark HTTPS asli, dan HSTS adalah tiga perbaikan berbeda. Jalankan melaluinya secara berurutan sehingga permintaan pertama dienkripsi, bukan dialihkan.
Browser yang mengetik http:// terlebih dahulu dan membuka https:// setelah pengalihan telah mengirimkan satu permintaan dengan jelas, dan VPN tidak mengubahnya. Tunnel melindungi segmen dari klien ke node keluar; itu tidak mengenkripsi apa pun di atas lapisan transport, sehingga pengamat antara pintu keluar dan asal masih melihat lompatan teks biasa. Menjadikan HTTPS sebagai permintaan pertama adalah perubahan sisi klien dengan tiga bagian: alamat HTTPS sebenarnya, mode peningkatan browser, dan kebijakan situs itu sendiri. Langkah-langkah di bawah ini adalah urutan yang saya gunakan, masing-masing dengan tanda centang yang memberi tahu Anda apakah diperlukan.
Langkah 1: konfirmasikan apa sebenarnya permintaan pertama
Sebelum mengubah apa pun, lihat apa yang dikirimkan browser. Buka panel jaringan dengan halaman yang dimuat ulang dari cache dingin dan baca baris pertama: jika skemanya adalah http dan statusnya adalah 301 atau 308, semuanya setelah baris itu adalah permintaan kedua. curl -sS -o /dev/null -w '%{http_code} %{url_effective}\n' http://example.com mereproduksi urutan yang sama di luar browser dan mencetak URL yang Anda buka.
Dua hasil mungkin terjadi dan memerlukan perbaikan yang berbeda. Jika situs menyajikan HTTPS pada host yang sama, perbaikannya adalah dengan berhenti menerbitkan formulir HTTP: perbarui bookmark, tautan wiki, pintasan desktop, dan templat email yang diklik orang. Jika situs tidak melayani HTTPS sama sekali, tidak ada pengaturan browser yang akan membuatnya, dan jawaban jujurnya adalah tujuannya adalah masalahnya. Jangan menutupi kasus kedua dengan pengecualian, karena pengecualian sertifikat pada halaman akun mengubah masalah transportasi menjadi masalah kredensial. Tuliskan kasus apa yang Anda gunakan sebelum menyentuh pengaturan.
Langkah 2: aktifkan mode khusus HTTPS browser
Mode peningkatan adalah bagian kedua, dan mode tersebut tidak dapat dipertukarkan. Periksa apa yang Anda lakukan sebelum mengaktifkannya: upgrade secara diam-diam, upgrade dengan peringatan, atau menolak memuat.
Di Firefox, kontrol berada di belakang about:config dan di halaman pengaturan privasi, dengan dom.security.https_only_mode sebagai tombol dan pengecualian per situs yang dikelola dari menu gembok. Di Chrome dan Edge, ide yang sama ada di Pengaturan, Privasi dan keamanan, Keamanan, berlabel Selalu gunakan koneksi aman. Apapun labelnya, verifikasi perilaku terhadap host yang hanya menjawab pada port 80, karena mode yang ditingkatkan dan kemudian mundur secara diam-diam bukanlah perlindungan yang Anda pikir telah Anda aktifkan. Dokumentasi Khusus HTTPS Firefox menjelaskan perilaku peningkatan versi, peringatan, dan pengecualian untuk browser tersebut.
Langkah 3: perbaiki sumber daya, bukan hanya bilah alamat
Jika pemutakhiran gagal, baca kesalahan sebenarnya, bukan bilah alamat. Host tanpa pendengar HTTPS, nama host yang tidak cocok dengan sertifikat, dan rantai yang kedaluwarsa menghasilkan pesan berbeda dan dimiliki oleh pemilik berbeda. Hanya yang pertama yang merupakan celah sisi server; yang kedua biasanya merupakan bookmark yang tidak pernah diperbarui; yang ketiga adalah masalah pembaharuan yang tidak relevan dengan koneksi VPN.
Jangan menambahkan pengecualian sertifikat ke situs akun karena VPN aktif. Pengecualian ini menonaktifkan pemeriksaan yang akan menangkap intersepsi yang seharusnya dicegah oleh VPN.
Bagian ketiga ada di dalam halaman, dan itulah yang dilewatkan orang. Halaman yang dimuat melalui HTTPS masih dapat mengambil gambar, font, atau skrip dari URL http, dan browser akan memblokirnya atau menurunkan versi indikator keamanan untuk keseluruhan halaman. Periksa permintaan yang gagal di panel jaringan dan perbaiki referensi sumber daya pada pemiliknya daripada berasumsi bilah alamat menjelaskan setiap permintaan. Di situs yang Anda jalankan, itu berarti memperbaiki URL yang disimpan di CMS atau templat alih-alih menulis ulang di browser. Jika Anda tidak dapat mengubah sumbernya, catat konten campuran sebagai celah yang diketahui, karena gembok di atas laman yang mengambil sumber teks biasa adalah sinyal palsu.
Langkah 4: apa yang ditambahkan HSTS dan apa yang tidak ditambahkan
HSTS adalah kebijakan situs dan bukan preferensi browser, dan merupakan satu-satunya mekanisme di sini yang bertahan ketika http:// diketik pada profil baru. Setelah browser melihat header Strict-Transport-Security untuk sebuah host, browser akan menulis ulang permintaan berikutnya ke https sebelum mengirimkannya, yang merupakan properti yang Anda inginkan. Ini tidak melakukan apa pun untuk host yang belum pernah dikunjungi oleh browser, dan tidak melakukan apa pun untuk nama host berbeda yang melayani aplikasi yang sama.
Periksa apa yang dikirimkan asal dengan curl -sSI https://example.com | grep -i strict-transport-security. Header yang hilang adalah perubahan server dan bukan sesuatu yang dapat diinstal oleh klien. Jika ada, baca max-age dan apakah includeSubDomains sudah disetel, karena usia maksimum yang singkat akan berakhir antara kunjungan dan includeSubDomains yang hilang membuat setiap subdomain tidak terlindungi. RFC 6797 mendefinisikan bagaimana agen pengguna menerapkan kebijakan dan apa yang mungkin diabaikannya. Pramuat merupakan komitmen terpisah, jadi periksa status melalui hstspreload.org API sebelum menjanjikan kepada siapa pun bahwa suatu domain ada dalam daftar.
Verifikasi dan pengembalian
Pengembalian murah untuk pengaturan klien dan mahal untuk HSTS. Menonaktifkan mode khusus HTTPS akan segera memulihkan perilaku sebelumnya; usia maksimal yang panjang tidak, dan pengunjung yang sudah menerimanya terus melakukan peningkatan hingga masa berlakunya habis.
Jadi verifikasikan urutannya sebelum menyelesaikannya. Muat ulang dari cache dingin dan konfirmasikan permintaan pertama di panel jaringan adalah https tanpa pengalihan sebelumnya. Kemudian periksa subdomainnya, karena includeSubDomains adalah tempat dimana kebijakan ini biasanya ternyata lebih sempit dari yang diasumsikan. Kemudian periksa satu halaman yang mengambil aset pihak ketiga, karena konten campuran adalah kegagalan yang bertahan dari setiap perbaikan lainnya.
Jika permintaan pertama tetap http setelah semua itu, klien tidak lagi menjadi variabel: tautan yang diklik orang adalah variabelnya. Telusuri tempat yang Anda kendalikan untuk bentuk http dari nama host, perbarui, dan uji ulang dengan memuat ulang cold-cache yang sama. Pisahkan seluruh pertanyaan tentang VPN, karena terowongan mengubah siapa yang dapat melihat permintaan dan tidak pernah mengubah apakah permintaan tersebut dienkripsi atau tidak. Baris yang harus dimasukkan ke dalam tiket adalah permintaan pertamalah yang penting, dan pengalihan hanyalah tanda terima atas permintaan yang sudah dikirim.