HTTPS neyi korur?

HTTPS, HTTP trafiğinin TLS (Transport Layer Security) protokolü ile şifrelenmiş hâlidir. Ziyaretçinin tarayıcısı ile sunucunuz arasındaki iletişimde üç temel güvence sağlar:

  • Gizlilik: Aradaki ağı dinleyen biri (ör. aynı kafe Wi-Fi ağındaki bir kişi) form verilerini, parolaları ve çerezleri okuyamaz.
  • Bütünlük: Trafik yolda değiştirilemez; araya reklam, zararlı betik veya sahte içerik eklenemez.
  • Kimlik doğrulama: Sertifika, tarayıcıya gerçekten doğru alan adıyla konuştuğunu kanıtlar.

HTTPS sitenin kendisini "güvenli" yapmaz. Sunucudaki bir açık, zayıf bir yönetici parolası veya güncel olmayan bir eklenti HTTPS'ten bağımsız risklerdir. Yine de HTTPS bugün her site için asgari gerekliliktir: modern tarayıcılar HTTP sayfalarını "Güvenli değil" olarak işaretler ve pek çok tarayıcı özelliği yalnızca güvenli bağlamlarda çalışır.

TLS sertifikası nedir?

TLS sertifikası, bir alan adı ile bir açık anahtarı birbirine bağlayan ve güvenilir bir sertifika otoritesi (CA) tarafından imzalanmış dijital belgedir. Tarayıcı bağlantı sırasında sertifika zincirini, geçerlilik tarihlerini ve alan adı eşleşmesini kontrol eder.

TürDoğrulananTipik kullanım
DV (Domain Validation)Alan adı kontrolüBloglar, kurumsal siteler, çoğu web sitesi
OV (Organization Validation)Alan adı + kurum bilgisiKurumsal ihtiyaçlar
EV (Extended Validation)Genişletilmiş kurum doğrulamasıÖzel uyum gereksinimleri

Şifreleme gücü açısından bu türler arasında fark yoktur; fark yalnızca doğrulama sürecindedir. Çoğu site için ücretsiz DV sertifikaları yeterlidir.

Let's Encrypt ve ACME

Let's Encrypt ücretsiz, otomatik DV sertifikaları sunan, kâr amacı gütmeyen bir CA'dır. Sertifikalar ACME protokolüyle alınır ve yenilenir. Let's Encrypt sertifikaları kısa ömürlüdür (90 gün); bu nedenle yenileme mutlaka otomatik yapılmalıdır. Sektör genelinde sertifika ömürleri kısalmaya devam ettiğinden, otomasyonsuz sertifika yönetimi giderek daha riskli hâle gelir.

Yaygın ACME istemcisi Certbot ile bir Nginx sunucusunda örnek kullanım:

sudo certbot --nginx -d ornek.com -d www.ornek.com
# Yenilemenin çalıştığını deneme modunda doğrulayın
sudo certbot renew --dry-run

Paylaşımlı barındırma kullanıyorsanız panelinizde (cPanel, Plesk vb.) genellikle "AutoSSL" veya "Let's Encrypt" seçeneği bulunur; bunu etkinleştirmeniz yeterlidir.

Sertifikanın süresi dolduğunda ziyaretçiler tam sayfa hata ekranı görür. Yenileme otomasyonunu kurduktan sonra çalıştığını mutlaka test edin ve bitiş tarihini izleyen bir uyarı ekleyin.

Sertifika yönetimi kontrol listesi

  1. Tüm alan adı varyantlarını (ornek.com, www.ornek.com, varsa alt alan adları) sertifikaya ekleyin.
  2. Otomatik yenilemeyi etkinleştirin ve deneme modunda test edin.
  3. Yenileme sonrası web sunucusunun yeni sertifikayı yüklediğinden emin olun (reload kancası).
  4. Ara sertifikaları (zinciri) eksiksiz sunun.
  5. Yalnızca TLS 1.2 ve TLS 1.3'e izin verin; TLS 1.0/1.1 ve SSLv3'ü kapatın.
  6. Bitiş tarihini izleyen bir izleme veya hatırlatma kurun.
  7. Özel anahtar dosyasını yalnızca web sunucusunun okuyabileceği izinlerle saklayın.
Sertifika zincirinizi, protokol sürümlerini ve bitiş tarihini SSL kontrol aracı ile hızlıca denetleyebilirsiniz.

Kaynaklar

  • Let's Encrypt belgeleri: https://letsencrypt.org/docs/
  • MDN, güvenli bağlamlar (Secure Contexts):https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts