HTTP güvenlik başlıkları
Kısa tanım
HTTP güvenlik başlıkları, sunucunun tarayıcıya gönderdiği ve belirli saldırı türlerini önceden engelleyen küçük yönerge satırlarıdır.
Bir sayfa yüklenirken sunucu, içerikle birlikte görünmeyen bir dizi başlık da gönderir. HTTP güvenlik başlıkları, tarayıcıya bu sayfada şu davranışa izin verme talimatı veren başlıkların bir alt kümesidir.
Content-Security-Policy zararlı script çalıştırmayı, Strict-Transport-Security şifresiz bağlantıya düşmeyi, X-Frame-Options siteyi başka bir sayfa içine gizlice gömmeyi engeller. Her biri farklı bir saldırı türüne karşı ayrı bir kilittir.
SSL sertifikası veriyi şifreler ama bu başlıklar olmadan tarayıcı davranışı üzerinden açılan başka kapılar açık kalır; ikisi birbirini tamamlar, biri diğerinin yerini tutmaz.
Bir sayfada hangi güvenlik başlıklarının gönderildiği, kod değişikliği yapmadan tarayıcının geliştirici araçlarındaki Ağ sekmesi açılıp herhangi bir isteğin yanıt başlıklarına bakılarak görülebilir. Bu, hızlı ve teknik bilgi gerektirmeyen bir kontrol yoludur; bir başlık orada hiç görünmüyorsa sunucu tarafında tanımlanmamış demektir.
Neden önemli
Eksik güvenlik başlıkları, saldırganlara sayfaya kod enjekte etme ya da siteyi taklit etme fırsatı verir; bu genelde fark edilmeden aylarca sürer. Doğru yapılandırılmış başlıklar, sunucu tarafında ek maliyet olmadan bu kapıları kapatır.
Örnek senaryo
Bir ödeme sağlayıcısı güvenlik denetiminde Content-Security-Policy başlığının hiç tanımlanmadığını gördü, eklenmesi bir saat sürdü ama denetim raporunu tamamen değiştirdi.
