LIONFIN

Sözlük

HSTS nedir?

HTTP Strict Transport Security

Diğer adları: http strict transport security, hsts preload, strict-transport-security

Tanım

HSTS (HTTP Strict Transport Security), bir web sitesinin tarayıcıya “bu alan adına belirlenen süre boyunca yalnızca HTTPS ile bağlan” talimatı verdiği güvenlik mekanizmasıdır. Sunucunun gönderdiği Strict-Transport-Security yanıt başlığıyla etkinleşir; HTTP’ye düşürme (SSL stripping) saldırılarını ve kullanıcının sertifika uyarısını geçmesini engeller.

HSTS başlığı nasıl eklenir?

HSTS, yalnızca HTTPS yanıtlarına eklenen tek bir HTTP başlığıyla etkinleştirilir. Başlığın üç parametresi vardır: max-age (saniye cinsinden süre), includeSubDomains (tüm alt alan adlarını kapsar) ve preload (tarayıcıların ön yükleme listesine başvuru için).

# Nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

# Apache / LiteSpeed (.htaccess)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Başlık HTTP yanıtlarında yok sayılır; bu yüzden önce HTTP’den HTTPS’e kalıcı yönlendirme kurulmalıdır. Tarayıcı başlığı ilk HTTPS ziyaretinde öğrendiği için, siteye ilk kez giren bir kullanıcının ilk isteği hâlâ HTTP olabilir; preload listesi bu boşluğu kapatır.

HSTS kullanmanın riskleri nelerdir?

HSTS etkinleştikten sonra tarayıcı, max-age süresi dolana kadar siteye HTTP ile bağlanmayı reddeder ve sertifika hatalarında kullanıcıya “yine de devam et” seçeneği sunmaz. Sertifikanın süresi dolarsa ya da HTTPS desteklemeyen bir alt alan adı varsa site erişilemez hâle gelir. Güvenli bir geçiş için:

  1. Kısa bir süreyle başlayın (ör. max-age=300) ve tüm sayfaların sorunsuz açıldığını doğrulayın.
  2. includeSubDomains eklemeden önce tüm alt alan adlarının geçerli SSL sertifikasına sahip olduğunu kontrol edin.
  3. Süreyi kademeli olarak bir yıla çıkarın.
  4. preload listesine ancak geri dönmeyeceğinizden eminseniz başvurun; listeden çıkarılmak aylar sürebilir.

HTTPS yapılandırmanızı SSL testi araçlarıyla doğrulayabilirsiniz.

İlgili terimler

.htaccess
.htaccess (hypertext access), Apache ve LiteSpeed web sunucularında bir dizine ve alt dizinlerine özel yapılandırma kuralları tanımlamaya ya...
HTTPS
HTTPS (Hypertext Transfer Protocol Secure), web trafiğinin TLS ile şifrelenmiş bir bağlantı üzerinden taşındığı HTTP sürümüdür. Varsayılan o...
SSL Sertifikası
SSL sertifikası, bir alan adını bir açık anahtara bağlayan ve güvenilir bir sertifika otoritesi (CA) tarafından imzalanan X.509 biçimli diji...
TLS
TLS (Transport Layer Security), iki uygulama arasındaki iletişimi şifreleyen, verinin değiştirilmediğini doğrulayan ve sunucunun kimliğini s...

← Tüm terimler