HSTS Nedir, Nasıl Kapatılır?

HSTS Nedir, Nasıl Kapatılır?

İnternet güvenliği son yıllarda işletmelerin, geliştiricilerin ve sistem yöneticilerinin en kritik önceliklerinden biri hâline geldi. Siber saldırılar her geçen gün daha sofistike bir hâl alırken, kullanıcı verilerini koruyan teknolojiler de aynı hızla gelişiyor. Bu teknolojiler arasında, çoğu zaman arka planda sessizce çalışan fakat etkisi son derece büyük olan bir güvenlik mekanizması bulunuyor: HSTS (HTTP Strict Transport Security).

HSTS; web sitelerinin yalnızca güvenli bağlantı (HTTPS) üzerinden açılmasını zorunlu kılarak hem kullanıcıları hem de sunucuları çeşitli saldırı türlerinden koruyan güçlü bir güvenlik politikasıdır. Özellikle man-in-the-middle (MITM) saldırılarına karşı sağladığı koruma nedeniyle, modern güvenlik standartlarının ayrılmaz bir parçası hâline gelmiştir. Ancak bazen geliştirme ortamları, yönlendirme sorunları, sertifika yenileme problemleri veya yanlış yapılandırmalar nedeniyle HSTS'nin devreden çıkarılması gerekebilir.

Bu blog yazısında HSTS’nin ne olduğunu, nasıl çalıştığını, neden önemli olduğunu ve gerektiğinde nasıl kapatılabileceğini tüm detaylarıyla ele alacağız. Hazırsanız, modern web güvenliğinin bu kritik bileşenini en ince ayrıntısına kadar birlikte inceleyelim.

HSTS Nedir?

HTTP Strict Transport Security (HSTS), bir web sitesinin yalnızca güvenli HTTPS bağlantısı üzerinden erişilmesini zorunlu kılan bir güvenlik mekanizmasıdır.

• Teknik olarak, sunucu bir HTTPS isteğine yanıt verirken HTTP cevabına "Strict-Transport-Security" isimli başlık (header) ekler. Bu başlıkta, tarayıcıya —önümüzdeki belirli bir süre için (genellikle max-age ile belirtilir)— o siteye yalnızca HTTPS üzerinden bağlanması gerektiği bildirilir.

• Bu sayede, kullanıcı siteye “http://” yazar ya da eski bir HTTP bağlantısı üzerinden gelmeye çalışsa bile tarayıcı otomatik olarak “https://” bağlantısına yönlendirme yapar; HTTP üzerinden iletişim engellenir.

HSTS’in Amacı ve Sağladığı Güvenlik

• HSTS, özellikle “man-in-the-middle” saldırılarına, TLS/SSL “downgrade” saldırılarına ve çerez (cookie) ele geçirme gibi güvenlik açıklarına karşı koruma sağlar.

• HTTPS kullanımını zorunlu kıldığı için, kullanıcı ile sunucu arasındaki veri aktarımı her zaman şifreli kalır. Bu da hassas bilgiler (örneğin, oturum bilgileri, kullanıcı verileri, ödeme bilgileri vs.) açısından kritik öneme sahiptir.

• Dolayısıyla, e-ticaret siteleri, kullanıcı oturumu/kimlik doğrulama gerektiren uygulamalar ya da genel olarak güvenliğini ön planda tutan web siteleri için HSTS ciddi bir güvenlik katmanı sunar.

Kısaca: HSTS, tarayıcı ile sunucu arasındaki iletişimin her zaman HTTPS üzerinden gerçekleşmesini garanti altına alır ve bu sayede birçok yaygın web güvenlik sorununu önlemeye yardımcı olur.

“HSTS’yi Kapatmak / Devre Dışı Bırakmak / Temizlemek” Ne Demek, Ne Zaman İstenen Bir Şey Olur?

HSTS temelde bir güvenlik mekanizması olduğu için genelde devre dışı bırakılması önerilmez. Ancak bazı özel durumlarda, örneğin:

• Geçici test ortamı, localhost ya da iç network üzerinde çalışırken HTTPS sertifikası yoksa,

• HTTPS üzerinden hizmet verilemiyorsa ya da sertifika uyumsuzluğu yaşanıyorsa,

• Geliştirme / test amacıyla HTTP ile çalışmak isteniyorsa,

HSTS’nin devre dışı bırakılması ya da kaldırılması gündeme gelebilir. Bu durumda hem tarayıcılardaki HSTS önbelleğini temizlemek hem de sunucu tarafındaki HSTS başlığını kaldırmak gerekir.

Ancak unutulmamalı ki, HSTS devre dışı bırakılırsa, bu güvenlik hattı ortadan kalkar ve yukarıda bahsedilen saldırılara karşı savunmasız hale gelinir.

HSTS Nasıl Kapatılır / Temizlenir?

Aşağıda hem sunucu tarafında (web sitesi sahibi iseniz) hem istemci/tarayıcı tarafında (siz kullanıcıysanız ya da test yapıyorsanız) HSTS’nin nasıl devre dışı bırakılabileceğini anlatıyorum.

Sunucu / Web Sitesi Sahibi Olarak HSTS’yi Kapatmak

• Sunucu, HSTS başlığı (Strict-Transport-Security) gönderiyorsa bu başlığı kaldırmak ya da max-age=0 değeriyle yeniden göndermek gerekir.

Örneğin, Apache üzerinde yapılandırma şöyle olabilir:

<VirtualHost :443> … Header always set Strict-Transport-Security "max-age=0" *

• Bu, HSTS politikasını iptal eder.

