9 Ekim 2026 - 11:04
CSP Report-Only ile Siteyi Bozmadan Güvenlik Politikası Hazırlama Görseli
Siber Güvenlik

CSP Report-Only ile Siteyi Bozmadan Güvenlik Politikası Hazırlama

Yorumlar

Content Security Policy doğrudan katı biçimde etkinleştirilirse ödeme, analiz, font veya JavaScript bileşenleri beklenmedik şekilde durabilir. Content-Security-Policy-Report-Only başlığı politikayı uygulatmadan ihlalleri gözlemlemeye imkân verir. Böylece gerçek kaynak envanteri çıkarılıp güvenli politika aşamalı kurulabilir.

İlk politikayı dar bir başlangıçla gönderin

HTTP
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; object-src 'none'; base-uri 'self'; report-to csp-endpoint

Report-only başlığı kaynakları engellemez; tarayıcı ihlalleri izler. Bu başlık meta etiketiyle kullanılamaz, HTTP yanıt başlığı olarak gönderilmelidir.

Rapor hedefini tanımlayın

HTTP
Reporting-Endpoints: csp-endpoint="https://reports.example.com/csp"

Rapor uç noktası internete açık veri kabul eder. Oran sınırlama, istek boyutu sınırı, günlük rotasyonu ve kişisel veri değerlendirmesi olmadan doğrudan uygulama veritabanına yazmayın.

Tarayıcı konsoluyla sunucu raporunu birlikte inceleyin

Geliştirici araçlarında engellenecek kaynak, ihlal edilen direktif ve belge adresi görülür. Sunucu raporlarında aynı üçüncü taraf alanın tekrar etmesi, politikanın o kaynağı tanımadığını gösterir. Tarayıcı eklentileri ve kullanıcı kaynaklı enjeksiyonlar gürültü oluşturabileceği için tek rapora dayanarak allowlist genişletmeyin.

Kaynak alanını eklemeden önce nedenini doğrulayın

Bir alanın meşru görünmesi güvenli olduğu anlamına gelmez. Uygulamanın gerçekten kullandığı servis, yüklenen dosya türü ve alt alan kapsamı belirlenmelidir. Geniş https: veya * izinleri CSP'nin değerini ciddi biçimde azaltır.

Inline script için unsafe-inline yerine nonce kullanın

HTTP
Content-Security-Policy-Report-Only: script-src 'self' 'nonce-RANDOM_VALUE'
HTML
<script nonce="RANDOM_VALUE">startApp();</script>

Nonce her yanıt için kriptografik olarak rastgele üretilmeli ve yalnızca o yanıttaki güvenilir scriptlerde kullanılmalıdır. Sabit nonce koruma sağlamaz.

Uygulamaya geçişi bölüm bölüm yapın

Önce object-src ve base-uri gibi düşük uyumluluk riskli direktifleri zorunlu hâle getirin. Ardından script, bağlantı, font, frame ve görsel kaynaklarını gerçek raporlara göre sıkılaştırın. Report-only ve enforced başlıkları geçiş sırasında birlikte kullanılabilir.

Başvuru: W3C Content Security Policy Level 3.

Benzer Yazılar

Yorumlar ()

Henüz yorum yok. İlk yorum yapan sen ol!

Yorum Yap