Panduan Teknis Testing Content Security Policy (CSP) untuk Keamanan Web

Apa Itu Content Security Policy (CSP)?

Content Security Policy (CSP) adalah lapisan keamanan tambahan yang membantu mendeteksi dan memitigasi jenis serangan tertentu, termasuk Cross-Site Scripting (XSS) dan injeksi data. Dengan mendefinisikan domain mana yang diperbolehkan oleh browser untuk memuat konten eksekusi, CSP secara drastis mengurangi risiko eksekusi skrip berbahaya.

Metode Testing CSP

Testing CSP dilakukan untuk memastikan kebijakan keamanan tidak merusak fungsionalitas situs web sambil tetap memberikan perlindungan maksimal. Berikut adalah tabel metode pengujian yang disarankan:

MetodeDeskripsiTujuan
CSP Report-OnlyMenggunakan header Content-Security-Policy-Report-OnlyMemantau pelanggaran tanpa memblokir konten
Browser ConsoleMemeriksa log error di DevToolsMelihat skrip mana yang diblokir oleh kebijakan
CSP EvaluatorMenggunakan tools online (Google CSP Evaluator)Menganalisis kelemahan konfigurasi kebijakan
Unit TestingIntegrasi dengan framework testing (Jest/Cypress)Memastikan header dikirim dengan benar

Langkah Implementasi Testing

Untuk memulai pengujian, gunakan mode report-only agar Anda dapat melihat apa yang akan diblokir tanpa mengganggu pengalaman pengguna. Berikut adalah contoh konfigurasi header untuk pengujian:

Content-Security-Policy-Report-Only: default-src 'self'; report-uri /csp-violation-report-endpoint;

Setelah menerapkan header tersebut, pantau endpoint report-uri Anda. Jika tidak ada laporan pelanggaran yang kritis, Anda dapat mengubah header menjadi Content-Security-Policy untuk mulai memblokir konten yang tidak diizinkan secara aktif.

Tips Troubleshooting

  • Cek Console Browser: Selalu buka tab 'Console' di Chrome DevTools atau Firefox Developer Tools saat melakukan testing. Pelanggaran CSP akan muncul sebagai error berwarna merah yang menjelaskan direktif mana yang dilanggar.
  • Gunakan CSP Evaluator: Kunjungi situs resmi csp-evaluator.withgoogle.com untuk memasukkan kebijakan Anda dan mendapatkan saran perbaikan otomatis.
  • Validasi Pihak Ketiga: Pastikan semua CDN, font, dan API pihak ketiga telah terdaftar dalam direktif script-src atau connect-src agar tidak terblokir secara tidak sengaja.

Pengujian yang konsisten adalah kunci. Jangan pernah menerapkan kebijakan CSP yang ketat ke lingkungan produksi tanpa melalui fase report-only selama minimal 1-2 minggu untuk memastikan semua aset sah telah teridentifikasi.