HSTS menyuruh peramban menolak http biasa untuk domain Anda selama jangka yang ditetapkan. Ia menutup sebuah serangan yang nyata — permintaan pertama, sebelum pengalihan — dan peramban mengingatnya; justru itulah sebabnya ia harus diperkenalkan dengan hati-hati.
Tajuknya
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Apa yang membuatnya berbahaya
Perkenalkan ia bertahap
# week 1 - five minutes
add_header Strict-Transport-Security "max-age=300" always;
# week 2 - a day
add_header Strict-Transport-Security "max-age=86400" always;
# week 3 - a week, then a year once nothing has broken
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
includeSubDomains adalah bagian yang menjerat orang
Ia berlaku untuk setiap subdomain, termasuk yang Anda lupakan: situs uji coba lama, sebuah perkakas internal, sebuah server warisan tanpa sertifikat. Semuanya menjadi tak terjangkau lewat http, sekaligus. Pastikan setiap subdomain punya sertifikat yang sah sebelum Anda menambahkannya.
for h in www shop staging api mail; do
printf '%-8s ' "$h"
curl -sS -o /dev/null -w '%{http_code}\
' "https://$h.example.com/" || echo FAIL
done
Pramuat itu, dalam praktiknya, permanen
Daftar pramuat dikompilasi ke dalam peramban, jadi aturannya berlaku bahkan sebelum ada kunjungan. Penghapusan perlu berbulan-bulan untuk sampai ke semua orang. Jangan tambahkan token preload sebelum situsnya berjalan setahun penuh pada max-age penuh tanpa insiden.
Kalau Anda sudah terkunci di luar
Perbaiki sertifikatnya — hanya itu jawaban yang sebenarnya. Untuk mesin Anda sendiri, Chrome bisa membersihkan satu domain di chrome://net-internals/#hsts; itu memungkinkan Anda menguji, tetapi tak berbuat apa-apa bagi pengunjung Anda.
