HSTS Nedir? Neden Önemlidir?

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

HSTS başlıkları genellikle iletişimde aşağıdaki gibi kullanılır.

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Bu başlıkta yer alan parametreler şunlardır:

  • max-age: HSTS politikasının geçerli olacağı süreyi saniye cinsinden belirtir. Örneğin, max-age=31536000 değeri bir yıl süresince geçerli olacağı anlamına gelir.
  • includeSubDomains: Bu parametre, belirtilen alan adının tüm alt alan adlarında da HSTS politikasının uygulanmasını sağlar.
  • preload: Tarayıcıların HSTS ön yükleme listesine alan adı eklemesini sağlar. Bu listeye eklendiğinde, tarayıcılar bu alan adına yapılan ilk istekte bile HTTPS kullanır.

HSTS kullanmanın önemi ;

1. Man-in-the-Middle (MitM) Saldırılarını Önler

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.

2. SSL Striping Saldırılarına Karşı Koruma Sağlar

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.

3. Kullanıcı Hatalarını Azaltı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.

4. Güvenlik Standartlarını Artırır

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

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

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

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.

MENÜYÜ KAPAT