Content Security Policy Nedir Nasıl Ayarlanır?
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ı:
- Kaynakların Sınırlanması: Web sayfasının hangi dış kaynaklardan içerik (örneğin, JavaScript, CSS, resimler) yükleyebileceğini belirler.
- 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.
- 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 veapis.google.com
adresinden yüklenebilir.style-src 'self' https://fonts.googleapis.com
: CSS stilleri sadece kendi sitenizden vefonts.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.