Apa yang dimaksud dengan konten campuran?

Halaman memiliki konten campuran saat HTML awalnya dimuat melalui koneksi HTTPS yang aman, tetapi resource lain (seperti gambar, video, stylesheet, dan skrip) dimuat melalui koneksi HTTP yang tidak aman. Nama ini mengacu pada campuran konten HTTP dan HTTPS di satu halaman.

Meminta subresource menggunakan protokol HTTP yang tidak aman akan melemahkan keamanan halaman, karena permintaan ini rentan terhadap serangan on-path, yang mana penyerang menguping koneksi jaringan dan melihat atau mengubah komunikasi antara dua pihak. Dengan menggunakan resource ini, penyerang dapat melacak pengguna dan mengganti konten di situs, dan dalam kasus konten campuran aktif, mereka dapat mengambil kontrol penuh atas halaman, bukan hanya resource yang tidak aman.

Meskipun banyak browser melaporkan peringatan konten campuran kepada pengguna, laporan tersebut sering kali terlambat: permintaan yang tidak aman telah dilakukan dan keamanan halaman terganggu.

Sebagian besar browser kini memblokir konten campuran karena alasan keamanan. Ubah permintaan konten yang tidak aman menjadi konten yang aman untuk memastikan halaman Anda terus dimuat dengan benar.

Dua jenis konten campuran

Ada dua jenis konten campuran: aktif dan pasif.

Konten campuran pasif, termasuk gambar, video, dan audio, tidak berinteraksi dengan bagian halaman lainnya, sehingga serangan man-in-the-middle dibatasi dalam hal yang dapat dilakukan jika mencegat atau mengubah konten tersebut.

Konten campuran aktif berinteraksi dengan halaman secara keseluruhan. Konten ini mencakup skrip, stylesheet, iframe, dan kode lain yang dapat didownload dan dieksekusi oleh browser. Serangan terhadap konten campuran aktif memungkinkan penyerang melakukan hampir semua hal ke halaman.

Konten campuran pasif

Konten campuran pasif lebih berisiko daripada konten campuran aktif, tetapi risiko tersebut tetap ada. Misalnya, penyerang dapat:

  • Mencegat permintaan HTTP untuk gambar di situs Anda dan menukar atau mengganti gambar tersebut.
  • Mengganti gambar pada tombol sehingga pengguna salah mengira dan, misalnya, menghapus konten yang ingin mereka simpan.
  • Merusak situs Anda dengan mengganti gambar Anda dengan konten pornografi.
  • Mengganti gambar produk Anda dengan iklan untuk hal lain.

Meskipun penyerang tidak mengubah konten situs Anda, mereka dapat melacak pengguna melalui permintaan konten campuran. Mereka juga dapat mengetahui halaman mana yang dikunjungi pengguna dan produk mana yang mereka lihat berdasarkan gambar atau resource lain yang dimuat browser.

Jika konten campuran pasif ada, sebagian besar browser akan menunjukkan di kolom URL bahwa halaman tersebut tidak aman, meskipun halaman itu sendiri dimuat melalui HTTPS.

Hingga saat ini, konten campuran pasif dimuat di semua browser, karena memblokirnya akan merusak banyak situs. Hal ini kini mulai berubah, jadi penting untuk memperbarui semua instance konten campuran di situs Anda.

Dalam beberapa kasus, Chrome otomatis mengupgrade konten campuran pasif. Artinya, jika aset telah dikodekan secara permanen sebagai HTTP tetapi tersedia melalui HTTPS, browser akan memuat versi HTTPS. Jika tidak ada versi yang aman, aset tidak akan dimuat.

Setiap kali Chrome mendeteksi konten campuran atau mengupgrade konten campuran pasif secara otomatis, Chrome akan mencatat pesan mendetail ke tab Masalah di DevTools untuk memberi tahu Anda cara memperbaiki masalah tertentu.

Tab Masalah di Chrome DevTools menampilkan informasi mendetail tentang masalah konten campuran tertentu dan cara memperbaikinya
Setiap resource yang tidak aman tercantum di DevTools, beserta status pembatasan.

Konten campuran aktif

Konten campuran aktif menimbulkan ancaman yang lebih besar daripada konten campuran pasif. Penyerang dapat mencegat dan menulis ulang konten aktif, menggunakannya untuk mengambil kontrol penuh atas halaman Anda atau bahkan seluruh situs Anda. Hal ini memungkinkan mereka mengubah aspek halaman apa pun, termasuk menampilkan konten yang berbeda, mencuri sandi pengguna atau kredensial login lainnya, mencuri cookie sesi pengguna, atau mengalihkan pengguna ke situs lain.

Karena risiko konten campuran aktif sangat tinggi, sebagian besar browser sudah memblokir jenis konten ini secara default untuk melindungi pengguna, tetapi perilaku bervariasi antara vendor dan versi browser. Di Chrome, Anda dapat melihat konten yang diblokir di tab Masalah di DevTools.

Tab Masalah di Chrome DevTools menampilkan informasi mendetail tentang masalah konten campuran tertentu dan cara memperbaikinya
Beberapa resource yang tidak aman diblokir untuk memperkuat keamanan situs Anda.

Spesifikasi konten campuran

Browser mengikuti spesifikasi konten campuran, yang menentukan kategori konten yang dapat diblokir secara opsional dan konten yang dapat diblokir.

Resource memenuhi syarat sebagai konten yang dapat diblokir secara opsional "jika risiko mengizinkan penggunaannya sebagai konten campuran lebih besar daripada risiko merusak sebagian besar web". Ini adalah subkumpulan konten campuran pasif.

Semua konten campuran yang bukan konten yang dapat diblokir secara opsional dianggap konten yang dapat diblokir, dan harus diblokir oleh browser.

Dalam beberapa tahun terakhir, penggunaan HTTPS telah meningkat secara drastis, dan telah menjadi default yang jelas di web. Hal ini membuat browser kini lebih memungkinkan untuk mempertimbangkan pemblokiran semua konten campuran, bahkan jenis subresource yang ditentukan dalam spesifikasi konten campuran sebagai konten yang dapat diblokir secara opsional.

Browser lama

Beberapa pengunjung mungkin menggunakan browser lama. Versi browser yang berbeda dari vendor yang berbeda memperlakukan konten campuran secara berbeda. Paling buruk, browser dan versi lama tidak memblokir konten campuran sama sekali, yang tidak aman bagi pengguna.

Dengan memuat semua resource Anda secara aman dan memperbaiki masalah konten campuran, Anda memastikan konten Anda terlihat dan melindungi pengguna dari konten berbahaya yang mungkin tidak diblokir oleh browser lama.