Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 7 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
CSP report-only modu, Content Security Policy kurallarını henüz engelleme yapmadan denemenizi sağlar. Tarayıcı, politikanın ihlal edildiği istekleri ve çalıştırılmak istenen kodları raporlar; ancak bu istekleri veya kodları durdurmaz. Böylece denenen politika kaynakları engellemeden hangi kaynakların gerçek CSP politikanızla çakışacağını görüp düzeltmeleri uygulayabilirsiniz.

Nasıl çalışır?​


Sunucu, tek başına veya mevcut etkin politikaya ek olarak Content-Security-Policy-Report-Only başlığı gönderir. Tarayıcı bu başlıktaki kuralları değerlendirir, ihlal gördüğünde geliştirici konsoluna uyarı yazar ve yapılandırılmışsa rapor adresine bildirim gönderir.

Örneğin aşağıdaki başlık, sitenin kendi kaynaklarını temel alır; ayrıca belirli bir içerik dağıtım alanından betik yüklenmesine izin verir:

Kod:
Reporting-Endpoints: csp="https://example.com/csp-report"
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; report-to csp; report-uri /csp-report

Bu başlıkta script-src 'self', varsayılan olarak yalnızca aynı kaynaktaki betiklere izin verilmesini öngörür. https://cdn.example.com ayrıca izin verilen betik kaynağıdır. report-to csp, Reporting-Endpoints başlığında tanımlanan hedefi seçer. Eski ve kullanımdan kaldırılan report-uri /csp-report ise tarayıcının ihlal raporunu göndereceği sunucu yolunu belirtir. Bu yolun POST isteklerini kabul eden bir uygulama uç noktası olması gerekir; yalnızca statik bir dosya yolu olması yeterli değildir. İkisi birlikte tarayıcı uyumluluğu için gösterilmiştir; modern rapor gövdesiyle eski report-uri biçimi aynı değildir. example.com adresini size ait HTTPS rapor uç noktasıyla değiştirin.

Rapor hedefi yapılandırılmamışsa ihlalleri en azından tarayıcının geliştirici araçlarındaki Console ve Network bölümlerinden inceleyebilirsiniz. Raporların gelmemesi, politikanın ihlal olmadığı anlamına gelmez; rapor uç noktasının kabul biçimi, tarayıcı desteği ve uygulama günlükleri ayrıca kontrol edilmelidir.

Report-only ile etkin CSP arasındaki fark​


Aynı yönergeler iki farklı başlıkla sunulabilir. Karar verirken asıl fark, ihlal anında içeriğin durdurulup durdurulmadığıdır.

KonuCSP report-onlyEtkin CSP
İhlal edilen istekGenellikle yüklenmeye devam ederPolitikaya göre engellenir
Ana kullanımKeşif, test ve geçiş hazırlığıGerçek koruma ve kısıtlama
Siteyi bozma riskiDüşüktür; yine de raporlar incelenmelidirYanlış kural varsa doğrudan etkileyebilir

Mevcut etkin CSP varsa report-only onu gevşetmez; iki politika bağımsız değerlendirilir. Bu nedenle report-only, güvenlik korumasının yerine geçen bir mod değil, politika doğrulama aşamasıdır. Tek başına XSS veya kötü amaçlı kaynak yükleme riskini engellemez.

Uygulama ve değerlendirme adımları​


  1. Önce yalnızca HTTPS üzerinden sunulan gerçek sayfalar için report-only başlığını ekleyin. Başlığın HTML içine meta etiketi olarak değil, HTTP yanıt başlığı olarak gönderildiğini doğrulayın.
  2. Sitenin giriş, ödeme, yönetim, arama ve form içeren sayfalarını dolaşın. Tek bir ana sayfayı test etmek, yalnızca o sayfada kullanılan kaynakları gösterir.
  3. Console uyarılarını ve rapor uç noktasına gelen bildirimleri kaynak adresi, yönerge ve sayfa bazında gruplayın. Aynı ihlalin çok sayıda tekrarını tek sorun olarak değerlendirin.
  4. Her kayıt için kaynağın gerçekten gerekli olup olmadığını belirleyin. Gereksiz üçüncü tarafı kaldırın; gerekli kaynağı politika içine ekleyin. Satır içi betik gerekiyorsa mümkün olduğunda nonce veya hash tabanlı yaklaşımı değerlendirin; geniş izinler eklemek kısa vadede kolay olsa da politikayı zayıflatır.
  5. Başlık sözdizimini ve tüm kritik akışları yeniden test edin. Beklenen sonuç, sayfaların çalışması ve kalan ihlallerin bilinen, kabul edilmiş kaynaklarla sınırlanmasıdır.
  6. Raporlar kararlı hale geldikten sonra etkin Content-Security-Policy başlığına geçişi kontrollü yapın. Geçişten sonra beklenmeyen bir işlev bozulursa ilgili yönergeyi rastgele genişletmek yerine hangi kaynağın engellendiğini inceleyip en dar düzeltmeyi uygulayın.

Somut örneğin yorumu​


Örnekte sayfa, https://cdn.example.com üzerinden betik çağırıyor; ancak aynı sayfa başka bir CDN, satır içi betik veya eval kullanıyorsa report-only raporu oluşabilir. Sayfa report-only aşamasında açılmaya devam eder ve bu durum politikanın doğru olduğu anlamına gelmez. Raporu gördüğünüzde önce kaynağın uygulama için gerekli olup olmadığını, ardından daha dar bir izinle ifade edilip edilemeyeceğini kararlaştırın.

Sık yapılan hatalar​


Report-only koruma sağlar sanmak: Bu mod ihlali bildirebilir fakat içeriği engellemez. Koruma beklentisi varsa etkin CSP gerekir.

Yalnızca ana sayfayı test etmek: Yönetim paneli, kullanıcı hesabı ve ödeme gibi farklı sayfalar farklı kaynaklar kullanabilir.

Her uyarıyı izin listesine eklemek: Böyle yapmak rapor sayısını azaltır ancak politikanın güvenlik değerini düşürebilir. Önce gereksiz kaynağı kaldırmayı veya uygulamayı değiştirmeyi değerlendirin.

Rapor uç noktasını loglamadan bırakmak: Tarayıcı uyarıları geçici olabilir. Raporları güvenilmeyen dış girdi olarak alın; boyut/hız sınırı uygulayın, hassas URL ve değerleri maskeleyin. Rapor içindeki adresi sunucudan otomatik çağırmayın. Gruplayan bir kayıt mekanizması olmadan geçiş kararını yalnızca tek bir tarayıcı oturumuna dayandırmayın.

Sık sorulan sorular​

Report-only varken bir kaynak neden hâlâ engelleniyor?​

Ayrı bir etkin CSP, tarayıcı güvenlik kuralı veya başka ağ politikası engelliyor olabilir. Report-only yalnız kendi politikasının ihlalini raporlar; mevcut kısıtlamaları kaldırmaz. Gerçek HTML yanıtındaki bütün CSP başlıklarını ve Console mesajının kaynağını inceleyin.

Rapor sayısı sıfırsa politikayı güvenle etkinleştirebilir miyim?​

Bu tek başına yeterli kanıt değildir. Rapor hedefinin istek kabul ettiğini, kullanılan tarayıcıların biçimini ve kritik akışların gerçekten denendiğini doğrulayın. Raporlar gecikebilir veya ulaşmayabilir. Hedefte zararsız kontrollü bir ihlali doğrulamak veri akışını sınamaya yardımcı olur.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic