HTTP Güvenlik Başlıkları Testi Nedir?
HTTP güvenlik başlıkları testi; sitenizin HSTS, CSP, X-Frame-Options gibi koruyucu yanıt başlıklarını gönderip göndermediğini kontrol eder ve eksikleri açıklar.
Güvenlik Başlıkları Nedir?
HTTP güvenlik başlıkları, tarayıcıya sitenizi nasıl koruyacağını söyleyen yanıt başlıklarıdır. HSTS HTTPS'i zorunlu kılar, CSP XSS saldırılarını sınırlar, X-Frame-Options clickjacking'i engeller, X-Content-Type-Options MIME sniffing'i kapatır. Eksiklikleri ciddi güvenlik açıklarına yol açabilir.
Başlıklar Nasıl Test Edilir?
Alan adınızı girin; SecRadar siteye istek atıp dönen tüm yanıt başlıklarını analiz eder, mevcut ve eksik güvenlik başlıklarını yan yana gösterir, sunucu/teknoloji bilgisini çıkarır ve A–F notu verir.
Eksik Başlıklar Nasıl Eklenir?
Web sunucusu yapılandırmasına ekleyin. Nginx örneği: `add_header Strict-Transport-Security "max-age=63072000" always;`, `add_header X-Frame-Options SAMEORIGIN;`, `add_header X-Content-Type-Options nosniff;`. CSP'yi sitenize göre dikkatlice tanımlayın; önce rapor modunda test edin.
HSTS Nedir ve Nasıl Yapılandırılır?
HSTS (HTTP Strict Transport Security), tarayıcıya 'bu siteye yalnızca HTTPS üzerinden bağlan' talimatını veren bir başlıktır; ilk ziyaretten sonra tüm istekleri otomatik HTTPS'e zorlar ve SSL stripping saldırılarını engeller. Önerilen değer en az bir yıllık ömürdür: `Strict-Transport-Security: max-age=31536000; includeSubDomains; preload`. includeSubDomains tüm alt alan adlarını da kapsar, preload ise alan adınızı tarayıcıların yerleşik HSTS listesine eklemenizi (hstspreload.org) sağlar. preload eklemeden önce tüm alt alan adlarının HTTPS desteklediğinden emin olun; aksi halde erişim kesilir. HSTS'in detaylarını HSTS rehberimizde ele aldık.
CSP (Content-Security-Policy) Nasıl Yazılır?
CSP, tarayıcının hangi kaynaklardan (script, stil, görsel, çerçeve) içerik yükleyebileceğini kısıtlayarak XSS ve veri sızdırma saldırılarını büyük ölçüde engelleyen en güçlü güvenlik başlığıdır. En sağlam temel `default-src 'self'` ile başlar; sonra ihtiyaç duyduğunuz kaynakları açıkça eklersiniz (örn. `script-src 'self' https://cdn.example.com`). `'unsafe-inline'` ve `'unsafe-eval'` mümkünse kaçınılmalı, kaçınılamıyorsa nonce veya hash tabanlı yaklaşım tercih edilmelidir. CSP yazarken siteyi bozmamak için önce `Content-Security-Policy-Report-Only` modunda yayınlayıp ihlal raporlarını toplamak, sonra zorlamaya geçmek en güvenli yoldur.
Clickjacking'i X-Frame-Options ile Önleme
Clickjacking, sitenizin görünmez bir çerçeve (iframe) içine gömülerek kullanıcıların farkında olmadan tıklamalar yapmasını sağlayan bir saldırıdır. `X-Frame-Options: SAMEORIGIN` sitenizin yalnızca kendi alan adınızda çerçevelenmesine izin verir, `DENY` ise hiçbir yerde çerçevelenmesini engeller. Modern karşılığı CSP'nin `frame-ancestors` direktifidir (`frame-ancestors 'self'`); ikisini birlikte kullanmak en geniş tarayıcı uyumunu sağlar. Dikkat: `frame-ancestors *` veya boş bir değer koruma sağlamaz.
X-Content-Type-Options, Referrer-Policy ve Permissions-Policy
Bu üç başlık tabloyu tamamlar. `X-Content-Type-Options: nosniff` tarayıcının MIME türünü tahmin etmesini (sniffing) kapatır ve yüklenen dosyaların yanlış yorumlanmasını önler. `Referrer-Policy: strict-origin-when-cross-origin` başka sitelere geçişte tam URL'nin (ve içindeki olası gizli parametrelerin) sızmasını engeller. `Permissions-Policy` ise kamera, mikrofon, konum gibi tarayıcı özelliklerine erişimi kısıtlar (örn. `Permissions-Policy: geolocation=(), microphone=()`). Bunlar tek başına büyük açık kapatmaz ama bir savunma katmanı ekler ve SecRadar notunuza yansır.
Çerez Güvenlik Bayrakları (Secure, HttpOnly, SameSite)
Oturum çerezleri saldırganların birincil hedefidir. `Secure` bayrağı çerezin yalnızca HTTPS üzerinden gönderilmesini sağlar; `HttpOnly` JavaScript'in çereze erişmesini engelleyerek XSS ile oturum çalınmasını zorlaştırır; `SameSite=Lax` veya `Strict` ise CSRF saldırılarına karşı çerezin siteler arası isteklerde gönderilmesini sınırlar. SecRadar başlık taraması, sitenizin gönderdiği Set-Cookie başlıklarında bu bayrakların eksik olup olmadığını da raporlar — özellikle oturum çerezlerinde üçünün de bulunması beklenir.
Sunucu ve Teknoloji Sürümü İfşası Neden Risklidir?
`Server: Apache/2.2.15` veya `X-Powered-By: PHP/5.6` gibi başlıklar, çalıştırdığınız yazılımın tam sürümünü saldırganlara bildirir; bu da o sürüme ait bilinen zafiyetleri (CVE) doğrudan denemelerini kolaylaştırır. Gerekli olmayan sürüm bilgisini gizleyin: Nginx'te `server_tokens off;`, Apache'de `ServerTokens Prod` ve `ServerSignature Off`, uygulama çatılarında `X-Powered-By` başlığını kaldırın. SecRadar bu ifşa eden başlıkları bir bulgu olarak işaretler.
Güvenlik Başlıkları SEO ve Güveni Nasıl Etkiler?
Güvenlik başlıkları doğrudan bir sıralama faktörü olmasa da dolaylı etkileri büyüktür: HSTS ile zorunlu HTTPS, Google'ın tercih ettiği güvenli bağlantıyı garantiler; clickjacking ve XSS korumaları ise sitenizin kötüye kullanılıp 'zararlı site' olarak işaretlenme riskini azaltır. Bir güvenlik olayı veya tahrifat (defacement) hem kullanıcı güvenini hem arama görünürlüğünü ciddi şekilde düşürür. Bu başlıkları düzenli kontrol etmek, izlediğiniz alan adlarında bir başlık kaldırıldığında SecRadar'dan otomatik uyarı almakla birleştiğinde sürdürülebilir bir koruma sağlar.