HSTS nedir?

click fraud protection

HSTS, bir web güvenlik yanıt başlığıdır. Ad, “HTTP Strict Transport Security” ifadesinin kısaltmasıdır. HSTS başlığının işlevi, tarayıcıları HTTPS kullanarak web sitelerine bağlanmaya zorlamaktır.

İpucu: HTTPS, web bağlantınızı değiştirmeye veya izlemeye çalışan bilgisayar korsanlarından korumak için şifreleme kullanır. HTTP bu korumalara sahip değildir ve bu nedenle doğru yerdeki bir bilgisayar korsanı HTTP trafiğinizi izleyebilir ve değiştirebilir.

Web yanıtı başlığı, sunucu tarafından web isteklerine yanıt verdiğinde gönderilen bir meta veri parçasıdır. Bu başlıkların bir alt kümesine genellikle güvenlik başlıkları denir, çünkü amaçları web sitesinin ve kullanıcının güvenliğini artırmaktır.

HSTS başlığının iki zorunlu bölümü ve iki isteğe bağlı bölümü vardır. "Strict-Transport-Security" başlık adı ve ardından "max-age" operatörü ve değeri zorunludur. Bazen başka bir operatör çifti olan "includeSubDomains" ve "preload" da kullanılır.

Tarayıcı, HSTS başlığıyla bir HTTPS yanıtı aldığında, "maksimum yaş" zamanlayıcısı süresince yalnızca HTTPS kullanarak bu web sitesine ve üzerindeki tüm kaynaklara bağlanması talimatı verilir. "Max-age", bir ayarın tarayıcı tarafından ne kadar süreyle hatırlanması gerektiğini tanımlayan bir değişkendir. "Max-age" değeri saniye cinsinden listelenmiştir, önerilen değer bir yıl olan "31536000" dir.

Buradaki fikir, sonraki her sayfa yüklemesiyle sıfırlanan bu zamanlayıcı süresi içinde, tarayıcının bir HTTPS bağlantısı gerektirmesi ve tüm HTTP kaynaklarını reddetmesidir. Bu, sizinle web sunucusu arasındaki bir bilgisayar korsanının aldığınız yanıtları manipüle edebileceği ortadaki kişi saldırılarına karşı koruma sağlar.

Bunun sizi koruduğu ana nokta ilk bağlantıdır. Tipik olarak, bir web sitesine bağlandığınızda, HTTP web sitesini talep edebilir ve ardından HTTPS web sitesine yönlendirilebilirsiniz. Ne yazık ki, ortadaki kişi konumundaki bir bilgisayar korsanı, bu HTTPS yükseltmesini engelleyebilir ve ardından web sitesindeki etkinliğinizi çalabilir veya izleyebilir. Ancak HSTS başlığı tarayıcı tarafından görüldüğünde, tarayıcınız HTTPS üzerinden ilk bağlantıyı bile kurarak sizi bilgisayar korsanlarından korur.

HSTS ayrıca, HTTP üzerinden teslim edildiklerinde bir saldırgan tarafından kötü amaçla değiştirilebilecek güvenli olmayan kaynakların yüklenmesini de önler.

"includeSubDomains" operatörü, başlığın web sitesinin tüm alt alanları için de geçerli olması gerektiğini belirtmek için kullanılır.

HSTS önyükleme listesi

Bir web sitesine ilk bağlandığınızda HSTS'nin sizi hala korumadığını fark edebilirsiniz. "Ön yükleme" operatörünün devreye girdiği yer burasıdır. Web siteleri, HSTS ön yükleme listesine dahil edilmek için kendilerini sunabilirler, bu durumda “ön yükleme” operatörü gerekli bir göstergedir. HSTS önyükleme listesi düzenli olarak güncellenir ve tarayıcıda saklanır, buna bir site dahil edilmişse, tarayıcı ona HSTS korumalarını uygular. Bu, tarayıcının HSTS yanıt başlığını görmesinden önceki ilk bağlantıda bile olur.

İpucu: HSTS önyükleme listesine eklenmek için bir yıl veya daha fazla "maksimum yaş" gereklidir.

HSTS ile ilgili sorunlar

HSTS'nin ana noktalarından biri, HTTPS bağlantısı ile ilgili herhangi bir sorun olması durumunda bir hata mesajı vermesidir. Ekstra bir güvenlik önlemi olarak, kullanıcıların normal HTTPS hatalarıyla yapabilecekleri gibi HSTS hata mesajlarını atlayamayacakları varsayılır.

Ne yazık ki, bir şirket HSTS'yi tüm web sitesinden önce kullanıma sunarsa ve üzerinde kullanılan her kaynak HTTPS'yi desteklerse bu sorunlara neden olabilir. Bu durumda, kullanıcılar atlayamayacakları HSTS güvenlik hata mesajlarını görmeye başlayacak ve esasen web sitesini tamamen bozacaktır. En kötü yanı, tarayıcıları potansiyel olarak aylarca sürecek "maksimum yaş" için HSTS'yi zorlamaya devam edeceğinden, HSTS başlığını kaldırmanın bu kullanıcılar için sorunu çözmemesidir.

Bu nedenle, başlığı ilk kez yerleştirirken kısa bir "maksimum yaş" kullanılması kritik derecede önemlidir. Herhangi bir sorun varsa, bunlar keşfedildikten sonra yalnızca kısa bir süre devam eder. Web sitenizin tamamen HSTS uyumlu olduğundan emin olduktan sonra, uzun bir HSTS zamanlayıcısı yapılandırmanız gerekir.

İpucu: "Maksimum yaş" değerini 0 olarak ayarlamak da mümkündür, bu, kaydedilen HSTS girişini gören herkesten esasen kaldırır. Bu, bir sorun olduğunda yardımcı olabilir, ancak kullanıcıları yalnızca yeniden denemeye karar verdiklerinde ve istediklerinde etkiler.