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ür | Doğrulanan | Tipik kullanım |
|---|---|---|
| DV (Domain Validation) | Alan adı kontrolü | Bloglar, kurumsal siteler, çoğu web sitesi |
| OV (Organization Validation) | Alan adı + kurum bilgisi | Kurumsal 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.
Sertifika yönetimi kontrol listesi
- Tüm alan adı varyantlarını (
ornek.com,www.ornek.com, varsa alt alan adları) sertifikaya ekleyin. - Otomatik yenilemeyi etkinleştirin ve deneme modunda test edin.
- Yenileme sonrası web sunucusunun yeni sertifikayı yüklediğinden emin olun (reload kancası).
- Ara sertifikaları (zinciri) eksiksiz sunun.
- Yalnızca TLS 1.2 ve TLS 1.3'e izin verin; TLS 1.0/1.1 ve SSLv3'ü kapatın.
- Bitiş tarihini izleyen bir izleme veya hatırlatma kurun.
- Özel anahtar dosyasını yalnızca web sunucusunun okuyabileceği izinlerle saklayın.
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