Skip to main content
← Semua tulisan
TutorialDiterbitkan 2 Oktober 20262 menit baca

Security Header yang Saya Aktifkan di Website Klien

Set header HTTP yang praktis untuk situs bisnis: HTTPS, HSTS, nosniff, frame options, referrer policy, dan apa yang sebaiknya ditunda di hari pertama.

SecurityHeadersHTTPSHSTS
Daftar isi

Kebanyakan situs klien tidak butuh WAF custom di hari pertama. Yang mereka butuhkan adalah header HTTP yang membosankan supaya browser berhenti menebak soal HTTPS, framing, dan tipe konten.

Saya menambahkan ini setelah sertifikat valid—bukan sebagai pengganti update, backup, atau password admin yang waras.

Daftar pendek

Header Alasan
Strict-Transport-Security Memaksa HTTPS setelah kunjungan aman pertama
X-Content-Type-Options: nosniff Menghentikan MIME sniffing
Referrer-Policy Membatasi kebocoran URL ke pihak ketiga
X-Frame-Options atau CSP frame-ancestors Mengurangi clickjacking
Permissions-Policy Mematikan kamera/mic/geolokasi yang tidak dipakai

HSTS, dengan hati-hati

Strict-Transport-Security: max-age=15552000; includeSubDomains masuk akal setelah semua subdomain yang penting sudah melayani HTTPS.

Jangan aktifkan preload di domain baru sampai Anda yakin host email dan staging tidak akan rusak. Kesalahan preload menyakitkan untuk dibatalkan.

Yang biasanya saya tunda saat launch

Content-Security-Policy yang ketat itu berharga, tapi merusak script inline, tag manager, embed peta, dan page builder jika Anda menyalin template secara membabi buta. Mulai dengan Content-Security-Policy-Report-Only, pantau pelanggaran, baru enforce.

Lewati juga:

  • menyembunyikan banner server sebagai satu-satunya tugas “keamanan”;
  • plugin keamanan yang memindai setiap page view dan merusak TTFB;
  • memblokir Googlebot atas nama hardening.

Di mana mengaturnya

  • Apache: Header set di .htaccess atau vhost, setelah mod_headers aktif.
  • Nginx: add_header di blok server HTTPS—ingat header itu tidak selalu terwariskan seperti yang orang kira.
  • Cloudflare: Transform Rules atau snippet konfigurasi, dan jangan menduplikasi nilai yang bentrok dari origin dan edge.

Cek respons live:

curl -sI https://example.com | grep -iE 'strict-transport|content-type-options|referrer-policy|frame-options|permissions-policy'

Verifikasi di browser

Buka DevTools → Network → dokumen → Response Headers. Lalu muat homepage, satu form, dan satu peta atau video tertanam. Jika widget hilang, header terlalu ketat untuk halaman itu—longgarkan direktif tersebut, jangan hapus seluruh set.

WhatsApp