# HSTS (HTTP Strict Transport Security)

Adres: https://softwaredictionary.org/tr/terimler/hsts
Kategori: Güvenlik
Son güncelleme: 2026-09-30

Kısaca: HSTS, tarayıcıya bir siteye belli bir süre yalnızca HTTPS ile bağlanmasını söyleyen, güvensiz HTTP'yi ve düşürme saldırılarını engelleyen güvenlik başlığıdır.

## HSTS nedir?

HTTP Strict Transport Security ya da HSTS, bir web sitesinin “bundan sonra benimle yalnızca HTTPS üzerinden konuş” demek için gönderdiği bir yanıt başlığıdır. Bir tarayıcı `Strict-Transport-Security` başlığını gördükten sonra, o alan adı için gelecekteki her `http://` bağlantısını ve yazılan adresi, makineden herhangi bir istek çıkmadan önce otomatik olarak `https://` adresine yükseltir. Ayrıca kullanıcıların o sitedeki sertifika uyarılarını geçmesini de engeller.

Başlığın, tarayıcıya kuralı ne kadar süre hatırlayacağını söyleyen, saniye cinsinden ve çoğunlukla bir ya da iki yıllık bir `max-age` değeri ile bunu her alt alan adına uygulayan isteğe bağlı bir `includeSubDomains` bayrağı vardır. Tarayıcı başlığı yalnızca geçerli bir HTTPS bağlantısı üzerinden geldiğinde kabul eder. İlk ziyaret yine düz HTTP ile gerçekleşebileceğinden tarayıcılar yerleşik bir HSTS preload listesiyle de gelir: gereksinimleri karşılayan ve `preload` bayrağını ekleyen siteler listeye dahil edilebilir; böylece tarayıcılar onlar için ilk ziyarette bile HTTPS kullanır.

HSTS olmadan `example.com` yazan bir kullanıcı genellikle önce düz bir HTTP isteği yapar ve sonra HTTPS'e yönlendirilir; aynı herkese açık Wi-Fi'daki bir saldırgan bu ilk isteği yakalayıp kurbanı şifresiz bir bağlantıda tutabilir. Bu tekniğe SSL stripping denir. HSTS bu fırsat penceresini ortadan kaldırır. Bir bankada, büyük para çekme işlemlerinin yalnızca güvenli gişede yapılması gibi kalıcı bir kuraldır: kural dosyalandıktan sonra hiç kimse bir veznedarı kilitsiz yan kapıyı kullanmaya ikna edemez.

HSTS sıklıkla HTTPS'in kendisiyle ya da HTTP'den HTTPS'e yönlendirmeyle karıştırılır. HTTPS şifrelemeyi sağlar, yönlendirme ise güvensiz bir istek zaten yapıldıktan sonra kullanıcıları ona gönderir; HSTS ise tarayıcının o site için HTTP'yi hiç kullanmayı reddetmesini sağlar. `includeSubDomains` ve preload konusunda dikkatli olun; çünkü bu durumda her alt alan adının HTTPS'i desteklemesi gerekir ve bir siteyi preload listesinden çıkarmak aylar sürer.

## Önemli noktalar

- HSTS, tarayıcılara bir site için belirli bir süre yalnızca HTTPS kullanmalarını söyler.
- HTTPS üzerinden `Strict-Transport-Security` yanıt başlığında gönderilir.
- İlk ziyaretten sonra SSL stripping ve diğer düşürme saldırılarını engeller.
- Preload listesi, katılan siteler için ilk ziyareti bile korur.
- Uzun değerlere ve preload'a geçmeden önce kısa bir `max-age` ile test edin.

## Örnek: HSTS başlığını kontrol etmek ve ayarlamak

```bash
# Check whether a site sends the HSTS header
curl -sI https://example.com | grep -i strict-transport-security

# A typical strong policy: two years, all subdomains, eligible for preloading
# Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

# Start with a short max-age (5 minutes) while testing
# Strict-Transport-Security: max-age=300
```

## Sık sorulan sorular

**HSTS olmadan HTTP'den HTTPS'e yönlendirme yeterli midir?**

Hayır. Yönlendirme yalnızca tarayıcı zaten güvensiz bir istek gönderdikten sonra gerçekleşir ve ağdaki bir saldırgan bunu yakalayabilir. HSTS, sonraki ziyaretlerde tarayıcının düz HTTP'yi tamamen atlamasını sağlar.

**HSTS preload listesi nedir?**

Büyük tarayıcılara yerleştirilmiş, ilk ziyarette bile her zaman HTTPS ile yüklenen alan adlarının listesidir. Bir site, uzun bir `max-age`, `includeSubDomains` ve `preload` içeren bir HSTS başlığı göndererek ve tüm alt alan adlarında HTTPS sunarak başvurabilir.

**HSTS kullanan bir sitede sertifikam sona ererse ne olur?**

Tarayıcılar siteyi, kullanıcıların geçemeyeceği bir hatayla engeller; çünkü HSTS sertifika uyarılarını atlamayı yasaklar. Uzun bir `max-age` etkinleştirmeden önce sertifika yenilemeyi otomatikleştirin.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
