HSTS, HTTP Strict Transport Security web sunucuları tarafından tarayıcılara gönderilen ve belirli bir alan adında yalnızca HTTPS bağlantılarına izin veren bir HTTP başlığıdır. HSTS, kullanıcıların HTTP üzerinden yapılan isteklerinin otomatik olarak HTTPS’ye yönlendirilmesini sağlar, böylece veri trafiği her zaman şifrelenir. Web uygulama güvenliği alanında firmaların ve uygulama geliştiricilerin etkileşimi zorunlu kıldığı bu protokol sayesinde tüm istekler sunucuya güvenli olarak iletilir.
HSTS başlıkları genellikle iletişimde aşağıdaki gibi kullanılır.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
max-age=31536000
değeri bir yıl süresince geçerli olacağı anlamına gelir.HSTS kullanmanın önemi ;
Tarayıcıların yalnızca HTTPS üzerinden sunucuya bağlanmasını zorunlu kılarak, HTTP üzerinden yapılan MitM saldırılarını engeller. MitM saldırıları, saldırganların kullanıcı ile sunucu arasındaki iletişimi gizlice dinleyip değiştirebilmesi anlamına gelir. HSTS, bu tür saldırıları etkisiz hale getirir çünkü tarayıcı her zaman HTTPS bağlantısı kurmak zorundadır.
SSL striping, HTTPS trafiğini HTTP’ye indirgeyen saldırılardır. Saldırgan, kullanıcıyı HTTP protokolüne yönlendirerek şifrelenmemiş bir bağlantı oluşturur ve bu bağlantı üzerinden verileri çalabilir. HSTS, bu tür saldırıları etkisiz hale getirir çünkü tarayıcılar her zaman HTTPS bağlantısı kurmak zorundadır.
HSTS, kullanıcıların HTTP üzerinden bağlantı kurmasını otomatik olarak HTTPS’ye yönlendirir. Bu, kullanıcıların yanlışlıkla HTTP protokolünü kullanarak güvenlik açıklarına maruz kalmasını önler. Kullanıcılar HTTPS bağlantılarını manuel olarak belirtmek zorunda kalmazlar.
Web uygulamalarının güvenlik standartlarını artırır. Tarayıcılar, HSTS başlığını aldıklarında bu alan adına yalnızca HTTPS üzerinden bağlantı kurarlar. Bu, web uygulamalarının daha güvenli olmasını sağlar ve kullanıcı verilerini korur.
Etkinleştirmek oldukça basittir ve çoğu web sunucusu için sadece birkaç adım gerektirir.
Web sunucularında HSTS’yi etkinleştirme yöntemleri:
Apache sunucusunda başlığı genel olarak httpd.conf
veya .htaccess
dosyasına eklenir :
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Nginx sunucusunda başlığı nginx.conf
veya ilgili yapılandırma dosyasına eklenir:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
IIS (Internet Information Services) üzerinde başlığı, web.config XML kodu eklenir:
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name=”Strict-Transport-Security” value=”max-age=31536000; includeSubDomains; preload” />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Ön yükleme listesi, tarayıcıların belirli alan adlarını otomatik olarak HTTPS kullanarak bağlanmasını sağlayan bir listedir. Bu liste, Google Chrome, Firefox, Safari ve Edge gibi modern web tarayıcıları tarafından desteklenir.
HTTP üzerinden yapılan istekleri otomatik olarak HTTPS’ye yönlendirir, MitM ve SSL striping saldırılarını önler ve kullanıcı hatalarını azaltır. Etkinleştirmek basittir ve web sunucularının çoğunda kolayca uygulanabilir. Web uygulamalarının güvenliğini sağlamak ve kullanıcı verilerini korumak için HSTS kullanımı önemli bir adımdır.
Tüm Hakları Saklıdır