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:
| Metode | Deskripsi | Tujuan |
|---|---|---|
| CSP Report-Only | Menggunakan header Content-Security-Policy-Report-Only | Memantau pelanggaran tanpa memblokir konten |
| Browser Console | Memeriksa log error di DevTools | Melihat skrip mana yang diblokir oleh kebijakan |
| CSP Evaluator | Menggunakan tools online (Google CSP Evaluator) | Menganalisis kelemahan konfigurasi kebijakan |
| Unit Testing | Integrasi 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.comuntuk memasukkan kebijakan Anda dan mendapatkan saran perbaikan otomatis. - Validasi Pihak Ketiga: Pastikan semua CDN, font, dan API pihak ketiga telah terdaftar dalam direktif
script-srcatauconnect-srcagar 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.