HTTPS ve HSTS: düz HTTP açığını kapatmak

Sertifikaya sahip olmak yalnızca HTTPS olmakla aynı şey değil. Düz HTTP adresi cevap verdiği ve tarayıcıya onu kullanmayı bırakması söylenmediği sürece, bir ziyaretin ilk isteği okunabilir ve değiştirilebilir.

Örnek

Zafiyetli
HTTP/1.1 200 OK            ← http://example.com/ serves the page
                            (no redirect, no HSTS on the HTTPS version)
Güvenli
HTTP/1.1 301 Moved Permanently
Location: https://example.com/

# on every HTTPS response:
Strict-Transport-Security: max-age=31536000; includeSubDomains

Nereden sızar

example.com yazan veya eski bir http:// linkine tıklayan ziyaretçi önce şifresiz bir istek yapar. Bu istek yönlendirme yerine içerikle cevap verirse, ağdaki bir saldırgan istediğini sunabilir. Yönlendirme olsa bile HSTS olmadan o ilk adım SSL stripping'e açıktır. HTTPS sayfalarda http:// ile yüklenen script'ler veya görseller engellenir ya da değiştirilebilir.

Nasıl düzeltilir

Sırasıyla üç adım.

  • Her http:// isteğini 301 ile https://'e yönlendir
  • HTTPS yanıtlarında Strict-Transport-Security: max-age=31536000; includeSubDomains gönder
  • Her kaynağı https:// ile yükle ve CSP'ye upgrade-insecure-requests ekle
  • Sertifika yenilemeyi otomatikleştir ve süre dolmadan çok önce uyarı kur

RepoVerse bunu nasıl bulur

  • YüksekSite düz HTTP üzerinden sunuluyor

    Ziyaretçiyle sunucu arasındaki her şey — sayfalar, form alanları, cookie'ler — ağ yolundaki herkes tarafından okunabilir ve değiştirilebilir: halka açık Wi-Fi, servis sağlayıcı, ele geçirilmiş bir modem.

    web sitesi · CWE-319

  • OrtaHTTP adresi HTTPS'e yönlendirmiyor

    Adresi `https://` olmadan yazan ya da eski bir linke tıklayan ziyaretçi şifresiz bir sayfa alır; ağdaki bir saldırgan bu sayfayı, güvenli sürüme hiç ulaşılmadan değiştirebilir.

    web sitesi · CWE-319

  • OrtaHSTS header'ı yok

    `Strict-Transport-Security` olmadan tarayıcı, yazılan adresler ve eski linkler için hâlâ düz HTTP'yi dener; bu da ilk istekte SSL-stripping saldırısına alan bırakır.

    web sitesi · CWE-319

  • DüşükHSTS süresi kısa

    Tarayıcı yalnız-HTTPS kuralını çabuk unutur; max-age dolduktan sonra geri gelen ziyaretçi ilk isteğinde yine açıkta kalır.

    web sitesi · CWE-319

  • YüksekTLS sertifikasına güvenilmiyor

    Tarayıcılar tam sayfa uyarı gösterir. Uyarıyı geçen ziyaretçi artık senin sunucunu bir taklitçininkinden ayıramaz — araya girme saldırısının tam ihtiyaç duyduğu şey.

    web sitesi · CWE-295

  • OrtaHTTPS sayfası kaynakları HTTP üzerinden yüklüyor

    Tarayıcılar HTTPS sayfasındaki güvensiz script, stil ve frame'leri engeller, o kısımlar bozulur; yüklendikleri yerde (görsel, medya) ağda değiştirilebilirler.

    web sitesi · CWE-319

Sorular

Hangi HSTS max-age değerini kullanmalıyım?
En az 15552000 saniye (180 gün); bir yıl (31536000) yaygındır. Test ederken daha düşük başla ve includeSubDomains'i yalnızca her alt alan adı HTTPS sunduğunda ekle.
Sitemi HSTS preload listesine göndermeli miyim?
Yalnızca her alt alan adının HTTPS'te kalacağından eminsen: preload'u geri almak zordur. Politika sorunsuz çalıştıktan sonra preload yönergesini ekle ve hstspreload.org'a gönder.

İlgili

Güncellendi 2026-10-11