Kayıt Ol Giriş Yap

Güvenlik Başlıkları Testi

HSTS, CSP ve A–F güvenlik notu.

Örnek: r10.net
www veya https yazmanız gerekmez
Analiz ediliyor, lütfen bekleyin…

HTTP güvenlik başlıkları (security headers), web sunucusunun her yanıtla birlikte tarayıcıya gönderdiği ve tarayıcının sayfayı nasıl ele alacağını belirleyen talimatlardır. Doğru yapılandırıldıklarında clickjacking, siteler arası betik çalıştırma (XSS), MIME türü karıştırma ve bilgi sızdırma gibi yaygın saldırıların etkisini önemli ölçüde azaltırlar. R10.Net Güvenlik Başlıkları Testi, girdiğiniz adresi ziyaret ederek yanıt başlıklarını okur, en önemli altı başlığı tek tek değerlendirir ve sitenize A+ ile F arasında bir not verir.

Test nasıl yapılır?

  1. Kutuya alan adını veya tam adresi yazın (örneğin ornek.com ya da https://ornek.com/giris).
  2. Sorgula düğmesine basın. Araç adresi bir tarayıcı gibi çağırır ve son yanıtın başlıklarını inceler.
  3. Notu, her başlığın durumunu ve önerileri inceleyin.

Farklı sayfalar farklı başlıklar döndürebilir; özellikle yönetim paneli, giriş sayfası ve statik dosyalar için ayrı test yapmanız faydalıdır.

Kontrol edilen başlıklar

Strict-Transport-Security (HSTS)

Tarayıcıya siteye belirli bir süre boyunca yalnızca HTTPS ile bağlanmasını söyler ve HTTPS'ten HTTP'ye düşürme saldırılarını engeller. Örnek: Strict-Transport-Security: max-age=31536000; includeSubDomains. Bu başlık yalnızca HTTPS yanıtlarında anlamlıdır.

Content-Security-Policy (CSP)

Sayfanın hangi kaynaklardan betik, stil, görsel ve çerçeve yükleyebileceğini tanımlar. XSS'e karşı en etkili başlıktır ancak yapılandırması en zor olanıdır. unsafe-inline ve unsafe-eval ifadeleri korumayı ciddi ölçüde zayıflatır.

X-Frame-Options

Sayfanın başka sitelerde <iframe> içinde gösterilip gösterilemeyeceğini belirleyerek clickjacking'i önler. DENY veya SAMEORIGIN değerleri önerilir. Modern alternatifi CSP'deki frame-ancestors yönergesidir.

X-Content-Type-Options

Tek geçerli değeri nosniff'tir. Tarayıcının dosya türünü tahmin etmesini engeller; böylece örneğin metin olarak yüklenen bir dosyanın betik olarak çalıştırılmasının önüne geçilir.

Referrer-Policy

Başka bir siteye geçildiğinde adres bilgisinin ne kadarının paylaşılacağını belirler. strict-origin-when-cross-origin veya no-referrer gibi değerler, adres çubuğundaki hassas parametrelerin üçüncü taraflara sızmasını önler.

Permissions-Policy

Kamera, mikrofon, konum ve ödeme gibi tarayıcı özelliklerinin sayfada ve gömülü çerçevelerde kullanılıp kullanılamayacağını kontrol eder. Örnek: Permissions-Policy: camera=(), microphone=(), geolocation=().

Güvenlik başlıkları neden önemli?

Güvenlik başlıkları, uygulamanızdaki bir açığı tek başına kapatmaz; ancak tarayıcıya ek bir savunma katmanı ekler. Örneğin sitenize bir şekilde zararlı bir betik enjekte edilse bile iyi yapılandırılmış bir CSP bu betiğin dış bir sunucudan yüklenmesini veya çalışmasını engelleyebilir. Benzer şekilde X-Frame-Options, kullanıcıların farkında olmadan gizli bir çerçevedeki düğmelere tıklatılmasını önler. Bu başlıklar sunucu tarafında birkaç satırlık bir ayarla eklenebildiği için maliyeti düşük, faydası yüksek bir güvenlik önlemidir. Özellikle üye girişi, ödeme veya yönetim paneli barındıran siteler için öncelikli olarak ele alınmalıdır.

Not nasıl hesaplanır?

Her başlığın varlığı ve değerinin güvenli olup olmadığı puana yansır; tüm başlıklar doğru yapılandırılmışsa A+, temel başlıkların çoğu eksikse F alırsınız. Ayrıca Server ve X-Powered-By başlıkları yazılım adını ve sürümünü açıkça gösteriyorsa (örneğin Apache/2.4.41 veya PHP/7.4.3) uyarı verilir. Bu bilgi tek başına bir açık değildir, ancak saldırganların bilinen açıkları olan sürümleri hedeflemesini kolaylaştırır.

Başlıklar nasıl eklenir?

  • Apache: .htaccess veya sanal sunucu yapılandırmasında Header always set X-Content-Type-Options "nosniff" biçiminde eklenir (mod_headers etkin olmalıdır).
  • Nginx: server bloğunda add_header X-Frame-Options "SAMEORIGIN" always; şeklinde tanımlanır. Alt bloklarda add_header kullanıldığında üst bloktaki başlıkların devralınmadığını unutmayın.
  • Cloudflare ve CDN'ler: Yanıt başlığı dönüştürme kurallarıyla sunucuya dokunmadan eklenebilir.
  • Sürüm gizleme: Apache'de ServerTokens Prod, Nginx'te server_tokens off;, PHP'de expose_php = Off ayarlarını kullanın.

Sık yapılan hatalar

  • CSP'yi doğrudan zorunlu kılmak: Sıkı bir CSP, analiz kodlarını, reklamları veya gömülü videoları bozabilir. Önce Content-Security-Policy-Report-Only ile ihlalleri izleyin, ardından politikayı uygulamaya alın.
  • HSTS preload'u aceleyle eklemek: preload ile tarayıcı listesine girdikten sonra HTTPS desteklemeyen alt alan adlarınıza erişilemez ve listeden çıkmak uzun sürer. Kısa bir max-age ile başlayıp kademeli olarak artırın.
  • Başlıkları yalnızca ana sayfaya eklemek: Hata sayfaları ve yönlendirme yanıtları da başlıkları göndermelidir; Apache'de always, Nginx'te always parametresi bunu sağlar.
  • Çakışan değerler: Hem uygulama hem sunucu aynı başlığı eklerse yanıtta iki farklı değer oluşabilir. Başlıkları tek bir katmanda yönetin.

İlgili araçlar

Sunucunun döndürdüğü tüm HTTP başlıklarını ham hâliyle görmek için Site HTTP Bilgisi, HTTPS sertifikanızın geçerliliğini ve bitiş tarihini kontrol etmek için SSL Sertifika Kontrolü, HTTP'den HTTPS'e yönlendirmeyi doğrulamak için Yönlendirme Kontrolü aracını kullanabilirsiniz.

Sıkça Sorulan Sorular

Güvenlik Başlıkları Testi ile ilgili merak edilenler

01 Security headers nedir?
Security headers (güvenlik başlıkları), web sunucusunun yanıtla birlikte tarayıcıya gönderdiği ve sayfanın nasıl işleneceğini sınırlayan HTTP başlıklarıdır. HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy ve Permissions-Policy en önemlileridir.
02 Güvenlik başlıkları testinde A+ notu nasıl alınır?
Altı temel başlığın tamamını güvenli değerlerle göndermeniz gerekir: uzun max-age değerli HSTS, unsafe-inline içermeyen bir CSP, X-Frame-Options, nosniff, kısıtlayıcı bir Referrer-Policy ve Permissions-Policy. Server ve X-Powered-By başlıklarında sürüm bilgisini gizlemek de önerilir.
03 Content-Security-Policy siteyi bozar mı?
Yanlış yapılandırılırsa evet; izin verilmeyen betikler, stiller ve gömülü içerikler engellenir. Bu yüzden önce Content-Security-Policy-Report-Only başlığıyla ihlalleri izleyin, gerekli kaynakları listeye ekleyin ve ardından politikayı zorunlu hâle getirin.
04 X-Frame-Options ile frame-ancestors arasındaki fark nedir?
İkisi de sayfanın başka sitelerde iframe içinde gösterilmesini engeller. frame-ancestors, CSP'nin bir parçasıdır ve birden fazla izinli kaynak tanımlamaya olanak verir; X-Frame-Options ise daha eski tarayıcılarla uyumluluk için hâlâ birlikte kullanılabilir.
05 Server ve X-Powered-By başlıklarını gizlemek gerekli mi?
Zorunlu değildir ama önerilir. Sürüm bilgisi tek başına bir açık oluşturmaz, ancak saldırganların bilinen açıkları olan sürümleri tespit etmesini kolaylaştırır. Apache'de ServerTokens Prod, Nginx'te server_tokens off ve PHP'de expose_php = Off ayarlarıyla gizleyebilirsiniz.
06 Güvenlik başlıkları SEO'yu etkiler mi?
Güvenlik başlıkları doğrudan bir sıralama faktörü değildir. Ancak HSTS ile HTTPS kullanımını güçlendirmek ve sitenin ele geçirilip zararlı içerik barındırma riskini azaltmak, dolaylı olarak hem kullanıcı güvenini hem de arama görünürlüğünü korur.

Benzer Araçlar

E-posta & Güvenlik kategorisindeki diğer araçlar

Kategoriler