Penganalisis Header Keamanan

Berikutnya

Tempel header respons HTTP mentah dari situs mana pun, dan penganalisis ini akan menandai apa yang hilang atau lemah. Ia memeriksa header yang benar-benar memperkuat situs (Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, dan Permissions-Policy) serta menyoroti header seperti Server atau X-Powered-By yang membocorkan detail versi. Setiap temuan diberi label tinggi, sedang, atau rendah, sehingga Anda tahu persis apa yang harus diperbaiki lebih dulu.

Cara kerja audit header

  1. 1

    Dapatkan header respons Anda

    Jalankan `curl -I https://example.com`, atau salin header respons dari tab Jaringan pada alat pengembang peramban Anda.

  2. 2

    Tempel di sini

    Letakkan blok header ke dalam kotak, satu pasangan `Nama: nilai` per baris.

  3. 3

    Baca temuan berprioritas

    Setiap header diperiksa dan setiap celah diberi label tinggi, sedang, atau rendah, dengan direktif persis yang harus ditambahkan.

  4. 4

    Perkuat dan periksa ulang

    Tambahkan header yang hilang ke konfigurasi server Anda, muat ulang, lalu tempel respons baru untuk memastikan celahnya tertutup.

Header yang membuat perbedaan

Header Yang diblokir Nilai minimum yang direkomendasikan
Content-Security-Policy XSS, clickjacking, konten campuran default-src 'self'; object-src 'none'; frame-ancestors 'none'
Strict-Transport-Security SSL stripping, kebocoran cookie melalui HTTP max-age=31536000; includeSubDomains; preload
X-Frame-Options Clickjacking pada peramban lama DENY (atau andalkan CSP frame-ancestors)
X-Content-Type-Options MIME sniffing pada file yang diunggah nosniff
Referrer-Policy Kebocoran URL lengkap ke pihak ketiga strict-origin-when-cross-origin
Permissions-Policy Kamera/mikrofon/geolokasi pada embed yang tidak tepercaya camera=(), microphone=(), geolocation=()

Apa yang ditandai penganalisis ini

Tempel header Anda, dan ia memeriksa masing-masing poin berikut, memberi label setiap celah menurut prioritas:

  • Strict-Transport-Security tidak ada (tinggi), atau ada tetapi tanpa includeSubDomains (sedang), yang membuat subdomain terbuka terhadap downgrade.
  • Content-Security-Policy tidak ada (tinggi), atau CSP yang masih mengizinkan 'unsafe-inline' (sedang), yang meniadakan sebagian besar manfaatnya.
  • X-Content-Type-Options tidak disetel ke nosniff (rendah), sehingga peramban dapat melakukan MIME sniffing pada respons.
  • X-Frame-Options tidak ada (sedang), kecuali direktif CSP frame-ancestors sudah menjalankan tugasnya.
  • Referrer-Policy atau Permissions-Policy tidak ada (rendah): URL lengkap bocor ke pihak ketiga dan fitur peramban yang kuat tetap terbuka.
  • Ada Server atau X-Powered-By (rendah): keduanya mengungkap stack dan versi Anda, jadi hapus untuk mengurangi kemudahan pengenalan.

Tips peluncuran

Pasang CSP dalam mode hanya-pelaporan lebih dulu (Content-Security-Policy-Report-Only) dan sambungkan endpoint pelaporan. Biarkan berjalan selama satu minggu dengan lalu lintas nyata sebelum beralih ke penegakan: Anda akan menemukan skrip pihak ketiga yang terlupakan.

Pertanyaan yang Sering Diajukan

Tempel header respons HTTP lengkap, satu pasangan Nama: nilai per baris. Sumber tercepat adalah curl -I https://example.com, atau bagian header respons di bawah permintaan mana pun pada tab Jaringan peramban Anda.

Tidak. Ia hanya membaca header respons HTTP yang Anda tempel. CSP yang dikirim melalui tag <meta http-equiv> hanya berlaku untuk dokumen itu saja dan lebih lemah daripada header sebenarnya, jadi kirim versi header-nya.

Tidak. Semua peramban modern telah menghapus auditor XSS, jadi header ini tidak memberikan perlindungan dan terkadang dapat menimbulkan masalah tersendiri. Content-Security-Policy yang solid menggantikannya.

CDN seperti Cloudflare dapat menghapus atau menulis ulang header (terutama Server, dan secara opsional CSP melalui Transform Rules). Bandingkan langsung dengan origin menggunakan curl -I pada URL publik untuk melihat persis apa yang diubah oleh edge.

Alat Terkait

Alat ini tersedia dalam bahasa lain