HTTP Strict Transport Security (HSTS) açıklaması
HTTP Strict Transport Security (HSTS), tarayıcılara sitene yalnızca HTTPS üzerinden bağlanmalarını söyleyen bir yanıt header'ıdır. Bir kez görüldüğünde tarayıcı, politika süresi boyunca alan adına düz HTTP bağlantılarını reddeder.
Nedir
HSTS, Strict-Transport-Security header'ı aracılığıyla iletilir, örn. max-age=31536000; includeSubDomains; preload. max-age, tarayıcının kuralı ne kadar süre (saniye cinsinden) hatırlayacağını belirtir.
İlk HTTPS ziyaretinden sonra tarayıcı, gelecekteki her isteği otomatik olarak HTTPS'e yükseltir — kullanıcı yanlışlıkla güvensiz sürüme ulaşamaz ve bir saldırgan bağlantıyı HTTP'ye düşüremez.
Neden önemli
HSTS olmadan, bir kullanıcının yaptığı ilk istek (yourdomain.com yazarak) düz HTTP üzerinden gider ve HTTPS'e yönlendirmen gerçekleşmeden önce ele geçirilebilir — klasik bir SSL-stripping saldırısı.
Zayıf bir HSTS politikası korumayı zayıflatır: kısa bir max-age zorunluluk penceresini küçültür ve includeSubDomains'i atlamak her subdomain'i downgrade'e açık bırakır.
Nasıl düzeltilir
Uzun bir max-age (bir yıl) kullan, subdomain'leri kapsa ve preload'a dâhil ol.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preloadincludeSubDomains ve preload'ı yalnızca her subdomain geçerli HTTPS sunduktan sonra ekle — aksi hâlde hazır olmayan subdomain'lerden kullanıcıları kilitleyebilirsin.
Header'ın 'preload' içerdiğinde, alan adını hstspreload.org'da gönder ki tarayıcılar ilk ziyarette bile HTTPS'i zorunlu kılsın.
SSS
Hangi max-age değerini kullanmalıyım?
En az 15552000 (6 ay); 31536000 (1 yıl) yaygın öneridir ve preload listesi için gereklidir.
HSTS beni kendi sitemden kilitleyebilir mi?
Yalnızca daha sonra HTTP üzerinden sunman gerekirse veya HTTPS'siz bir subdomain'in varsa. includeSubDomains veya preload'ı etkinleştirmeden önce iyice test et.
Uygulaman etkileniyor mu?
AppSafe, bunu ve onlarca başka sorunu tek bir ücretsiz taramada kontrol eder.
Uygulamamı ücretsiz tara