CertH certH
Di halaman ini

HSTS Dijelaskan: max-age, preload, dan Apa yang Rusak

Diperbarui 2026-11-03 · 6 menit baca

HSTS adalah satu-satunya header keamanan yang bisa membuat situs tidak dapat diakses — termasuk oleh pemiliknya. Ia juga wajib untuk A+. Jarak antara kedua fakta itu sepenuhnya soal disiplin peluncuran.

Apa yang sebenarnya dilakukan header ini

Strict-Transport-Security memberi tahu browser bahwa host ini hanya boleh dihubungi lewat HTTPS selama N detik ke depan. Setelah diterima, browser menulis ulang tautan http:// internal, memblokir klik mengabaikan kesalahan sertifikat, dan menolak HTTP polos sepenuhnya — sebelum permintaan apa pun meninggalkan mesin.

Itulah sebabnya ia menahan serangan downgrade yang tidak bisa ditahan pengalihan: pengalihan tetap mengirim permintaan pertama dalam teks polos, dan itulah persis permintaan yang ingin dicegat penyerang di jaringan.

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

max-age adalah hitungan mundur yang tidak bisa dibatalkan

max-age disimpan di klien. Jika Anda menyajikan satu tahun lalu menghapus header, setiap browser yang sudah melihatnya tetap memaksa HTTPS hingga satu tahun. Tidak ada sakelar sisi server untuk mematikannya.

CertH menganggap 180 hari (15552000 detik) sebagai ambang untuk A+. Satu tahun adalah nilai produksi yang umum. Di bawah 180 hari masih dihitung HSTS aktif di ringkasan, tetapi tidak membuka A+.

includeSubDomains dan preload adalah dua keputusan terpisah

includeSubDomains memperluas aturan ke setiap subdomain. Jika ada subdomain yang hanya berbicara HTTP — alat internal, panel admin lama, host staging — subdomain itu menjadi tidak dapat diakses bagi siapa pun yang pernah mengunjungi domain induk. Audit DNS dulu.

Preload melangkah lebih jauh: domain ditanamkan ke daftar yang dikirim bersama browser, sehingga aturan berlaku bahkan pada kunjungan pertama, sebelum header apa pun dilihat. Pencabutannya butuh berbulan-bulan dan memerlukan pengajuan ke daftar penghapusan. Jangan tambahkan preload sebelum header stabil setidaknya beberapa bulan.

  • •Sajikan header pada setiap respons HTTPS, termasuk halaman kesalahan — 404 tanpa header itu tidak mengajarkan apa pun ke browser.
  • •Jangan pernah mengirim HSTS lewat HTTP polos; browser mengabaikannya sesuai spesifikasi, jadi loop pengalihan yang salah konfigurasi tidak bisa diperbaiki dengan cara ini.
  • •Periksa subdomain untuk layanan hanya HTTP sebelum menambahkan includeSubDomains.
  • •Tambahkan preload paling akhir, dan hanya setelah max-age berada di satu tahun selama beberapa waktu.

Peluncuran yang tidak merusak apa pun

Mulailah dengan max-age pendek agar kesalahan cepat kedaluwarsa: max-age=300. Pertahankan seminggu dan pantau subdomain rusak serta laporan konten campuran. Lalu satu hari, sebulan, lalu setahun. Setiap langkah dapat dibalik dalam jendela sebelumnya — itulah inti memulai pendek.

Jika ada yang rusak, perbaikannya adalah menyajikan HTTPS dengan benar pada host tersebut — bukan menghapus header, yang tidak lagi membantu siapa pun yang sudah menerimanya.

FAQ

Apakah tidak adanya HSTS menurunkan skor saya?

Tidak mengurangi skor dasar, tetapi memblokir A+: nilai tertinggi memerlukan HSTS dengan max-age minimal 180 hari atau preload. Situs bisa mendapat 100 dan tetap A tanpanya.

Bisakah saya memakai HSTS tanpa memiliki semua subdomain?

Ya, selama Anda tidak menyertakan includeSubDomains. Header lalu hanya berlaku untuk host persis yang menyajikannya.

Baca berikutnya