it-swarm-id.com

Keamanan ekstra HSTS melalui HTTPS

Apakah HSTS baik digunakan meskipun server saya dikonfigurasi untuk menggunakan HTTPS (ketika HTTP digunakan, aturan penulisan ulang di Apache mengubahnya menjadi HTTPS)?

Haruskah HSTS digunakan bahkan pada sumber daya seperti CSS dan gambar, atau hanya ketika tipe kontennya adalah teks/html?

28
Novice User

Ya, jika Anda menggunakan SSL sitewide, maka saya merekomendasikan untuk mengaktifkan HSTS .

HSTS adalah langkah keamanan penting untuk mengalahkan serangan man-in-the-middle yang mengubah pengguna ke http dan kemudian menyerang pengguna. Sebagai contoh, sslstrip adalah alat yang terkenal untuk memasang serangan seperti itu. Untuk perincian lebih lanjut tentang serangan semacam ini, lihat pertanyaan berikut: Bagaimana cara menggagalkan serangan sslstrip? , Opsi ketika bertahan melawan SSLstrip? , dan jawaban ini .

HSTS memberi tahu browser: jangan pernah menggunakan HTTP dengan situs ini. Hanya mengaksesnya melalui HTTPS. Jadi, untuk mengaktifkan HSTS, Anda harus memastikan bahwa situs Anda berfungsi dengan HTTPS, dan hanya HTTPS. Ini termasuk semuanya: HTML, CSS, Javascript, semuanya. Pastikan semua CSS dan Javascript di situs Anda tersedia melalui HTTPS. Juga, saya sarankan Anda mengonversi halaman Anda untuk referensi semuanya melalui HTTPS (Saya sarankan halaman Anda menghindari memuat sumber Javascript atau CSS lainnya melalui HTTP, karena dapat menyebabkan peringatan atau masalah keamanan untuk beberapa browser).

Misalnya, katakanlah situs Anda adalah www.example.com dan Anda memiliki halaman https://www.example.com/buy.html yang mencakup beberapa Javascript dari situs Anda. Anda harus memastikan file Javascript Anda tersedia di URL HTTPS (mis., https://www.example.com/library.js). Saya sarankan Anda memuatnya melalui URL HTTPS (mis., <SCRIPT SRC="https://www.example.com/library.js">).

P.S. Saya juga menyarankan Anda mengatur tanda secure pada semua cookie yang Anda gunakan.

15
D.W.

Ya, keamanan transportasi yang ketat memberikan manfaat nyata.

HSTS memberi tahu browser untuk hanya berkomunikasi dengan server melalui HTTPS. Pertama kali browser melihat header HSTS dari server, ia mengingatnya. Ketika pengguna mengunjungi situs lagi, browser memberlakukan bahwa semua komunikasi dilakukan melalui HTTPS. Ini akan berfungsi selama penyerang tidak menelanjangi header pada kunjungan pertama ke situs.

Ini mencegah serangan stripping SSL, suatu bentuk serangan man-in-the-middle yang menyajikan kepada pengguna sumber daya teks yang jelas alih-alih yang SSL. Biasanya, pengguna tidak akan diberi tahu, dan sebagian besar pengguna "rata-rata" tidak akan menemukan bahwa gembok SSL atau highlight hijau/biru tidak ditampilkan di bilah URL. Dalam hal HSTS, browser akan segera memperingatkan pengguna bahwa browser berusaha melanggar kebijakan keamanannya sendiri.

  1. Klien membuat koneksi teks-jelas ke server.
  2. Server merespons dengan pengalihan ke alamat HTTPS, dengan set header HSTS.
  3. Klien dan server berkomunikasi melalui SSL.
  4. Sesi berakhir.
  5. Klien kembali lagi nanti, browser telah menyimpan bendera HSTS untuk domain ini.
  6. Penyerang mencoba melakukan serangan strip-SSL, dan menyajikan teks yang jelas kepada klien.
  7. Klien mengakui bahwa kebijakan HSTS melarang ini, dan memperingatkan pengguna.

Untuk keamanan lebih lanjut, beberapa mengusulkan agar HSTS diimplementasikan sebagai opsi dalam DNSSEC, sehingga header HSTS ditetapkan sebagai bagian dari pencarian DNS. Karena DNSSEC memberikan keamanan yang kuat melalui sertifikat otoritas yang didistribusikan sebelumnya, ini akan membuat penyerang sangat sulit untuk mengalahkan mekanisme HSTS, bahkan jika mereka secara aktif berusaha melakukan SSL strip pada kunjungan pertama ke situs.

22
Polynomial