
HTTP Strict Transport Security (HSTS), web sitelerini ortadaki adam saldırılarına ve oturum ele geçirmeye karşı korumaya yardımcı olan bir web güvenlik politikası mekanizmasıdır. Web sunucularının, tarayıcılarla yalnızca güvenli HTTPS bağlantıları üzerinden iletişim kurmaları gerektiğini belirtmelerine olanak tanır.
HSTS, web sunucusu ile tarayıcı arasındaki tüm iletişimin belirtilen süre boyunca şifrelenmesini sağlar.
Yukarıda HSTS nedir sorusunun yanıtını kısaca anlattık. Bir sonraki bölümde HSTS ne işe yarar sorusunun cevabını bulabilirsiniz.
HSTS bir gereklilik olmasa da, istemciler ve uygulamalar için güvenliği otomatik olarak artırabilecek basit bir önlemdir. HSTS, bazı yaygın siber güvenlik tehditlerini ortadan kaldırmak amacıyla geliştirilmiştir.
İlk senaryoda, HSTS başlığı HTTPS bağlantılarının HTTP bağlantılarına dönüşmesini engeller. Tarayıcı belirli bir web sitesinin HSTS durumunu hatırlar ve web sunucusu bunu Strict-Transport-Security yönergesini kullanarak istemciye geri iletir.
İkinci senaryoda, müşterilerin daha önce eriştiği web siteleri aynı HSTS talimatını korur ve sahte sitelere hizmet vermeyi reddeder. Sertifika tabanlı MITM saldırıları söz konusu olduğunda, HSTS kullanıcıların bu tür geçersiz sertifikalara karşı kendilerini uyaran uyarı mesajlarını atlamalarını engeller. Normalde, tarayıcılar uyarı sayfasında bir ''I understand the risks (Riskleri anlıyorum)'' butonu sunar ve bu buton, süresi dolmamış bir HSTS başlığı önceki ziyaretlerden (veya bir ön yükleme listesinden) önbelleğe alınmışsa kaldırılır.
Üçüncü senaryoda, HSTS uygulaması tüm çerezlerin HTTPS üzerinden iletilmesini sağlayarak oturum çalmayı önler. Şifreleme, bu çerezlerin insan tarafından okunabilir olmasını engeller.
HSTS yönlendirmeleri inanılmaz derecede hızlıdır, her HTTP isteğine çok az ölçülebilir gecikme ekler. Bu da HSTS'yi performans kaybı olmadan geniş ölçekte güvenliği artırmak için uygun bir seçenek haline getirir.
Yukarıda HSTS ne işe yarar sorusunun detaylarını sizin için anlattık, aşağıdaki bölümde HSTS kullandığından şu anda siteyi ziyaret edemezsiniz hatası ile ilgili detayları bulabilirsiniz.
Popüler tarayıcılarda HTTP Strict Transport Security (HSTS) hataları, sertifikanın süresinin dolması veya geçersiz olması, sunucu yapılandırmasının düzgün uygulanmaması, DNS sorununun düzeltilmemiş olması vb. gibi birden fazla nedenden dolayı ortaya çıkabilir.
Aşağıdaki listede HSTS hatası nasıl düzeltilir sorusunun cevaplarını bulabilirsiniz:
Bir web sitesinin SSL sertifikası süresi dolduğunda, kullanıcılar siteye erişmeye çalıştıklarında HSTS hata uyarısı alabilir.
SSL sertifikası güvenilir bir sertifika yetkilisi tarafından verilmemişse, tarayıcılar bu sertifikayı doğrulayamaz ve HSTS hatalarıyla karşılaşılabilir.
Bir web sunucusu HTTPS trafiğini düzgün şekilde kabul edecek biçimde yapılandırılmamışsa, kullanıcılar siteye bağlanmaya çalıştığında HSTS hatası veya uyarı mesajı alabilir.
Eğer DNS ile ilgili sorunlar varsa ya da alan adı düzgün yapılandırılmamışsa, kullanıcılar siteye erişmeye çalışırken HSTS hatasıyla karşılaşabilir.
Bazı güvenlik yazılımları veya tarayıcı eklentileri, HSTS protokolüne müdahale ederek sorunlara yol açabilir.
Eğer HTTPS yerine HTTP kullanırsanız, kullanıcı ile web sitesi arasındaki tüm iletişim düz metin olarak gerçekleşir.
Bu durumda finansal bilgiler, sosyal güvenlik numaraları, kredi kartı bilgileri, telefon numaraları, sağlık verileri, fiziksel adres ve giriş bilgileri gibi birçok hassas veri bilgisayar korsanları tarafından kolayca ele geçirilebilir.
HTTP Strict Transport Security (HSTS) mekanizması, HTTP sitesinden HTTPS sitesine 301 yönlendirmesi uygulayarak çalışır. Bu mekanizmayı kullanan web siteleri, başlıklarında aşağıdaki kodu kullanır:
Strict-Transport-Security: max-age=expireTime; includeSubDomains; preload
Bu yöntem sayesinde, tarayıcıların bağlantı kurmak için yalnızca HTTPS üzerinden istek göndermesi sağlanır. İstek başarılı bir şekilde gerçekleştiğinde ise veri alışverişi devam eder.
Örneğin, bir kullanıcı tarayıcıya http://alanadiniz.com yazdığında, web sitesi otomatik olarak bu adresi https://alanadiniz.com adresine 301 yönlendirmesiyle yönlendirir.
HSTS kullanmak sadece güvenliğe yardımcı olmakla kalmaz, aynı zamanda SSL kurulumundaki boşluklardan kaynaklanan saldırılara karşı bir koruma sağlar ve aşağıdaki avantajları sunar:
''includeSubdomains'' adlı bir yönerge, alt alan adları da dahil olmak üzere web sitesine bağlantı veren tüm tarayıcı isteklerini güvenli hale getirir. Bu özellik, SSL'in kısmi olarak çağrılmasından ve bazı komut dosyaları ve resimler için HTTP bağlantıları kullanan karışık içerikten kaynaklanan sorunu çözer.
Birçok kullanıcı güvenlik uyarılarını görmezden gelmeyi tercih etmektedir. HSTS depolandığında, kullanıcı uyarıdan kaçınmış olsa bile iletişim otomatik olarak durdurulur ve böylece potansiyel saldırı aralığı azalır.
Web sitesini yalnızca güvenli modda kullanarak web sitesi sahiplerinin güvenini artırır.
Oturum ele geçirme saldırısı bir tür MITM saldırısıdır ve HSTS ile tarayıcıyı bu tür saldırılara karşı koruyan ''includeSubdomains'' modu vardır.
URL'lerin herhangi birinde HTTP'nin HTTPS ile değiştirilmesini zorunlu kılar. Bir kullanıcı veya komut dosyası yanlışlıkla bir HTTP bağlantısına başvurursa, HSTS tarayıcıya bağlantıyı HTTPS'ye geçirmesi talimatını verir. Bağlantı şifreli ve güvenli kalır ve hassas verileri açığa çıkarabilecek kasıtsız protokol düşüşlerini önler.
HSTS her ne kadar önemli avantajlar sunsa da, bazı dezavantajları da vardır. Bunlar aşağıdaki şekildedir:
HSTS’nin uygulanabilmesi için web sunucusunun yapılandırılması ve HTTP yanıtlarında Strict-Transport-Security başlığının yer alması gerekir. Ayrıca, karışık içerik uyarılarından kaçınmak için web sitesindeki tüm içeriğin yalnızca HTTPS üzerinden sunulması sağlanmalıdır. Buna aşağıdakiler de dâhildir:
Çoğu modern web tarayıcısı HSTS'yi desteklese de, eski tarayıcılar veya cihazlarla uyumluluk sorunları yaşanabilir. Bu nedenle, web siteleri bu tür senaryoları zarif bir şekilde yönetebilmek için yedek mekanizmalar uygulamalıdır.
Web sitesinin HTTPS yapılandırması düzgün şekilde korunmalı ya da HSTS başlığı uzun süreli olarak ayarlanmalıdır. Aksi takdirde, HTTPS bağlantısı kullanılamaz hale gelirse kullanıcılar siteye erişemez. Bu da erişim kilitlenmesi sorununa yol açabilir.
Web sitenizde SSL sertifikası ile ilgili sorunlar yaşıyorsanız ve HSTS nasıl kaldırılır diye merak ediyorsanız, bu bölümde Chrome, Firefox tarayıcısında HSTS nasıl kapatılır öğrenebilirsiniz:
HSTS'nin uygulanması, Google'ın sıralama yapmak için kullandığı faktörlere olumlu bir etki sağlar.
Son zamanlarda insanların verileriyle ilgili yaşanan tüm güven sorunları nedeniyle Google, bir bireyin kişisel bilgilerini güvende tutmak için elinden geleni yapmaktadır. Bu yüzden bir site ne kadar güvenli olursa, Google o sitenin sıralanmasına o kadar yardımcı olur.
Google, yüksek riskli bir web sitesine öncelik vermez. Çünkü kötü niyetli bir web sitesini ziyaret ettiğinizde başınıza gelenlerden neredeyse sorumlu olurlar.
Site hızı, olumlu bir kullanıcı deneyimi ile ilişkili olduğu için web sitelerinin sıralanması söz konusu olduğunda önemli bir faktördür. Bir kullanıcı web sitenizi ziyaret ettiğinde ve sitenizin yüklenmesi uzun sürdüğünde, sitenizin yüklenmesini beklemez. Siteniz yeterince hızlı yüklenmezse, ziyaretçileriniz sitenizden çıkar.
Sonuç olarak hemen çıkma oranınız artar ve Google, kullanıcıların sitenizden memnun olmadığını görür. Google kullanıcılarını mutlu etmeyi sever, bu nedenle siteniz yavaşsa, siteniz sıralamalarını kaybetmeye başlarsınız.