Bir Web Sitesinin Http Strict Transport Security Hsts Headerinin Duzgu
Bir Web Sitesinin Http Strict Transport Security Hsts Headerinin Duzgu

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.

Tarkan Tevetoğlu

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.

Diğer Makaleler

Web Sitenizin 301 Yonlendirme Ve 404 Hatalarinin Kaynagini Http BaslikWeb Sitenizin 301 Yonlendirme Ve 404 Hatalarinin Kaynagini Http BaslikWeb Sitenizdeki Onbellekleme Sorunlarini Http Basliklarini GoruntuleyeWeb Sitenizdeki Onbellekleme Sorunlarini Http Basliklarini GoruntuleyeWeb Sitenizin Guvenlik Basliklari Csp Hsts Aktif Mi Http Header GoruntWeb Sitenizin Guvenlik Basliklari Csp Hsts Aktif Mi Http Header GoruntSeo Denetiminde Tespit Edilen Yonlendirme Zincirlerini Http BasliklariSeo Denetiminde Tespit Edilen Yonlendirme Zincirlerini Http BasliklariGelistiriciyim Cors Hatasi Aliyorum Http Header Goruntuleyici KullanarGelistiriciyim Cors Hatasi Aliyorum Http Header Goruntuleyici KullanarWeb Sitemdeki Yanlis Yonlendirme 301302 Hatalarini Http Header GoruntuWeb Sitemdeki Yanlis Yonlendirme 301302 Hatalarini Http Header GoruntuIstenmeyen Bot Trafigini User Agent Basligi Ile Tespit Etme YontemleriIstenmeyen Bot Trafigini User Agent Basligi Ile Tespit Etme YontemleriSitenizin Sunucu Yazilimi Ve Versiyonunu Http Basliklarindan OgrenmeSitenizin Sunucu Yazilimi Ve Versiyonunu Http Basliklarindan OgrenmeContent Type Hatasi Nedeniyle Siteniz Yanlis Goruntuleniyor Mu BasliklContent Type Hatasi Nedeniyle Siteniz Yanlis Goruntuleniyor Mu BasliklSeo Performansini Etkileyen Http Durum Kodlari Basliklari Nasil AnlarsSeo Performansini Etkileyen Http Durum Kodlari Basliklari Nasil AnlarsTarayicidaki Cors Hatasi Icin Access Control Allow Origin Basligi NasiTarayicidaki Cors Hatasi Icin Access Control Allow Origin Basligi NasiWeb Sitenizin Http Guvenlik Basliklari Eksik Mi Online Goruntuleyici IWeb Sitenizin Http Guvenlik Basliklari Eksik Mi Online Goruntuleyici ISitenizin Yavas Yuklenmesinin Http Basliklarindaki Gizli SebepleriSitenizin Yavas Yuklenmesinin Http Basliklarindaki Gizli Sebepleri404 Not Found Hatasinin Gercek Nedenini Http Basliklari Ile Bulun404 Not Found Hatasinin Gercek Nedenini Http Basliklari Ile BulunYanlis Cache Control Basligi Yuzunden Siteniz Guncellenmiyor Mu TeshisYanlis Cache Control Basligi Yuzunden Siteniz Guncellenmiyor Mu TeshisSitenizdeki Yonlendirme Zincirini Http Header Goruntuleyici Ile CozumlSitenizdeki Yonlendirme Zincirini Http Header Goruntuleyici Ile CozumlSunucu Hatasi 500 Internal Server Error Icin Http Header Bilgileriyle Sunucu Hatasi 500 Internal Server Error Icin Http Header Bilgileriyle Tiklama Korsanligina Karsi Koruma X Frame Options Http Header AyarlariTiklama Korsanligina Karsi Koruma X Frame Options Http Header AyarlariWeb Sitemdeki Oturum Acma Sorunu Set Cookie Http Headeri Nasil DogrulaWeb Sitemdeki Oturum Acma Sorunu Set Cookie Http Headeri Nasil DogrulaYanlis 404 Sayfasi Http Header Bilgisiyle Nasil Dogru Sekilde YapilandYanlis 404 Sayfasi Http Header Bilgisiyle Nasil Dogru Sekilde YapilandRest Api Cagrilarinda Cross Origin Cors Hatasi Cozumu Http Header InceRest Api Cagrilarinda Cross Origin Cors Hatasi Cozumu Http Header InceWeb Sayfamin Icerigi Bozuk Gorunuyor Content Type Http Headerini DuzelWeb Sayfamin Icerigi Bozuk Gorunuyor Content Type Http Headerini DuzelTarayicidaki Guvensiz Baglanti Uyarisi Hsts Header Ayarlari Nasil KontTarayicidaki Guvensiz Baglanti Uyarisi Hsts Header Ayarlari Nasil KontGoogle Bot Web Sayfami Neden Indekslemiyor X Robots Tag Headerini AnlaGoogle Bot Web Sayfami Neden Indekslemiyor X Robots Tag Headerini AnlaSonsuz Yonlendirme Dongusunu Http Header Goruntuleyici Ile Adim Adim TSonsuz Yonlendirme Dongusunu Http Header Goruntuleyici Ile Adim Adim TWeb Sitemdeki Yavas Yukleme Sorununu Http Cache Control Headeri Ile NaWeb Sitemdeki Yavas Yukleme Sorununu Http Cache Control Headeri Ile NaWeb Sitemdeki Cerezler Neden Ayarlanmiyor Set Cookie Http BasliklariniWeb Sitemdeki Cerezler Neden Ayarlanmiyor Set Cookie Http BasliklariniArama Motorlari Icin Canonical Urlimin Dogru Ayarlanip AyarlanmadiginiArama Motorlari Icin Canonical Urlimin Dogru Ayarlanip AyarlanmadiginiTarayicim Icerigi Yanlis Karakterlerle Gosteriyor Content Type Http BaTarayicim Icerigi Yanlis Karakterlerle Gosteriyor Content Type Http Ba404 Veya 500 Gibi Sunucu Hatasi Aliyorum Gercek Http Durum Kodunu Ve N404 Veya 500 Gibi Sunucu Hatasi Aliyorum Gercek Http Durum Kodunu Ve NCors Hatasi Aliyorum Access Control Allow Origin Http Basligi Yanlis YCors Hatasi Aliyorum Access Control Allow Origin Http Basligi Yanlis YWeb Sitemin Guvenlik Acigini Gosteren Eksik Hsts Veya Csp Http BasliklWeb Sitemin Guvenlik Acigini Gosteren Eksik Hsts Veya Csp Http BasliklSurekli Yonlendirme Dongusune Dusuyorum Http Basliklari Zinciri Bu SorSurekli Yonlendirme Dongusune Dusuyorum Http Basliklari Zinciri Bu SorCalismayan Url Yonlendirmemin Kok Nedenini Http Basliklarini GoruntuleCalismayan Url Yonlendirmemin Kok Nedenini Http Basliklarini GoruntuleTarayici Onbellekleme Sorununu Cache Control Http Basliklarini InceleyTarayici Onbellekleme Sorununu Cache Control Http Basliklarini InceleyWeb Sitemin Yavas Yuklenme Nedeni Http Basliklarinda Gizli Olabilir MiWeb Sitemin Yavas Yuklenme Nedeni Http Basliklarinda Gizli Olabilir MiEski Iceriklerin Onbellege Alinma Sorunlarini Etag Basligiyla Http HeaEski Iceriklerin Onbellege Alinma Sorunlarini Etag Basligiyla Http HeaReferer Basliginin Dogru Calisip Calismadigini Http Header GoruntuleyiReferer Basliginin Dogru Calisip Calismadigini Http Header GoruntuleyiSeo Icin Kritik Hsts Strict Transport Security Basliginin Dogru YapilaSeo Icin Kritik Hsts Strict Transport Security Basliginin Dogru YapilaIcerik Turu Content Type Basligi Yanlis Mi Http Header Goruntuleyici IIcerik Turu Content Type Basligi Yanlis Mi Http Header Goruntuleyici I