← Back to list

HTTPS Neden Yeterli Değildir?

Web Güvenliğinde HSTS’nin Teorik ve Pratik Gerekliliği

Ali · 2026-01-12 08:26 · 0 claps · 1.8 min read
#dotnet #https #hsts #http-client
Open on Medium ↗

HTTPS Neden Yeterli Değildir?

Web Güvenliğinde HSTS’nin Teorik ve Pratik Gerekliliği

Web güvenliği konuşulurken, geliştiriciler arasında yaygın ama hatalı bir varsayım vardır:

“HTTPS kullanıyorsak güvenliyiz.”

Bu varsayım, teknik olarak eksiktir. Çünkü HTTPS bir şifreleme mekanizmasıdır, bir zorunluluk politikası değildir.

Bu yazıda, HTTPS redirection’ın neden tek başına yeterli olmadığını, HSTS’nin hangi problemi çözdüğünü ve bu iki kavramın neden sıkça karıştırıldığını, teorik temelleriyle birlikte ele alacağız.

1. HTTPS’in Güvenlik Modeli

HTTPS, HTTP’nin TLS (Transport Layer Security) ile sarmalanmış halidir. Sağladığı güvenlik özellikleri üç başlıkta toplanır:

  1. Gizlilik (Confidentiality) İstemci ile sunucu arasındaki veriler şifrelenir.
  2. Bütünlük (Integrity) Veri aktarım sırasında değiştirilemez.
  3. Kimlik Doğrulama (Authentication) Sunucunun kimliği sertifika ile doğrulanır.

Buraya kadar her şey doğrudur.

Ancak HTTPS şu soruya cevap vermez:

“Tarayıcı bu protokolü kullanmak zorunda mı?”

Cevap: Hayır.

2. HTTPS Redirection Nedir ve Ne Yapar?

HTTPS redirection, sunucu tarafında uygulanan bir yönlendirme mekanizmasıdır.

.NET tarafında tipik olarak şu middleware ile yapılır:

app.UseHttpsRedirection();

Bu mekanizmanın çalışması için HTTP isteğinin sunucuya ulaşması gerekir.

Yani akış şöyledir:

  1. Tarayıcı HTTP isteği gönderir
  2. Sunucu isteği kabul eder
  3. Sunucu HTTPS’e yönlendirir

Bu noktada kritik bir gerçek vardır:

HTTPS redirection, HTTP isteğini engellemez. HTTP isteği geldikten sonra çalışır.

Bu, güvenlik literatüründe ciddi bir farktır.

Photo by Caspar Camille Rubin on Unsplash

Photo by Caspar Camille Rubin on Unsplash

3. “İlk İstek” Problemi

Web güvenliğinde “ilk istek” her zaman özel bir yere sahiptir.

Çünkü:

  • Şifreleme henüz başlamamıştır
  • Tarayıcı henüz bir güvenlik politikası uygulamamaktadır
  • Araya girme ihtimali teorik olarak mevcuttur

Bu boşluk, literatürde SSL Stripping olarak adlandırılan saldırı sınıfının temelini oluşturur. Bu konuyu detaylı olarak başka bir yazı ile anlatmak istiyorum

4. SSL Stripping Tehdidi (Kavramsal Çerçeve)

SSL Stripping saldırısında saldırgan:

  • HTTP → HTTPS yönlendirmesini engeller
  • Kullanıcıyı sürekli HTTP üzerinde tutar
  • HTTPS’e hiç geçilmemesini sağlar

Bu saldırı genellikle:

  • Açık Wi-Fi ağlarında
  • Ortak router’larda
  • DNS veya ARP spoofing ile

gerçekleşir.

Önemli bir nokta:

Bu saldırı HTTPS’i kırmaz. HTTPS’e hiç geçilmesine izin vermez.

Dolayısıyla çözüm:

  • Daha güçlü şifreleme değil
  • HTTP’nin tamamen yasaklanmasıdır

5. HSTS: Bir Güvenlik Politikası Olarak Tasarım

HSTS (HTTP Strict Transport Security), bir tarayıcı politikasıdır.

Sunucu, HTTPS cevabında aşağıdaki header’ı gönderir:

Strict-Transport-Security: max-age=31536000

Bu header’ın anlamı şudur

“Bu domain için HTTP protokolünü kullanma.”

Bu karar:

  • Sunucu tarafından değil
  • Tarayıcı tarafından uygulanır

Bu ayrım, HSTS’yi güçlü kılan temel unsurdur.

6. HSTS ile Tarayıcı Davranışının Değişmesi

HSTS aktif olduğunda tarayıcı:

  • HTTP isteği oluşturmaz
  • Redirect beklemez
  • İlk bağlantıyı bile HTTPS ile kurar

Dolayısıyla akış şu hale gelir:

HSTS yokken

HTTP → Redirect → HTTPS

HSTS varken

HTTPS (doğrudan)

Bu, saldırı yüzeyini kökten ortadan kaldırır.

7. Sonuç: Kavramsal Netlik

HTTPS:

  • Bir şifreleme protokolüdür

HSTS:

  • Bir tarayıcı güvenlik politikasıdır

Bu iki kavram birbirini tamamlar ama birbirinin yerine geçmez.

Son cümle olarak şunları söyleyebiliriz:

HTTPS, veriyi korur. HSTS, davranışı zorlar. Güvenlik, zorlanan davranışlarla sağlanır.


메타데이터
post_id
d99fd5f9f1fa
slug
https-neden-yeterli-değildir-d99fd5f9f1fa
url
https://medium.com/@Ali0/https-neden-yeterli-de%C4%9Fildir-d99fd5f9f1fa
canonical_url
https://medium.com/@Ali0/https-neden-yeterli-de%C4%9Fildir-d99fd5f9f1fa
author_url
https://medium.com/@Ali0
status
ok
fetched_at
2026-06-17 08:20:12