Content Security Policy Nedir Nasıl Ayarlanır?

Webmaster Konuları
Content Security Policy

Content Security Policy (İçerik Güvenliği Politikası), web sitelerinin güvenliğini artırmak için kullanılan bir güvenlik mekanizmasıdır. CSP, web sayfalarının hangi kaynaklardan içerik yükleyebileceğini ve çalıştırabileceğini belirleyen bir dizi kural tanımlar. Bu, web sitelerini çeşitli saldırılardan korumak için tasarlanmıştır, özellikle Cross-Site Scripting (XSS) ve veri enjeksiyon saldırıları gibi.

CSP’nin Temel Amaçları:

  1. Kaynakların Sınırlanması: Web sayfasının hangi dış kaynaklardan içerik (örneğin, JavaScript, CSS, resimler) yükleyebileceğini belirler.
  2. Güvenlik Güçlendirmesi: Web sayfasında çalıştırılacak JavaScript kodunu kısıtlar ve bu sayede kötü niyetli kodun çalışmasını engeller.
  3. Hata Tespiti: Potansiyel güvenlik açıklarını tespit etmede yardımcı olur.

Content Security Policy Nasıl Ayarlanır?

CSP’yi ayarlamak için genellikle HTTP başlıkları veya <meta> etiketleri kullanılır. İşte adım adım nasıl yapıldığına dair bir rehber:

1. Content Security Policy Başlığı Tanımlama

CSP’yi ayarlamanın en yaygın yolu HTTP başlığıdır. Web sunucusuna bu başlığı ekleyerek CSP kurallarınızı belirleyebilirsiniz. Örneğin:

Content-Security-Policy: default-src 'self'; script-src 'self' https://apis.google.com; style-src 'self' https://fonts.googleapis.com

Bu başlık, şunları belirtir:

  • default-src 'self': Varsayılan olarak, tüm kaynaklar yalnızca aynı kök alanından (yani kendi sitenizden) yüklenebilir.
  • script-src 'self' https://apis.google.com: JavaScript dosyaları sadece kendi sitenizden ve apis.google.com adresinden yüklenebilir.
  • style-src 'self' https://fonts.googleapis.com: CSS stilleri sadece kendi sitenizden ve fonts.googleapis.com adresinden yüklenebilir.

2. Meta Etiket Kullanımı

Alternatif olarak, Content Security Policy’yi HTML sayfasının <head> bölümüne bir <meta> etiketi ekleyerek de ayarlayabilirsiniz:

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://apis.google.com; style-src 'self' https://fonts.googleapis.com">

3. Content Security Policy Raporlama

CSP’nin etkinliğini izlemek ve hataları tespit etmek için raporlama özelliğini kullanabilirsiniz. Bunun için report-uri veya report-to direktiflerini ekleyebilirsiniz:

Content-Security-Policy: default-src 'self'; report-uri /csp-violation-report-endpoint/

Bu, güvenlik politikası ihlallerinin belirtilen raporlama uç noktasına gönderilmesini sağlar.

4. Test Etme ve Uygulama

  • Test: CSP kurallarınızı uygulamadan önce test edin. Tarayıcılar, geliştirici araçlarıyla CSP uyumluluğunu ve raporlarını gösterebilir.
  • Geçiş: Kurallarınızı uygulamadan önce test modunda çalıştırarak uyumlu olup olmadığını kontrol edin. Content-Security-Policy-Report-Only başlığı ile kurallarınızın nasıl çalışacağını görebilirsiniz.

Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' https://apis.google.com; style-src 'self' https://fonts.googleapis.com; report-uri /csp-report-endpoint/

Bu, gerçek ihlalleri engellemeksizin kuralların nasıl çalıştığını görmenize olanak tanır.

Content Security Policy, web güvenliğini artırmada etkili bir araçtır ve doğru şekilde yapılandırıldığında sitenizi pek çok güvenlik tehdidinden koruyabilir. Kapsamlı testler ve dikkatli yapılandırma ile güvenlik risklerini minimize edebilir ve kullanıcı verilerini koruyabilirsiniz.