Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
HTTP güvenlik başlıklarını doğrulamak için önce sunucunun gerçekten hangi yanıtı gönderdiğini kontrol edin, ardından bu başlığın tarayıcıda hangi davranışı değiştirdiğini test edin. Yalnızca başlığın listede görünmesi yeterli değildir; doğru yanıtta, doğru değerle ve mümkünse HTTPS üzerinden gönderilmesi gerekir.

En küçük doğrulama işlemi​


Kendi siteniz için POSIX terminalde aşağıdaki örneği kullanabilirsiniz; example.com yerine yetkili olduğunuz hedefi yazın. Windows PowerShell’de gerçek curl.exe ve işletim sistemine uygun çıktı hedefini kullanın:

Kod:
curl -sS -D - -o /dev/null -L --max-redirs 5 --connect-timeout 10 --max-time 20 https://example.com/

Bu komut GET yanıt gövdesini alıp /dev/null aygıtına atarken başlıkları gösterir, yönlendirmeleri takip eder ve her yanıtın başlıklarını yazdırır. Başarıyla çalıştığında çıktının başında HTTP/1.1 veya HTTP/2 gibi bir durum satırı ve altında content-type benzeri başlıklar görülür. Could not resolve host, TLS hatası veya bağlantı zaman aşımı görülürse henüz güvenlik başlıklarını değerlendirmeyin; önce DNS, HTTPS veya erişim sorununu düzeltin.

  1. Üretimde kullandığınız HTTPS adresini test edin. http:// adresini ayrıca çalıştırarak HTTP'den HTTPS'ye yönlendirmenin güvenli olduğunu kontrol edin.
  2. Çıktıdaki her durum satırını ayrı inceleyin. -L kullanıldığı için yönlendirme yanıtları da listelenebilir; yalnızca son yanıta bakmak ara yanıtın zayıf olduğunu gizleyebilir.
  3. Başlık adını ve değerini birebir karşılaştırın. Örneğin Content-Security-Policy-Report-Only ile Content-Security-Policy aynı etkiye sahip değildir.
  4. Aynı adresi bir tarayıcıda açarak başlığın davranışsal etkisini test edin. Konsol hatası, engellenen iframe, engellenen kaynak veya izin verilmeyen tarayıcı özelliği varsa bunun ilgili politikayla tutarlı olup olmadığını değerlendirin.
  5. Eksik, yanlış veya yalnızca bazı yanıtlarda bulunan başlıkları sunucu, ters proxy, CDN ve uygulama katmanlarında ayrı ayrı düzeltin; sonra komutu yeniden çalıştırın.

Başlık, değer ve tarayıcı etkisi​


Aşağıdaki özet, bir başlığın görünmesinin ne anlama geldiğini ve tarayıcıda hangi sonucu doğurabileceğini ayırır. Değer seçimi sitenin kullandığı kaynaklara ve özelliklere göre yapılmalıdır; her site için aynı politika doğru değildir.

BaşlıkDeğerin kapsamıTarayıcıdaki temel etkiKontrol noktası
Strict-Transport-SecurityHSTS süresi ve isteğe bağlı alt alan adı kapsamıTarayıcı, sonraki bağlantıları HTTPS'ye zorlarYalnız güvenli HTTPS yanıtında değerlendirin; alt alan adlarını etkileyen değeri plansız kullanmayın
Content-Security-PolicyScript, stil, görsel, çerçeve ve diğer kaynakların izin listeleriİzin verilmeyen kaynakları yüklemeyi veya çalıştırmayı engelleyebilirSite özelliklerini bozabilecek dar bir politika ile aşamalı test edin
X-Content-Type-OptionsGenellikle nosniffTarayıcının MIME türünü tahmin ederek kaynağı farklı yorumlamasını sınırlarCSS ve JavaScript yanıtlarının doğru Content-Type ile gönderildiğini kontrol edin
Referrer-PolicyBaşka siteye geçerken gönderilecek referrer ayrıntısıURL yolunun veya sorgu bilgilerinin ne kadarının paylaşılacağını sınırlarÖzel bilgi içeren URL'lerin dış isteklere taşınmadığını test edin
Permissions-PolicyKamera, mikrofon, konum gibi özelliklerin kaynak bazlı izinleriBelirli özelliklerin sayfa veya iframe tarafından kullanılmasını kısıtlarGerçekten kullanılan özellikleri kapatmadığından emin olun
X-Frame-Options veya CSP frame-ancestorsSayfanın iframe içinde kimlerce açılabileceğiYetkisiz çerçeveleme ve bazı tıklama yönlendirme senaryolarını önlerGömülü ödeme, giriş veya yönetim ekranlarını ayrıca deneyin

