Güvenlik

Güvenlik Başlıkları

HTTP güvenlik başlıklarınızı değerlendirin — CSP, HSTS, X-Frame-Options ve daha fazlası.

Güvenlik Başlıkları Hakkında

Bir sitenin HTTP güvenlik başlıklarını — Content-Security-Policy, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy ve diğerlerini — güncel en iyi uygulamalara göre derecelendirir ve nelerin mevcut, eksik veya yanlış yapılandırılmış olduğunu raporlar. Eksik güvenlik başlıkları, temel bir güvenlik denetiminde en sık karşılaşılan ve kolayca düzeltilebilen bulgulardan biridir. Her başlık farklı bir amaca hizmet ettiğinden — HSTS protokol düşürmeyi önler, X-Frame-Options clickjacking'i engeller, CSP bir sayfanın neyi yükleyebileceğini kısıtlar — derecelendirme tek belirsiz bir puan yerine başlık başına ayrılır.

Buradaki yüksek puan, katmanlı savunmadır; bu başlıkların korumaya çalıştığı asıl güvenlik açıklarını gidermenin yerini tutmaz — CSP ve X-Frame-Options bir XSS veya clickjacking hatasının etki alanını azaltır, hatanın uygulama kodunda var olmasını engellemez.

📖 Bilgi Bankasında daha fazlasını oku →

Önerilen değerler

Başlıkİyi bir başlangıç değeri
Strict-Transport-Securitymax-age=31536000; includeSubDomains
Content-Security-PolicySiteye özgüdür. CSP oluşturucu ile başlayın.
X-Content-Type-Optionsnosniff
X-Frame-OptionsDENY veya SAMEORIGIN (ya da CSP frame-ancestors)
Referrer-Policystrict-origin-when-cross-origin
Permissions-PolicyKullanmadığınız özellikler için camera=(), microphone=(), geolocation=()
Cross-Origin-Opener-Policysame-origin; oturum açma pencereleri bozulursa same-origin-allow-popups
Cross-Origin-Resource-Policysame-site. Başka sitelerin yerleştirmesi gereken kaynaklarda dikkatli olun.

Bırakabileceğiniz başlıklar

X-XSS-Protection kullanımdan kalkmıştır; modern tarayıcılar onu yok sayar ve güncel öneri hiç göndermemek ya da 0 yapmaktır. Expect-CT artık kullanılmıyor. Server ve X-Powered-By içindeki sürüm bilgileri yalnızca saldırganlara yarar.

Nerede ayarlanır

  • nginx: add_header X-Content-Type-Options "nosniff" always; Dikkat: bir location bloğu içindeki add_header, server bloğundakilerin tümünün yerini alır; bu yüzden bazı yollarda başlıklar sessizce kaybolur.
  • Apache: Header always set X-Content-Type-Options "nosniff"
  • Bir CDN arkasındaysanız başlıklar uçta da eklenebilir; bu, önbellekten gelen yanıtları da kapsar.

HSTS ile dikkatli olun

Bir tarayıcı HSTS'yi bir kez gördüğünde, max-age dolana kadar o alan adı için düz HTTP'yi reddeder. includeSubDomains eklemeden önce her alt alan adının HTTPS ile çalıştığından emin olun. Emin değilseniz 300 gibi kısa bir max-age ile başlayın; preload'u ise yalnızca kesinlikle emin olduğunuzda ekleyin: önyükleme listesinden çıkarılmak aylar sürer.