Panduan / OWASP dan keamanan aplikasi

Security headers dan CSP: fungsi dan cara memeriksanya

Security headers memberi browser aturan tambahan untuk memuat dan menampilkan halaman. Pilih aturan sesuai fungsi situs, uji dampaknya, dan tetap perbaiki kelemahan kode serta akses data.

Di halaman ini

Header apa yang perlu dipahami?

Security headers adalah bagian dari respons HTTP yang memberi browser aturan pengamanan. Keberadaannya dapat diperiksa, tetapi daftar header atau nilai pemindai bukan bukti bahwa aplikasi secara keseluruhan aman.

Header atau aturan Fungsi yang diperiksa
Content-Security-Policy (CSP) Membatasi sumber dan cara konten tertentu dimuat atau dijalankan
X-Content-Type-Options: nosniff Meminta browser mengikuti jenis konten yang dinyatakan; Content-Type tetap harus benar
Strict-Transport-Security (HSTS) Mengarahkan akses berikutnya melalui HTTPS selama masa kebijakan
Referrer-Policy Mengatur informasi halaman asal yang dikirim pada permintaan berikutnya
CSP frame-ancestors Membatasi siapa yang boleh menanam halaman ini di dalam frame

HSTS perlu mempertimbangkan kesiapan HTTPS dan sertifikat. Jangan mengaktifkan cakupan semua subdomain atau preload tanpa memeriksa dampak dan kesiapan operasionalnya.

CSP mengikuti kebutuhan halaman

Contoh fiktif: situs memiliki artikel statis dan formulir dengan widget verifikasi pihak lain. Artikel tidak memerlukan sumber widget tersebut. Tim menyusun kebijakan per kebutuhan halaman dan menguji formulir secara khusus.

script-src mengatur sumber skrip; connect-src mengatur koneksi seperti pengambilan data; img-src mengatur gambar. default-src menjadi cadangan untuk sejumlah aturan pemuatan, tetapi tidak otomatis mengisi semua aturan. Misalnya, frame-ancestors perlu ditetapkan tersendiri. Itu juga berbeda dari frame-src, yang mengatur frame yang dimuat oleh halaman.

Hindari menambahkan izin luas hanya untuk menghilangkan pesan error. Untuk skrip inline yang diperlukan, tim dapat menilai nonce atau hash. Nonce perlu dihasilkan secara aman untuk setiap respons; hash harus sesuai isi skrip, termasuk perubahan saat build.

Terapkan bertahap

  1. Inventarisasi skrip, font, gambar, frame, koneksi, dan tujuan formulir yang dibutuhkan.
  2. Susun kebijakan pada lingkungan uji; gunakan Content-Security-Policy-Report-Only bila perlu mengamati pelanggaran sebelum penegakan.
  3. Tinjau laporan dan uji alur penting. Report-Only tidak memblokir pelanggaran kebijakan itu.
  4. Aktifkan kebijakan penegakan setelah kasus sah dan penolakan yang diharapkan teruji.
  5. Periksa kembali sesudah perubahan aplikasi, CDN, atau integrasi.

Laporan pelanggaran dapat memuat informasi URL. Batasi data yang dikumpulkan, akses, dan masa simpannya.

Bukti pemeriksaan

Catat header respons pada halaman utama, halaman dalam, dan alur yang memakai integrasi. Simpan hasil uji login, pengiriman formulir, unduhan, serta tampilan mobile jika digunakan. Periksa respons yang benar-benar diterima browser, bukan hanya berkas konfigurasi di server.

CSP menambah perlindungan terhadap XSS, tetapi tidak menggantikan encoding, sanitasi, atau otorisasi. Gunakan bersama checklist keamanan sebelum peluncuran.

Unduh artikel (.md)

Sumber rujukan

  1. HTTP Security Response Headers Cheat Sheet ↗OWASP Foundation; panduan teknis keamanan aplikasi · Security Headers: Content-Type; HSTS; Referrer-Policy; X-Content-Type-Options; CSP
  2. Content Security Policy Cheat Sheet ↗OWASP Foundation; panduan teknis keamanan aplikasi · Policy Delivery; Strict CSP; Directives; Report-Only

Baca naskah lengkap untuk melihat syarat dan pengecualiannya. Sesuaikan dengan layanan dan bidang usaha Anda.

Perlu membahas kebutuhan tim Anda?

Ceritakan sistem yang dikelola dan kebutuhan pengamanan tim Anda.

Konsultasikan kebutuhan Anda