Implementasi 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 menentukan domain mana yang diizinkan untuk memuat konten, Anda dapat membatasi eksekusi skrip berbahaya.
Konfigurasi pada Nginx
Untuk menerapkan CSP di Nginx, tambahkan direktif add_header di dalam blok server atau location pada file konfigurasi Anda (biasanya di /etc/nginx/sites-available/default atau nginx.conf).
server {
listen 80;
server_name example.com;
add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://trusted.cdn.com;";
}Setelah menambahkan kode tersebut, lakukan pengecekan sintaks dengan perintah nginx -t dan muat ulang layanan menggunakan systemctl reload nginx.
Konfigurasi pada Apache
Pada Apache, Anda memerlukan modul mod_headers. Pastikan modul tersebut aktif dengan menjalankan a2enmod headers, lalu tambahkan baris berikut ke dalam file konfigurasi virtual host atau file .htaccess.
<IfModule mod_headers.c>
Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://trusted.cdn.com;"
</IfModule>Simpan perubahan dan restart Apache dengan perintah systemctl restart apache2.
Tabel Perbandingan Implementasi
| Fitur | Nginx | Apache |
|---|---|---|
| Modul | Bawaan (Core) | mod_headers |
| Lokasi File | nginx.conf / sites-available | httpd.conf / .htaccess |
| Perintah | add_header | Header set |
| Reload | nginx -s reload | systemctl restart apache2 |
Tips Troubleshooting
- Gunakan CSP Evaluator: Gunakan alat dari Google (csp-evaluator.withgoogle.com) untuk memvalidasi kebijakan Anda.
- Mode Report-Only: Gunakan
Content-Security-Policy-Report-Onlyuntuk menguji kebijakan tanpa memblokir konten secara langsung. - Cek Konsol Browser: Jika konten terblokir, periksa tab 'Console' di browser untuk melihat pelanggaran kebijakan yang terjadi.