Tablodaki başlıkların tümü her sayfada aynı biçimde bulunmak zorunda değildir. Örneğin yalnızca HTTPS yanıtlarında anlamlı olan HSTS, HTTP yanıtına eklenerek etkili hâle gelmez. CSP'de ise izin verilen kaynaklar uygulamanın gerçek ihtiyaçlarını kapsamazsa başlık teknik olarak mevcut olsa bile site işlevlerini engeller.

Sonucu nasıl yorumlamalı?​


Başlık yoksa o yanıtla o politika bildirilmemiştir; önceki HSTS durumu veya eşdeğer başka politika gibi etkenler ayrıca var olabilir. Başlık varsa fakat değeri beklenenden genişse koruma zayıflayabilir; örneğin CSP'nin aşırı geniş kaynak izinleri politikayı formal olarak mevcut, pratik olarak etkisiz bırakabilir. Değer aşırı dar ise güvenlik kazanımı karşılığında kendi JavaScript'iniz, ödeme bileşeniniz veya üçüncü taraf içeriğiniz çalışmayabilir.

Bir yönlendirme zincirinde HTTPS'ye geçmeden önceki yanıt ile son HTTPS yanıtını ayrı değerlendirin. Ayrıca hata sayfalarını, giriş sayfasını, statik dosya alan adını ve API yanıtlarını da kontrol edin. Güvenlik başlıkları yalnızca ana sayfada bulunuyorsa tüm siteyi korudukları sonucuna varmayın.

Sık yapılan hatalar​


Sadece çevrim içi puana güvenmek: Bir tarama aracı eksikliği gösterebilir ancak hangi ara yanıtta veya hangi proxy katmanında oluştuğunu açıklamayabilir. Ham yanıt başlıklarını da inceleyin; Set-Cookie ve oturum sırlarını destek mesajına taşımadan maskeleyin.

Report-Only politikasını etkin politika sanmak: CSP'nin raporlama biçimi ihlalleri bildirebilir fakat içeriği engellemez. Engelleme bekleniyorsa etkin CSP başlığının gönderildiğini doğrulayın.

Yalnızca ana sayfayı test etmek: Uygulama, API veya hata yanıtları farklı sunucu kurallarından geçebilir. Kritik uç noktaları ayrı ayrı kontrol edin.

HSTS'yi hazırlık yapmadan genişletmek: Alt alan adlarından biri HTTPS desteklemiyorsa geniş kapsamlı bir HSTS değeri o alan adına erişimi bozabilir. Tüm kapsamı doğrulamadan genişletmeyin.

Sık sorulan sorular​

HEAD ile GET yanıtı farklıysa hangisini esas almalıyım?​

Tarayıcının kullandığı gerçek yöntem ve yanıtı inceleyin. curl -I HEAD isteği yapar; her uygulama HEAD’i GET ile aynı ele almayabilir. Rehberdeki gövdesi atılan GET, belge yanıtının başlıklarını kontrol etmeye yarar; çerez ve oturum koşulları sonucu değiştirebilir.

Tarama puanı yükselince site güvenli sayılır mı?​

Hayır. Başlık taraması yetkilendirme, veri sızıntısı veya iş mantığı açıklarının tamamını sınamaz. Doğrulanan politika, hedef sayfa ve beklenen tarayıcı etkisini kaydedin. Puanı, gerçek uygulama kontrolünün yerine geçen genel güvenlik belgesi gibi kullanmayın.
 

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.