Header keamanan untuk Laravel
medium7 titik pemeriksaan
Header keamanan adalah instruksi yang dikirim server pada setiap respons. Bila tidak ada, browser tidak bisa menegakkan proteksi yang sebenarnya dibutuhkan aplikasi.
Yang harus ada di Laravel
- Content-Security-Policy dengan nonce per request, tanpa 'unsafe-inline' pada script-src
- Strict-Transport-Security dengan max-age minimal satu tahun dan includeSubDomains
- X-Frame-Options: DENY atau CSP frame-ancestors 'none'
- X-Content-Type-Options: nosniff pada setiap respons
- Referrer-Policy: strict-origin-when-cross-origin
- Permissions-Policy mematikan kamera, mikrofon, dan geolokasi
- Cross-Origin-Opener-Policy: same-origin
Cara memperbaiki
- 1Set header di middleware atau edge agar aset statis dan halaman error juga mendapatkannya
- 2Buat nonce CSP per request dan salurkan ke HTML lewat API header framework
- 3Jangan hanya menguji halaman depan: periksa HTML, API, dan respons 404
Konteks Laravel
PHP framework with Eloquent ORM, Blade templates and a huge ecosystem.
APP_DEBUG must be false in production — Ignition debug mode was RCE (CVE-2021-3129). Also watch .env exposure and unvalidated mass assignment.