Kandungan bercampur di sebalik VPN: betulkan sumbernya, bukan terowongnya
Gembok menerangkan dokumen, bukan skrip yang dimuatkannya. Baca konsol, kekalkan sekatan, betulkan rujukan pada sumbernya, kemudian uji semula halaman itu.
Halaman HTTPS yang memuatkan skrip melalui HTTP membuat dua permintaan dengan dua tahap perlindungan berbeza, dan gembok hanya menerangkan yang pertama. Terowong tidak mengubahnya, kerana ia melindungi pembawa dan bukan skema sumber itu sendiri. Pelayar sudah memberitahu anda permintaan mana yang gagal, jika anda membaca konsol dan bukan bar alamat. Tiga semakan membawa anda daripada halaman yang berfungsi separuh kepada pembaikan sebenar.
Baca permintaan, bukan bar alamat
Dokumen yang diambil melalui HTTPS boleh merujuk skrip, helaian gaya, fon atau bingkai melalui HTTP biasa. Rujukan itu ialah permintaan berasingan, dan itulah yang diadukan oleh pelayar. Perlindungan dokumen utama tidak bergerak balik ke dalamnya, dan terowong yang membawa kedua-dua aliran tidak mengubah mana-mana skema. Oleh itu halaman boleh benar-benar selamat dan benar-benar rosak pada masa yang sama.
Memanggil sumber itu sekadar fail yang disertakan tidak menjadikan penggantiannya tidak berbahaya.
Jika kandungan skrip yang tidak selamat boleh diubah dalam perjalanan dan kemudian dilaksanakan, ia boleh mengubah tingkah laku halaman, dan itu masalah yang lebih besar daripada kegagalan kosmetik. Imej membawa risiko yang lebih kecil tetapi nyata apabila diubah dalam perjalanan. Gembok tidak berbohong tentang apa-apa. Ia menjawab soalan yang lebih sempit daripada yang anda tanyakan kepadanya.
Ketahui sumber mana yang disekat dan mana yang dinaikkan
Pelayar tidak melayan setiap jenis sumber dengan cara yang sama. panduan kandungan bercampur memisahkan permintaan yang dinaikkan ke HTTPS daripada permintaan yang disekat sepenuhnya, dengan skrip, helaian gaya dan permintaan programatik berada di pihak yang disekat, manakala imej dan media boleh dinaikkan atau ditandakan sebaliknya.
Perbezaan itulah yang menjelaskan laporan yang mengelirukan. Halaman dengan skrip yang disekat kehilangan sesuatu ciri sepenuhnya, manakala halaman dengan imej yang dinaikkan kelihatan baik dan secara senyap telah mengubah permintaannya. Kategori yang didokumenkan juga mempunyai pengecualian, jadi jangan anggap setiap URL bagi jenis tertentu akan berjaya dinaikkan. Baca apa yang konsol katakan tentang permintaan tertentu dan bukannya menaakul daripada sambungan fail.
Widget yang disekat bukan bukti bahawa terowong gagal. Ia bukti bahawa pelayar telah menjalankan tugasnya.
Betulkan rujukan pada sumbernya
Bagi pemilik tapak, pembaikan terletak di tempat URL yang tidak selamat ditulis: templat, helaian gaya, skrip yang menyusun URL, atau komponen pihak ketiga. Menukar alamat halaman yang kelihatan membiarkan semua itu tidak disentuh. Cari hos dalam sumber dan betulkan setiap rujukan, bukan hanya satu yang kebetulan dinamakan oleh konsol.
Kemudian sahkan bahawa sumber itu benar-benar disampaikan melalui HTTPS dengan identiti yang sah, kerana pertukaran skema tidak boleh memunculkan perkhidmatan yang tidak pernah diterbitkan di sana.
grep -rn "http://assets.example" ./templates
curl -sSI https://assets.example/widget.js | head -n 1Ikuti juga ubah hala, kerana rujukan yang bermula dengan HTTPS masih boleh mendarat di laluan penghantaran teks biasa. Apabila sesuatu kebergantungan langsung tidak mempunyai penghantaran selamat, buang atau gantikannya melalui proses perubahan biasa dan bukannya menghantar penyelesaian sementara. Bagi pengguna, biarkan perlindungan pelayar dihidupkan dan laporkan URL sumber, jenisnya dan mesej konsol kepada pemilik tapak. Jangan sekali-kali menyebarkan arahan yang memberitahu kakitangan untuk membenarkan kandungan tidak selamat bagi satu halaman, kerana pengecualian itu hidup lebih lama daripada insiden yang mencetuskannya.
Uji semula halaman seperti pengguna menyentuhnya
Latih operasi yang memuatkan sumber atas permintaan, bukan hanya dokumen pertama. Halaman mengambil kod, data dan muat turun tambahan selepas butang ditekan, dan permintaan itu selalunya yang tidak selamat. Sahkan permintaan tertentu dan tingkah laku yang kelihatan dengan perlindungan masih dihidupkan. Ujian yang bermula dengan profil pelayar yang dilonggarkan tidak dapat menunjukkan kepada anda apa yang dilihat oleh pengguna biasa.
Terowong masih mempunyai tugasnya sendiri, dan tugas itu ialah akses rangkaian, bukan integriti halaman.
Sebaik sahaja trafik meninggalkan titik akhir terowong, sebarang pengambilan HTTP yang tinggal tidak memperoleh apa-apa daripada pembawanya. Betulkan laluan sumber dan kekalkan penguatkuasaan dalam pelayar. Menganggap satu lagi lapisan pengangkutan sebagai pembaikan kepada kebergantungan yang tidak selamat ialah cara sesuatu pasukan akhirnya mempunyai skrip meja bantuan yang mematikan kawalan yang sebenarnya berfungsi dengan betul.