HSTS Açıklaması: max-age, preload ve Neyin Bozulduğu
Güncellendi 2026-11-03 · 6 dk okuma
HSTS, bir siteyi erişilemez kılabilen tek güvenlik başlığıdır — sahibi için bile. Aynı zamanda A+ için zorunludur. Bu iki gerçek arasındaki mesafe tamamen yayın disiplinine bağlıdır.
Başlık gerçekte ne yapar
Strict-Transport-Security tarayıcıya bu konağa önümüzdeki N saniye boyunca yalnızca HTTPS ile bağlanılması gerektiğini söyler. Alındığında tarayıcı dahili http:// bağlantılarını yeniden yazar, sertifika hatasını yoksayma tıklamasını engeller ve düz HTTP’yi tamamen reddeder — herhangi bir istek makineden çıkmadan önce.
Bu yüzden yönlendirmenin engelleyemediği düşürme saldırılarına karşı korur: yönlendirme ilk isteği hâlâ düz metin olarak gönderir ve ağdaki saldırganın yakalamak istediği istek tam olarak budur.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
max-age iptal edemeyeceğiniz bir geri sayımdır
max-age istemcide saklanır. Bir yıl sunup sonra başlığı kaldırırsanız, onu görmüş her tarayıcı bir yıla kadar HTTPS’i dayatmaya devam eder. Sunucu tarafında kapatma anahtarı yoktur.
CertH 180 günü (15552000 saniye) A+ eşiği olarak alır. Bir yıl olağan üretim değeridir. 180 günün altı özette hâlâ HSTS açık sayılır ama A+’yı açmaz.
includeSubDomains ve preload ayrı kararlardır
includeSubDomains kuralı her alt alan adına genişletir. Yalnızca HTTP konuşan bir alt alan adı varsa — dahili bir araç, eski bir yönetim paneli, bir staging konağı — ana alan adını ziyaret eden herkes için erişilemez olur. Önce DNS’i denetleyin.
preload daha ileri gider: alan adı tarayıcılarla birlikte gelen bir listeye işlenir, böylece kural ilk ziyarette, herhangi bir başlık görülmeden uygulanır. Kaldırılması aylar sürer ve kaldırma listesine başvuru gerektirir. Başlık en az birkaç ay kararlı olmadan preload eklemeyin.
- •Hata sayfaları dahil her HTTPS yanıtında başlığı sunun — başlıksız bir 404 tarayıcıya hiçbir şey öğretmez.
- •HSTS’i asla düz HTTP üzerinden göndermeyin; tarayıcılar spesifikasyon gereği yoksayar, bu yüzden yanlış yapılandırılmış bir yönlendirme döngüsü böyle düzeltilemez.
- •includeSubDomains eklemeden önce alt alan adlarında yalnızca HTTP hizmetleri olup olmadığını kontrol edin.
- •preload’u en sona ekleyin ve yalnızca max-age bir süredir bir yılda sabitlendikten sonra.
Hiçbir şeyi bozmayan bir yayın
Kısa bir max-age ile başlayın ki hata hızla sona ersin: max-age=300. Bir hafta tutun, bozulan alt alan adlarını ve karışık içerik bildirimlerini izleyin. Sonra bir gün, sonra bir ay, sonra bir yıl. Her adım önceki pencerede geri alınabilir — kısa başlamanın anlamı tam olarak budur.
Bir şey bozulursa çözüm, etkilenen konakta HTTPS’i doğru sunmaktır — başlığı kaldırmak değil; kaldırmak, onu zaten almış kimseye yardım etmez.
FAQ
HSTS’in olmaması puanımı düşürür mü?
Temel puandan düşmez ama A+’yı engeller: en yüksek not en az 180 gün max-age veya preload içeren HSTS ister. Bir site 100 alıp yine de A kalabilir.
Tüm alt alan adlarına sahip olmadan HSTS kullanabilir miyim?
Evet, includeSubDomains’i atladığınız sürece. O zaman başlık yalnızca onu sunan tam konağa uygulanır.