Güvenlik Başlığı Çözümleyici

Sonraki

Herhangi bir sitenin ham HTTP yanıt başlıklarını yapıştırın; bu çözümleyici neyin eksik veya zayıf olduğunu işaret eder. Bir siteyi gerçekten sertleştiren başlıkları (Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy ve Permissions-Policy) kontrol eder ve Server ya da X-Powered-By gibi sürüm ayrıntılarını sızdıran başlıklara dikkat çeker. Her bulgu yüksek, orta veya düşük olarak etiketlenir, böylece önce neyi düzelteceğinizi tam olarak bilirsiniz.

Başlık denetimi nasıl çalışır

  1. 1

    Yanıt başlıklarınızı alın

    `curl -I https://example.com` çalıştırın veya tarayıcınızın geliştirici araçlarındaki Ağ sekmesinden yanıt başlıklarını kopyalayın.

  2. 2

    Bunları yapıştırın

    Başlık bloğunu kutuya bırakın, her satıra bir `Ad: değer` çifti.

  3. 3

    Öncelik sıralı bulguları okuyun

    Her başlık kontrol edilir ve her eksik yüksek, orta veya düşük olarak, eklenecek tam yönergeyle birlikte etiketlenir.

  4. 4

    Sertleştirin ve yeniden kontrol edin

    Eksik başlıkları sunucu yapılandırmanıza ekleyin, yeniden yükleyin, sonra yeni yanıtı yapıştırarak eksiklerin kapandığını doğrulayın.

Fark yaratan başlıklar

Başlık Neyi engeller Önerilen minimum değer
Content-Security-Policy XSS, clickjacking, karışık içerik default-src 'self'; object-src 'none'; frame-ancestors 'none'
Strict-Transport-Security SSL stripping, HTTP üzerinden çerez sızıntısı max-age=31536000; includeSubDomains; preload
X-Frame-Options Eski tarayıcılarda clickjacking DENY (ya da CSP frame-ancestors’a güvenin)
X-Content-Type-Options Yüklenen dosyaların MIME koklanması nosniff
Referrer-Policy Üçüncü taraflara tam URL sızdırma strict-origin-when-cross-origin
Permissions-Policy Güvenilmez gömülerde kamera/mikrofon/konum camera=(), microphone=(), geolocation=()

Bu çözümleyici neleri işaretler

Başlıklarınızı yapıştırın; bunların her birini kontrol eder ve her eksiği önceliğe göre etiketler:

  • Eksik Strict-Transport-Security (yüksek), ya da var ama includeSubDomains yok (orta), bu da alt alanları düşürmeye açık bırakır.
  • Eksik Content-Security-Policy (yüksek), ya da hâlâ 'unsafe-inline'’a izin veren bir CSP (orta), bu da değerinin çoğunu ortadan kaldırır.
  • X-Content-Type-Options nosniff olarak ayarlı değil (düşük), böylece tarayıcılar yanıtları MIME koklaması yapabilir.
  • Eksik X-Frame-Options (orta), meğerki bir CSP frame-ancestors yönergesi bu işi zaten yapıyor olsun.
  • Eksik Referrer-Policy veya Permissions-Policy (düşük): tam URL’ler üçüncü taraflara sızar ve güçlü tarayıcı özellikleri açık kalır.
  • Server veya X-Powered-By mevcut (düşük): yığınınızı ve sürümünü açık eder, o yüzden tanınabilirliği azaltmak için bunları kaldırın.

Yayına alma ipucu

CSP’yi önce yalnızca rapor modunda dağıtın (Content-Security-Policy-Report-Only) ve bir rapor uç noktası bağlayın. Uygulamaya geçmeden önce bir haftalık gerçek trafikle çalışmasına izin verin: unuttuğunuz üçüncü taraf betikleri keşfedeceksiniz.

Sık Sorulan Sorular

Tam HTTP yanıt başlıklarını, her satıra bir Ad: değer çifti olacak şekilde yapıştırın. En hızlı kaynak curl -I https://example.com, ya da tarayıcınızın Ağ sekmesinde herhangi bir isteğin altındaki yanıt başlıkları bölümüdür.

Hayır. Yalnızca yapıştırdığınız HTTP yanıt başlıklarını okur. Bir <meta http-equiv> etiketiyle sunulan CSP yalnızca o belgeye uygulanır ve gerçek başlıktan daha zayıftır, o yüzden başlık sürümünü gönderin.

Hayır. Tüm modern tarayıcılar XSS denetleyicisini kaldırdı, dolayısıyla başlık koruma sağlamaz ve bazen kendi sorunlarını getirebilir. Sağlam bir Content-Security-Policy onun yerini alır.

Cloudflare gibi bir CDN başlıkları kaldırabilir ya da yeniden yazabilir (özellikle Server ve isteğe bağlı olarak Transform Rules aracılığıyla CSP). Kenarın tam olarak neyi değiştirdiğini görmek için genel URL’ye karşı curl -I ile doğrudan kökenle karşılaştırın.

İlgili Araçlar

Araç diğer dillerde mevcuttur