Güvenlik ve Dayanıklılık / Uygulama ve satın alma rehberi

Content Security Policy: Siteyi Bozmadan Daha Sıkı Kaynak Kontrolü

Güvenlik başlığı ekledikten sonra ödeme ekranı veya iletişim formu çalışmıyorsa değişiklik başarılı sayılmaz. Content Security Policy, sitenin hangi kaynakları çalıştırabileceğini açıkça tanımlarken gerçek iş akışlarının da korunmasını gerektirir.

Önce sayfanın gerçekten kullandığı kaynakları çıkarın

Scriptler, stiller, görseller, çerçeveler ve ağ bağlantıları farklı ihtiyaçlar taşır. Eski temadan kalan kodlar veya unutulmuş etiketler de sayfada bulunabilir. Kaynak envanterini sadece ana sayfadan oluşturmayın; ödeme, hesap ve dosya yükleme akışlarını da inceleyin. Aynı site içinde farklı sayfaların ihtiyaçları değişebilir.

OWASP, CSP’yi belirli içerik türlerinin nerelerden yüklenebileceğini sınırlayan ek bir savunma katmanı olarak ele alır. Politika, güvenli kodlama ve çıktı işleme gereksinimlerinin yerine geçmez. [1] Başlık bulunmasını tek başına “site güvenli” sonucu olarak raporlamayın.

Raporlama modu engelleme değildir

Content-Security-Policy-Report-Only yaklaşımı, uygulanırsa ihlal sayılacak davranışları gözlemlemeyi sağlar; ilgili raporlama politikasını fiilen engellemez. [1] Bu ayrım devreye alma planında açık olsun. Bir testte rapor oluşmasıyla zararlı davranışın engellenmesini aynı başarı ölçütü olarak kullanmayın.

Varsayımsal teklif formu, kullanılmayan eski bir analiz servisine istek gönderiyor olsun. Her ihlal için izin listesini genişletmek yerine kaynağın gerçekten gerekli olup olmadığını araştırın. Bazı raporlar tarayıcı eklentilerinden veya kullanıcının ortamından gelebilir; her satırı sitenin zorunlu bağımlılığı saymayın.

İzinleri daraltırken işlevi doğrulayın

Çok geniş alan adları veya kontrolsüz joker izinleri politikanın değerini azaltabilir. Nonce veya hash temelli yaklaşımlar uygulanacaksa bunların üretim ve dağıtım davranışı doğru tasarlanmalıdır. Örneğin nonce değeri gereken biçimde her yanıta özgü üretilemiyorsa sadece etiket eklemek yeterli değildir. [1]

Önbelleğe alınan sayfa ile dinamik güvenlik başlığının uyumu da test edilsin. Başlık başka, HTML içindeki değer başka olduğunda uygulama çalışmayabilir. Üçüncü taraf sağlayıcı değiştiğinde yeni kaynağın hangi incelemeyle ekleneceği belirli olsun. Güvenlik politikası bakım yapılmayan tek satırlık ayar olarak kalmasın.

Örnek CSP kabul matrisi

Örnek karar ve kabul kontrolleri
Denemeİşlev kontrolüGüvenlik kontrolü
Normal form gönderimiSonuç doğru gösterilirYalnız gerekli bağlantı kullanılır
Hesap ekranıGiriş ve çıkış çalışırBeklenmeyen script yüklenmez
Dosya önizlemeYetkili içerik açılırGeniş kaynak izni gerekmiyor
Yeni üçüncü tarafGereken özellik çalışırİnceleme kaydı ve dar kapsam var

Bu tablo eksiksiz sızma testi değildir. Gerçek uygulamanın riskleriyle genişletilmelidir. Politikayı canlıya almadan önce deneme ortamında uygulanmış modla da test edin. Sadece raporlama modunda çalışan ekranın engelleme açılınca da çalışacağı varsayılmasın.

Kademeli geçiş ve geri dönüşü birlikte planlayın

Önce temsilî sayfa grubunda başlayıp kaynak ihtiyacını doğrulamak değerlendirilebilir. Hatalı politikanın kritik işlem akışını durdurduğu durumda kontrollü geri dönüş yolu bulunsun. Ancak her hatada tüm korumayı kaldırmak kalıcı çözüm haline gelmemelidir. Hatanın kaynağı ve düzeltme kaydı tutulmalıdır.

İhlal raporlarının kendisi de güvenilmeyen girdi olarak ele alınmalıdır. Gereksiz kişisel verilerin toplanması, aşırı kayıt yükü ve rapor uç noktasının kötüye kullanımı değerlendirilmelidir. Yayın sonunda hangi kontrollerin uygulandığı ve hangi istisnaların açık kaldığı dürüstçe gösterilsin; tek başlıktan tam güvenlik sonucu çıkarılmasın.

Sık sorulan sorular

CSP eklemek XSS sorunlarını tamamen çözer mi?

Hayır. Ek bir savunma katmanıdır. Güvenli çıktı üretimi ve uygulama hatalarının giderilmesi gerekliliği devam eder. [1]

Bütün ihlal alanlarını izin listesine eklemeli miyim?

Hayır. Kaynağın gerekliliği ve riski incelenmelidir. Gereksiz kodu kaldırmak, izinleri sürekli genişletmekten daha doğru bir seçenek olabilir.

Teknik kaynaklar

  1. OWASP: Content Security Policy uygulama rehberi

Kaynaklar teknik kavramları destekler. Örnek tablolar ve senaryolar önerilen çalışma araçlarıdır; gerçek müşteri sonucu, bağımsız denetim veya platform garantisi değildir. Uygulama öncesinde kullanılan ürünün güncel koşulları kontrol edilmelidir.

Bu ihtiyacı çalışan bir sisteme dönüştürelim.

Mevcut sisteminizi, sorun yaşadığınız iş akışını ve beklediğiniz sonucu paylaşın. Ganz Dijital ile projenizin kapsamını ve kabul koşullarını netleştirin.

İlgili hizmeti inceleWhatsApp üzerinden görüşelim →

Hazırlama notu: İçerik, belirtilen kaynaklar ve özgün örnek senaryolar kullanılarak yapay zekâ desteğiyle hazırlanmıştır. Sayısal örnekler aksi belirtilmedikçe varsayımsaldır. İşletmeye özel güvenlik, hukuki ve operasyonel gereksinimler ayrıca değerlendirilmelidir.