
Günümüzde internet, işlemlerin ve iletişimin merkezi bir parçası haline geldi. Ancak bu yaygın kullanım, siber tehditlerin artmasına ve kullanıcıların verilerinin güvencesizliği riskinin artmasına neden oldu. Bu makalede, HSTS (HTTP Strict Transport Security) politikası ve web güvenliğindeki kritik rolü üzerinde durulacak. Ayrıca HSTS’nin neden tanıtıldığını ve nasıl çalıştığını ele alacağız.
HSTS: Web Güvenliğindeki İlerleme
HTTP, genellikle İletim Kontrol Protokolü (TCP) aracılığıyla aktarılır ve bu aktarım yöntemi bütünlük koruması, gizlilik veya güvenli ana bilgisayar tanımlaması sağlamaz. Bu nedenle, Güvenli Yuva Katmanı (SSL) ve onun yeni versiyonu Aktarım Katmanı Güvenliği (TLS) gibi güvenlik protokollerinin geliştirilmesi gerekti. SSL/TLS, genellikle HTTPS olarak bilinen bir şifreleme katmanı sağlar.
Normalde HTTP isteği atılan web sunucusu, HTTPS sitesine işaret eden bir yeniden yönlendirmeyle ( yanıt kodu 301 ) yanıt verir. Daha sonra https://facebook.com ile HTTPS bağlantısı kurulur.
Daha sonraki durumlarda bilgilerin yanlışlıkla düz metin olarak HTTP protokolü kullanılarak tekrar gönderilmesini önlemek için, sunucu, HTTPS bağlantısı kurulduktan sonra HSTS güvenlik politikasını uygulamak için bir başlıkla yanıt verir. Bu başlığa HSTS Başlığı denir ve şuna benzer:
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
Bu başlık tarayıcıya özel talimatlar verir. Şu andan itibaren, bu başlığı aldığınız andan itibaren bir sonraki yıl (63072000 saniye) siteye ve alt alan adlarına yapılacak her bağlantı bir HTTPS bağlantısı olmalıdır. HTTP bağlantılarına hiçbir şekilde izin verilmiyor. Tarayıcı, HTTP kullanarak bir kaynağı yükleme isteği alırsa, bunu bir HTTPS isteğiyle denemelisiniz. HTTPS kullanılamıyorsa bağlantı sonlandırılmalıdır.

Ayrıca sertifikanın geçersiz olması durumunda bağlantı sonlandırılacaktır . Normalde, bir sertifika geçersizse (süresi dolmuş, kendinden imzalı, bilinmeyen bir CA tarafından imzalanmış vb.), tarayıcı atlayabileceğiniz bir uyarı görüntüler. Ancak site HSTS ile yapılandırılmışsa tarayıcı uyarıyı atlamanıza hiçbir şekilde izin vermeyecektir. Siteye erişmek için tarayıcının HSTS listesinden kaldırmanız gerekir.
Strict-Transport-Security başlığı belirli bir web sitesi için gönderilir ve belirli bir alan adını kapsar . Bu nedenle, test.jlajara.gitlab.io’nun HSTS başlığı jlajara.gitlab.io’yu kapsamaz , yalnızca test alt alan adını kapsar. Bu nedenle, tam koruma için temel etki alanına (bu durumda jlajara.gitlab.io ) bir içerme çağrısı dahil edilmeli ve includeSubDomains yönergesiyle o etki alanı için bir Strict-Transport-Security güvenlik başlığı alınmalıdır.
Ayrıca tarayıcı, HTTP şemasını kullanarak sitenize erişirken Strict-Transport-Security başlığını yok sayar.

SSL
Bir saldırı senaryosunu simüle etmek için aynı ağa iki sanal makine (kurban ve saldırgan) yerleştirildi.
Saldırı, SSL olarak bilinir ve aşağıdakilerden oluşur:
- 1. Saldırgan, kurbanın ARP tablosunu zehirleyerek ortadaki adam saldırısı gerçekleştirir .
- 2. Kurbanın HTTP trafiği, saldırgan tarafından oluşturulan bir proxy’ye yönlendirilir.
- 3. Saldırgan, kurbanın trafiğini HTTPS üzerinden gönderir ve yanıtın içeriğini HTTP üzerinden kurbana sunar.
- 4. Mağdurun oluşturduğu trafik, saldırgan tarafından okunarak sürekli olarak sunucuya gönderilir.

Oturum Ele Geçirme ve HSTS Çözümü
Oturum ele geçirme veya çerez ele geçirme, bir diğer güvenlik açığıdır. Bu saldırılar, mevcut bir oturumu ele geçirerek yetkisiz erişim sağlar. Çerezler, birçok web sitesinde oturumları sürdürmek için kullanılır. Ancak güvenli olmayan çerezler, HTTP bağlantıları üzerinden gönderildiği için saldırganların kolayca çalmasına olanak tanır.
HSTS, çerez ele geçirme gibi saldırılara karşı da koruma sağlar. HSTS, tarayıcılara ve kullanıcı araçlarına web siteleri ile yalnızca güvenli HTTPS bağlantıları üzerinden iletişim kurma gerekliliğini getirir. Bu, güvenli olmayan çerezlerin ele geçirilmesini önler.
HSTS Nasıl Çalışır?
HSTS, web sunucularının web tarayıcıları ve diğer kullanıcı araçlarıyla iletişimlerin güvenli olmayan HTTP bağlantıları yerine HTTPS bağlantıları üzerinden gerçekleşmesi gerektiğini bildiren bir politikadır. Bir sunucu, HSTS politikasını bir HTTPS bağlantısı üzerinden iletişim kurulması gerektiğini belirten bir yanıt başlığı göndererek uygulayabilir. Bu başlık “Strict-Transport-Security” olarak adlandırılır ve gelecekteki isteklerin yalnızca HTTPS kullanılmasını belirten bir “max-age” değeri içerir.
HSTS başlığı tarayıcılar tarafından alındığında, tarayıcı bu bilgiyi hatırlar ve bu web sitesine gelecekteki istekler için otomatik olarak HTTPS kullanır. Böylece, kullanıcılar güvensiz bağlantıları kullanamazlar.



Sonuç: HSTS ve Web Güvenliği
HSTS (HTTP Sıkı Aktarım Güvenliği), web güvenliğini artırmak için geliştirilen önemli bir politikadır. Bu politika, tıklama güvensizliği, SSL-Stripping saldırıları, oturum ele geçirme ve çerez ele geçirme gibi siber tehditlere karşı etkili bir koruma sağlar. Web siteleri, HSTS politikasını uygulayarak kullanıcılarını siber tehditlere karşı daha iyi koruyabilir ve verilerini güvende tutabilirler. HSTS, internet güvenliğinin temel bir unsuru olarak kabul edilmelidir, ve web sitesi sahipleri tarafından aktif olarak kullanılmalıdır.