İçeriğe Geç

İçerik Güvenliği Politikası (CSP) Nedir?

İçerik güvenliği politikası (CSP, Content Security Policy), sitenin hangi kaynaklardan betik, görsel ve stil yükleyebileceğini tarayıcıya HTTP başlığıyla bildiren ve siteler arası betik çalıştırma gibi saldırıların etkisini azaltan kuraldır.

Diğer Adları: CSP, Content Security Policy

İçerik Güvenliği Politikası Nasıl Çalışır?

Politika, sunucunun yanıtına eklediği Content-Security-Policy başlığıyla tarayıcıya iletilir. Başlıktaki yönergeler kaynak türlerine göre izin verilen adresleri sayar: script-src JavaScript’in, img-src görsellerin hangi kaynaklardan yüklenebileceğini belirler. Tarayıcı, politikada izin verilmeyen bir kaynaktan gelen içeriği yüklemez.

Politikada default-src ya da script-src yönergesi varsa sayfanın içine doğrudan yazılmış (satır içi) betikler ek önlem alınmadan çalışmaz. Satır içi betiğe tek kullanımlık bir değerle (nonce) ya da betiğin özetiyle (hash) izin verilebilir; bütün satır içi betiklere izin veren unsafe-inline değerinden kaçınılır.

İçerik Güvenliği Politikası Hangi Saldırılara Karşı Korur?

MDN’ye göre politika, siteler arası betik çalıştırma (XSS), tıklama korsanlığı (clickjacking) ve veri enjeksiyonu gibi saldırıları saptamaya ve etkisini azaltmaya yarar. Saldırgan sayfaya bir betik yerleştirmeyi başarsa bile tarayıcı, izin verilmeyen kaynaktan gelen ya da izinsiz satır içi betiği çalıştırmaz.

Politika girdinin temizlenmesinin yerine geçmez: MDN, sitelerin hem girdiyi temizlemesini hem de politika belirlemesini, böylece katmanlı bir savunma kurmasını önerir.

İçerik Güvenliği Politikası Mağazada Nasıl Uygulanır?

Mağaza sayfaları ödeme, analitik, reklam, canlı destek ve yorum gibi birçok üçüncü taraf hizmetin betiğini yükler. Politika yazılmadan önce bu kaynakların listesi çıkarılır; listede olmayan bir hizmet politika devreye girince çalışmaz. Bu yüzden politika önce raporlama kipinde denenir: Content-Security-Policy-Report-Only başlığıyla gönderilen politika uygulanmaz, yalnızca ihlalleri belirtilen adrese raporlar.

Örnek: Bir mağaza politikayı devreye aldıktan sonra yeni bir pazarlama etiketi kurar, ama etiketin adresi politikaya eklenmediği için etiket veri göndermez. Her yeni üçüncü taraf betik için politika da güncellenir.

İçerik Güvenliği Politikası Hakkında Sık Sorulan Sorular

İçerik güvenliği politikası siteyi tamamen korur mu?

Korumaz. Bazı saldırıların etkisini azaltan ek bir katmandır; girdinin temizlenmesi, güncel yazılım ve güvenli yapılandırma ayrıca gerekir.

Politika HTML içinde de yazılabilir mi?

Meta öğesiyle yazılabilir, ancak MDN’ye göre bu yol politikanın bütün özelliklerini desteklemez ve raporlama kipindeki politika bu yolla verilemez. Bu yüzden politika çoğunlukla HTTP başlığıyla gönderilir.