Furkan KapukayaYazılım geliştirme
Güvenlik ve KVKK2 dk okuma

HTTP Güvenlik Başlıkları: CSP, HSTS ve Diğerleri

Web sitelerini XSS, tıklama korsanlığı ve protokol düşürme saldırılarına karşı koruyan Content-Security-Policy, HSTS, X-Content-Type-Options, Referrer-Policy ve Permissions-Policy başlıklarının kullanımı.

Bir web sitesinin güvenliği yalnızca sunucu ve koddan ibaret değildir. Tarayıcıya gönderilen bazı HTTP güvenlik başlıkları, birçok yaygın saldırıyı tarayıcı düzeyinde engeller. Üstelik çoğu birkaç satırlık bir ayarla eklenebilir.

Content-Security-Policy (CSP)

CSP, sayfanın hangi kaynaklardan betik, stil, görsel ve font yükleyebileceğini belirler. Saldırgan sayfaya zararlı bir betik enjekte etse bile, izin verilmeyen kaynaktan geldiği için tarayıcı çalıştırmaz. XSS saldırılarına karşı en güçlü katmanlardan biridir.

Content-Security-Policy: default-src 'self'; img-src 'self' data:; frame-ancestors 'none'

Satır içi betikleri kaldırmak CSP'yi çok daha etkili kılar. Bu sitede de betikler harici dosyalarda tutulur ve sıkı bir CSP kullanılır.

Strict-Transport-Security (HSTS)

Tarayıcıya sitenin yalnızca HTTPS ile açılmasını söyler. Kullanıcı adresi "http" ile yazsa bile tarayıcı doğrudan güvenli bağlantı kurar. Bkz. SSL ve HTTPS.

Tıklama korsanlığına karşı

Sitenizin başka bir sitenin içine görünmez çerçeve olarak yerleştirilip kullanıcının farkında olmadan tıklamaya yönlendirilmesine clickjacking denir. CSP'deki frame-ancestors yönergesi (veya eski X-Frame-Options başlığı) bunu engeller.

Diğer önemli başlıklar

  • X-Content-Type-Options: nosniff: Tarayıcının dosya türünü tahmin etmesini engeller.
  • Referrer-Policy: Başka sitelere geçerken adres bilgisinin ne kadarının paylaşılacağını belirler.
  • Permissions-Policy: Kamera, mikrofon, konum gibi özelliklerin hangi kaynaklarca kullanılabileceğini sınırlar.
  • Cross-Origin-Opener-Policy: Sayfanın başka pencerelerle etkileşimini sınırlar.

Nasıl uygulanır?

  1. Sunucu, CDN veya barındırma platformunun başlık ayarlarından eklenebilir.
  2. ASP.NET Core'da bir ara katmanla tüm yanıtlara eklenebilir.
  3. CSP'yi önce yalnızca raporlama modunda deneyip neyin engelleneceğini görün, sonra etkinleştirin.

Test edin

Tarayıcı geliştirici araçlarındaki konsol, CSP ihlallerini gösterir. Ücretsiz çevrim içi tarama araçları da sitenizin başlıklarını değerlendirebilir.

Sık sorulan sorular

CSP sitemi bozar mı?

Yanlış yapılandırılırsa izin verilmeyen betikler ve stiller çalışmaz. Bu yüzden önce raporlama modunda test edilmesi önerilir.

Güvenlik başlıkları SEO'yu etkiler mi?

Doğrudan sıralama faktörü değildir; ancak HTTPS ve güvenli bir site, kullanıcı güveni ve genel kalite açısından önemlidir.

Sonuç

Güvenlik başlıkları, düşük maliyetle yüksek koruma sağlayan önlemlerdir. Genel tehditler için OWASP Top 10 yazımıza da göz atabilirsiniz.