
Bir web sitesinin HTTP Strict-Transport-Security (HSTS) header'ının düzgün çalışıp çalışmadığını kontrol etme.
Günümüz internet dünyasında güvenlik, hem kullanıcılar hem de web sitesi sahipleri için vazgeçilmez bir önceliktir. Google AdSense gibi reklam platformları için de sitenin güvenli ve sağlıklı olması, reklam gösterim kalitesi ve gelir açısından kritik bir faktördür. Bu bağlamda, HTTP Strict-Transport-Security (HSTS) protokolü, bir web sitesinin
güvenlik duruşunu önemli ölçüde güçlendiren temel bir mekanizmadır. HSTS, tarayıcılara belirli bir web sitesine yalnızca HTTPS üzerinden erişmeleri gerektiğini bildirerek, olası saldırıları ve bilgi sızıntılarını engellemeyi amaçlar. Peki, bu kritik güvenlik header'ının web sitenizde düzgün çalışıp çalışmadığını nasıl anlarsınız? Bir SEO editörü olarak, bu makalede HSTS'nin önemini, nasıl çalıştığını ve bir
HTTP Header Görüntüleyici kullanarak ya da farklı yöntemlerle nasıl kontrol edileceğini detaylıca ele alacağız.
HTTP Strict-Transport-Security (HSTS) Nedir ve Neden Önemlidir?
HTTP Strict-Transport-Security (HSTS), web sunucularının tarayıcılara gönderdiği özel bir yanıtlama başlığıdır (response header). Bu başlık, tarayıcıya belirli bir etki alanına (domain) sadece HTTPS üzerinden erişmesi gerektiğini bildirir. HSTS'nin temel amacı, ortadaki adam (Man-in-the-Middle - MITM) saldırılarını, oturum korsanlığını (session hijacking) ve HTTP'den HTTPS'ye yönlendirme sırasında oluşabilecek güvenlik açıklarını önlemektir.
Bir kullanıcı bir web sitesine ilk kez HTTP üzerinden erişmeye çalıştığında, sunucu HSTS başlığını göndererek tarayıcıya gelecekteki tüm bağlantıların HTTPS olması gerektiğini söyler. Tarayıcı bu bilgiyi belirli bir süre (max-age değeri ile belirlenir) boyunca kendi belleğinde saklar. Bu sürenin içinde kullanıcı aynı siteye tekrar HTTP ile erişmeye kalksa bile, tarayıcı otomatik olarak bağlantıyı HTTPS'ye yükseltir ve sunucuyla güvensiz bir HTTP bağlantısı kurmaya asla izin vermez. Bu durum, özellikle halka açık Wi-Fi ağları gibi potansiyel olarak güvensiz ortamlarda kullanıcıların korunması açısından hayati önem taşır.
HSTS'nin bir diğer önemli faydası da
SEO üzerindeki olumlu etkisidir. Google, HTTPS'i bir sıralama sinyali olarak kabul eder ve güvenli sitelere öncelik verir. HSTS uygulaması, sitenizin kalıcı olarak HTTPS kullandığını ve bu konuda kararlı olduğunu göstererek arama motorlarına güçlü bir sinyal gönderir. Ayrıca, tüm trafiğin HTTPS üzerinden zorlanması, karışık içerik (mixed content) sorunlarının önüne geçerek
kullanıcı deneyimini iyileştirir ve sitenin daha profesyonel ve güvenilir algılanmasını sağlar. Bu da dolaylı olarak sitenizin AdSense gelirlerine olumlu yansıyabilir, çünkü reklamverenler genellikle güvenli ve iyi performans gösteren sitelerde reklamlarının yayınlanmasını tercih ederler.
HSTS Header'ının Temel Bileşenleri
Bir HSTS header'ı genellikle aşağıdaki bileşenleri içerir:
*
`max-age`: Bu direktif, tarayıcının HSTS politikasını ne kadar süre boyunca hatırlayacağını saniye cinsinden belirtir. Yüksek bir `max-age` değeri (örneğin 31536000 saniye, yani 1 yıl) daha güçlü güvenlik sağlar. Web sitesi sahiplerinin genellikle bu değeri uzun tutması önerilir, ancak ilk başta düşük bir değerle başlayıp sorun olmadığından emin olduktan sonra artırmak daha güvenli bir yaklaşımdır.
*
`includeSubDomains`: Bu isteğe bağlı direktif, HSTS politikasının ana etki alanının yanı sıra tüm alt etki alanlarını (subdomains) da kapsamasını sağlar. Eğer sitenizde `blog.example.com` veya `shop.example.com` gibi alt alan adları kullanıyorsanız ve bunların da HTTPS üzerinden erişilmesini istiyorsanız bu direktifi eklemelisiniz.
*
`preload`: Bu isteğe bağlı direktif, web sitesinin Google'ın HSTS Preload Listesi'ne dahil edilmek üzere uygun olduğunu belirtir. Bu listeye dahil olmak, tarayıcıların sitenizi ziyaret etmeden önce bile HSTS etkin olduğunu bilmesini sağlar ve "ilk ziyaret" anındaki zafiyetleri ortadan kaldırır. Bu listeye kabul edilmek için belirli koşulları karşılamak gerekir, örneğin tüm alt alan adlarının HTTPS üzerinden erişilebilir olması ve yüksek bir `max-age` değerine sahip olmak gibi.
Bir Web Sitesinin HSTS Header'ını Kontrol Etme Yöntemleri
HSTS header'ınızın doğru şekilde yapılandırıldığından ve çalıştığından emin olmak, sitenizin güvenliği ve
web sitesi performansı için kritik öneme sahiptir. İşte bu kontrolleri yapabileceğiniz başlıca yöntemler:
1. Tarayıcı Geliştirici Araçları Kullanımı
En basit ve en erişilebilir yöntemlerden biri, kullandığınız web tarayıcısının geliştirici araçlarını kullanmaktır. Bu araçlar, web sitesiyle kurulan bağlantıya ilişkin tüm detayları, gönderilen ve alınan HTTP başlıkları da dahil olmak üzere görmenizi sağlar.
*
Nasıl Yapılır?1. Web sitenizi bir tarayıcıda (Chrome, Firefox, Edge vb.) açın.
2. Sağ tıklayıp "İncele" (Inspect) seçeneğini seçin veya klavyenizdeki `F12` tuşuna basın.
3. Açılan geliştirici araçları panelinde "Ağ" (Network) sekmesine gidin.
4. Sayfayı yenileyin (F5). Sayfa yüklenirken yapılan tüm istekleri göreceksiniz.
5. Listeden sitenizin ana URL'sine (genellikle ilk istek) tıklayın.
6. Sağ tarafta açılan panelde "Başlıklar" (Headers) sekmesini seçin.
7. "Yanıt Başlıkları" (Response Headers) bölümünü inceleyin. Burada `Strict-Transport-Security` adında bir başlık arayın. Bu başlık varsa ve içinde `max-age` ile `includeSubDomains` (eğer kullanıyorsanız) değerleri doğru görünüyorsa, HSTS header'ınız sunucunuzdan düzgün bir şekilde gönderiliyor demektir.
Bu yöntem, anlık olarak tarayıcınızın sunucudan ne aldığını gösterir. Ancak, tarayıcınız HSTS bilgisini zaten önbelleğe almışsa, ilk HTTP isteğini HTTPS'ye yükselttiği için bu başlığı doğrudan göremeyebilirsiniz. Bu durumu test etmek için tarayıcı verilerinizi (özellikle site verilerini) temizledikten sonra siteye HTTP üzerinden erişmeye çalışmak daha açıklayıcı olacaktır.
2. Online HTTP Header Görüntüleyici Araçları
Tarayıcı geliştirici araçları yerine veya ek bir doğrulama olarak, çevrimiçi
HTTP Header Görüntüleyici araçları kullanmak oldukça pratik ve güvenilirdir. Bu araçlar, sitenize dışarıdan bir bağlantı kurarak sunucunuzun yanıt başlıklarını size gösterir ve tarayıcınızın önbellekleme davranışlarından bağımsız bir sonuç sunar.
*
Nasıl Yapılır?1. Google'da "HTTP Header Viewer", "Online Header Checker" veya "HSTS Checker" gibi terimlerle arama yaparak birçok ücretsiz araca ulaşabilirsiniz. Örneğin, securityheaders.com veya hstspreload.org gibi siteler bu kontrolü yapmanızı sağlar (ikincisi özellikle preload listesi için).
2. Seçtiğiniz araca web sitenizin URL'sini (tercihen `https://` ile başlayan tam adresini) girin ve analizi başlatın.
3. Araç, sunucunuzdan gelen tüm yanıt başlıklarını listeleyecektir. Bu listede yine `Strict-Transport-Security` başlığını arayın. Başlığın varlığı, `max-age` değeri ve `includeSubDomains` ile `preload` direktiflerinin durumu açıkça belirtilecektir.
Bu tür araçlar genellikle, sitenizin genel
SSL/TLS yapılandırmasını da detaylı bir şekilde gösterir. Güvenli bir
web sitesi performansı için SSL sertifikalarının doğru yapılandırılması büyük önem taşır. Konuyla ilgili daha fazla bilgi için `/makale.php?sayfa=ssl-sertifikasi-dogrulama` makalemizi ziyaret edebilirsiniz. Online araçlar, HSTS yapılandırmanızın global internet üzerinden nasıl göründüğünü anlamak için en iyi yöntemlerden biridir.
3. Komut Satırı Araçları (curl vb.)
Teknik bilgiye sahip kullanıcılar için `curl` gibi komut satırı araçları da oldukça etkilidir. Bu araçlar, sunucuyla doğrudan iletişim kurarak HTTP başlıklarını almanızı sağlar.
*
Nasıl Yapılır?1. Terminal veya komut istemcisini açın.
2. `curl -I https://www.example.com` gibi bir komut çalıştırın. `-I` bayrağı, `curl`'ın sadece HTTP başlıklarını getirmesini sağlar, tüm sayfa içeriğini değil.
3. Komutun çıktısında, sunucunun gönderdiği tüm yanıt başlıklarını göreceksiniz. `Strict-Transport-Security` başlığını bu çıktıda arayarak kontrol yapabilirsiniz.
Bu yöntem, özellikle sunucu yöneticileri ve geliştiriciler için hızlı ve doğrudan bir doğrulama imkanı sunar.
HSTS Yapılandırmasının Doğruluğunu Anlama
HSTS header'ının sadece var olması yeterli değildir, aynı zamanda doğru yapılandırılmış olması da gerekir. Aşağıdaki noktalara dikkat etmelisiniz:
*
`max-age` Değeri: Bu değerin yeterince yüksek olduğundan emin olun (örneğin en az 6 ay veya 1 yıl). Yüksek bir değer, tarayıcıların politikayı daha uzun süre hatırlamasını sağlar.
*
`includeSubDomains` Direktifi: Eğer alt alan adlarınız varsa ve hepsinin HTTPS üzerinden erişilebilir olmasını istiyorsanız bu direktifin mutlaka eklenmiş olduğundan emin olun. Aksi takdirde, alt alan adlarınız güvensiz kalabilir.
*
`preload` Direktifi ve HSTS Preload Listesi: Eğer sitenizi HSTS Preload Listesi'ne göndermek istiyorsanız, header'ınızda `preload` direktifinin bulunduğundan emin olun ve sitenizin bu listeye kabul edilme şartlarını karşıladığını doğrulayın. Bu listeye dahil olmak, özellikle yeni ziyaretçiler için maksimum koruma sağlar.
Web sitenizin genel güvenlik duruşunu iyileştirmek için bu tür header'ların yanı sıra, diğer güvenlik önlemlerini de gözden geçirmek faydalı olacaktır. Örneğin, içerik güvenlik politikaları hakkında '/makale.php?sayfa=icerik-guvenlik-politikasi' makalemiz size yol gösterebilir.
HSTS Yapılandırmasında Sıkça Görülen Hatalar ve Çözümleri
*
HSTS Header'ının Hiç Gönderilmemesi: Sunucu yapılandırmasında HSTS başlığı eklenmemiş olabilir. Apache, Nginx gibi web sunucularının konfigürasyon dosyalarını düzenleyerek bu başlığı eklemeniz gerekir.
*
Düşük `max-age` Değeri: Başlangıçta düşük bir değerle test etmek mantıklı olsa da, güvenlik için bu değeri zamanla artırmak önemlidir.
*
`includeSubDomains` Eksikliği: Alt alan adları olan ancak bu direktifi kullanmayan siteler, alt alan adlarındaki güvenlik zafiyetlerine karşı savunmasız kalabilir.
*
`preload` Kabul Edilmeme: HSTS Preload Listesi'ne gönderim yaparken, sitenizin tüm alt alan adlarının HTTPS üzerinden sorunsuz çalıştığından ve yeterince yüksek bir `max-age` değerine sahip olduğundan emin olun.
*
Karma İçerik (Mixed Content) Sorunları: HSTS'nin tam olarak çalışabilmesi için sitenizdeki tüm kaynakların (resimler, CSS, JS dosyaları vb.) HTTPS üzerinden yüklenmesi gerekir. HTTP üzerinden yüklenen herhangi bir kaynak, tarayıcının güvenlik uyarısı vermesine veya HSTS'nin tam olarak uygulanamamasına neden olabilir.
Neden HSTS'i Önemsemelisiniz? SEO, Güvenlik ve AdSense İlişkisi
HSTS, sadece teknik bir başlık olmanın ötesinde, web sitenizin dijital ekosistemdeki genel sağlığını ve itibarını doğrudan etkileyen bir unsurdur. Güçlü bir HSTS uygulaması, sitenizin:
*
SEO Performansını Artırır: Google gibi arama motorları, güvenliği önceliklendirir. HSTS, sitenizin HTTPS kullanımını kalıcı hale getirerek
SEO sıralamalarına olumlu katkıda bulunur ve güvenilir bir imaj çizer.
*
Kullanıcı Güvenini Kazanır: Ziyaretçilerinizin verilerinin her zaman güvende olduğunu bilmesi, sitenize olan güvenlerini artırır. Güvenli bir ortam, kullanıcıların sitenizde daha uzun süre kalmasını ve etkileşimde bulunmasını teşvik eder.
*
AdSense Gelirlerini Korur ve Artırır: Google AdSense, kullanıcı deneyimini ve site güvenliğini ön planda tutar. Güvenli olmayan bir site, reklamverenler için risk oluşturabilir ve bu da uzun vadede
web sitesi performansı ve reklam gelirinizi etkileyebilir. HSTS gibi güvenlik önlemleri, sitenizin AdSense politikalarına uygunluğunu destekler ve reklam gösterimlerinin kesintiye uğramamasını sağlar. Düşük güvenlik seviyesi, reklamverenlerin sitenizdeki reklamları geri çekmesine veya daha düşük ücretler ödemesine yol açabilir.
Sonuç
HTTP Strict-Transport-Security (HSTS), modern web siteleri için artık bir lüks değil, bir gerekliliktir. Sitenizin
güvenlik seviyesini en üst düzeye çıkararak kullanıcılarınızı korumak,
SEO sıralamalarınızı iyileştirmek ve Google AdSense gibi reklam platformlarıyla sorunsuz bir deneyim sağlamak için HSTS'nin doğru bir şekilde uygulandığından ve çalıştığından emin olmalısınız.
Tarayıcı geliştirici araçları,
HTTP Header Görüntüleyici online araçlar veya komut satırı uygulamaları gibi çeşitli yöntemlerle HSTS header'ınızı düzenli olarak kontrol etmek, sitenizin güvenlik duruşunu proaktif bir şekilde yönetmenizi sağlar. Unutmayın, güvenli bir web sitesi, başarılı bir çevrimiçi varlığın temelini oluşturur. HSTS uygulamasını ertelemeyin ve sitenizin güvende olduğundan emin olun.
Yazar: Tarkan Tevetoğlu
Ben Tarkan Tevetoğlu, bir Akademisyen ve Araştırmacı. Platformumuzda teknolojiyi herkes için anlaşılır kılmak, karmaşık konuları basitleştirerek okuyucularımızın günlük yaşamında pratik olarak kullanabileceği bilgiler sunmak, yeni beceriler kazandırmak, farkındalık oluşturmak ve teknoloji dünyasındaki gelişmeleri anlaşılır bir dille aktarmak amacıyla yazıyorum.