• Benzer şekilde, IIS (ya da başka bir web sunucusu/platform - örneğin Plesk) kullanıyorsanız, HSTS ayarlarını oradan “disable/kapalı” konumuna getirmek gerekir.

Özetle: “HSTS başlığı gönderme”yi bırakmak ya da “max-age=0” ile HSTS’yi sıfırlamak, sunucu tarafında yapılabilecek adımlardır.

Tarayıcı / İstemci Tarafında (Kullanıcı / Test Amaçlı)

Bazı tarayıcılarda kullanıcı tarafında HSTS önbelleğini temizleyerek “o sitede HSTS uygulanmasın / etkisiz olsun” diyebilirsiniz:

• Örneğin, eğer HSTS nedeniyle erişim sorunu yaşıyorsanız, bu durumda başka güvenlik önlemleri ile birlikte bu adımı değerlendirebilirsiniz.

• Ancak bu yaklaşım genelde test / geliştirme / iç ortam için uygundur; canlı, halka açık sitelerde HSTS’yi devre dışı bırakmak genellikle önerilmez.

Önemli: HSTS sadece HTTPS yanıtlarında çalışır; HTTP üzerinden gelen isteklerde HSTS başlığı gönderilirse tarayıcı bunu dikkate almaz. Bu yüzden HSTS’yi kaldırırken HTTPS konfigürasyonuna dikkat etmek gerekir.

Neden HSTS Kapatılır? Hangi Durumlarda Risk Oluşur?

HSTS genelde güvenlik için kullanıldığından “kapatılmalı” demek yaygın değildir; ancak:

• Geliştirme / test / staging ortamında SSL sertifikası yoksa ya da HTTPS yapılandırması tam değilse, HSTS nedeniyle siteye erişim tamamen engellenebilir.

• Sertifika süresi dolmuşsa ya da sertifika sorunluysa ve kullanıcı uyarılarını görmezden gelip HTTP ile erişmek istiyorsa (ki bu güvenlik açığı yaratır).

• Bazı özel durumlarda (örneğin, dış servisler, API’ler, reverse proxy yapılandırmaları, özel ağlar) HSTS esnekliği kısıtlayabilir. Bu nedenlerle HSTS devre dışı bırakılabilir.

Ancak bu tür durumlarda bile, HSTS’yi devre dışı bırakmanın güvenlik maliyeti vardır. Bu nedenle karar verirken dikkatli olmak gerekir.

HSTS ve Genel Web Güvenliği Bağlamında PlusClouds

Eğer bir web uygulamasını barındırıyorsanız, yalnızca SSL/TLS sağlamak yeterli olmayabilir. HSTS, bu güvenliği daha da katmanlı hâle getirir. Bu bağlamda, HSTS’yi değerlendirirken dikkate alınması gereken bazı noktalar:

• HSTS, yalnızca HTTPS üzerinden yayın yapan sitelerde işe yarar; bu yüzden HTTPS altyapısı doğru kurulmuş olmalı.

• HSTS, tek başına tüm güvenlik demek değil — genel web güvenliği için; veri şifreleme, sunucu güvenliği, saldırı testleri gibi ek önlemler de alınmalı. Bu bağlamda, HSTS gibi header bazlı güvenlik önlemleri, PlusClouds’un önerdiği genel güvenlik pratikleriyle birlikte değerlendirilmeli.

• Eğer bulut ortamında veya paylaşılan altyapıda çalışıyorsanız, güvenlik duvarları, düzenli güvenlik testleri ve altyapı yönetimi büyük önem taşır; HSTS bu güvenlik katmanlarından biridir ama tek başına yeterli değildir. Bu yaklaşım PlusClouds’un, “Sunucularda Güvenlik Nasıl Sağlanır?” yazısında da detaylıca ele alınmaktadır.

Bu yüzden, HSTS - SSL/TLS + sunucu güvenliği + penetrasyon testipenetrasyon testi gibi çok katmanlı bir yaklaşımın parçası olmalı. HSTS, bu zincirin önemli bir halkasıdır. Siz de ücretsiz kaydınızı oluşturarak güvenliğinizi güçlendirin!

Sonuç

Durum Ne Yapılmalı?
Canlı web sitesi, kullanıcı verisi / oturum / ödeme vb. barındırıyor / ve HTTPS sertifikası düzgünse HSTS aktif olmalı (max-age yeterince uzun, includeSubDomains gerekiyorsa ayarlı) güvenlik açısından tavsiye edilir.
Geliştirme / test / staging ortamları / iç ağ: HTTPS yoksa veya sertifika yoksa HSTS devre dışı bırakılabilir ya da başlık gönderilmemeli, test süreci kolaylaştırılmalı.
Sertifika sorunu, geçici erişim ihtiyacı, kullanıcı testleri vs. durumlar HSTS geçici olarak kaldırılabilir; fakat bu risk doğurur, dikkatli olunmalı.

Sonuç olarak: HSTS, modern web güvenliği için oldukça değerli bir araçtır. Ancak her zaman aktif olması zorunlu değil; altyapı, kullanım amaçları ve ortama göre değerlendirilmelidir. HSTS kullanımı, HTTPS mimarisi, güvenlik testleri ve bulut altyapısının doğru kurgulanması konusunda profesyonel rehberlik almak; uzun vadede hem maliyeti azaltır hem de riskleri minimize eder.

Bu nedenle, web uygulamanızı modern ve güvenli bir mimaride çalıştırmak istiyorsanız PlusClouds ekosistemi bunun için gerekli tüm altyapı bileşenlerini sağlar. Siz de hemen ücretsiz kayıt olun!

لا تملك حسابًا بعد؟ إذن دعنا نبدأ على الفور.

We care about your data. Read our privacy policy.