CSP Nedir?
İngilizce: CSP (Content Security Policy)
CSP, tarayıcıya hangi script, stil, görsel ve bağlantı kaynaklarının izinli olduğunu söyleyen, XSS etkisini sınırlayan politikadır.
CSP Nedir?
CSP (Content Security Policy), web uygulamasının hangi kaynaklardan script, stil, görsel, font, iframe veya ağ isteği yükleyebileceğini tarayıcıya bildiren güvenlik politikasıdır. Amaç, sayfaya kötü niyetli kod sızsa bile bunun çalışabileceği alanı daraltmaktır.
Nasıl Çalışır?
Sunucu genellikle Content-Security-Policy başlığı döner. Tarayıcı bu başlıktaki direktifleri uygular: script-src script kaynaklarını, style-src stilleri, img-src görselleri, connect-src API bağlantılarını, frame-ancestors ise sayfanın hangi sitelerde iframe olarak açılabileceğini belirler.
Örneğin yalnızca kendi domaininizden script çalıştırmak, rastgele üçüncü parti script enjeksiyonunu engelleyebilir. Inline script gerekiyorsa güvenli yaklaşım nonce veya hash kullanmaktır; unsafe-inline politikayı büyük ölçüde zayıflatır.
XSS Riskine Karşı Rolü
CSP, XSS hatasının kök nedenini ortadan kaldırmaz; input doğrulama, output encoding ve güvenli template kullanımı hâlâ gerekir. CSP ikinci savunma katmanı olarak saldırının etkisini azaltır ve ihlal raporlarıyla şüpheli kaynakları görünür kılar.
Uygulama Adımları
Önce Content-Security-Policy-Report-Only ile politika denenebilir. Raporlar incelenir, gerekli üçüncü parti kaynaklar netleştirilir, ardından zorlayıcı politika devreye alınır. HTTPS zorunluluğu için upgrade-insecure-requests gibi direktifler de değerlendirilebilir.
İş Dünyasında Kullanımı
CSP; ödeme, üyelik, yönetim paneli ve kullanıcı verisi işleyen web uygulamalarında tarayıcı tarafı saldırı etkisini sınırlamak için önemlidir. Politika çok gevşekse koruma sağlamaz, çok sıkıysa analitik, chat veya ödeme widget’larını bozabilir; bu yüzden test ve raporlama ile kademeli uygulanmalıdır.
İlgili Terimler
HTTPS, HTTP trafiğini TLS ile şifreleyerek kullanıcı, tarayıcı ve sunucu arasında gizlilik, bütünlük ve kimlik doğrulama sağlar.
Güvenlik BaşlıklarıGüvenlik başlıkları, tarayıcıya sayfanın nasıl yüklenip korunacağını söyleyen HTTP yanıt kurallarıdır; XSS ve clickjacking riskini azaltır.
XSSXSS, güvenilmeyen içeriğin tarayıcıda script olarak çalışmasıyla oturum çalma, sahte işlem ve veri sızıntısı riski yaratır.