HTTPS nedir?
HTTPS (Hypertext Transfer Protocol Secure), web tarayıcıları ile sunucular arasındaki iletişimde kullanılan HTTP protokolünün güvenli sürümüdür. HTTPS, istemci ile sunucu arasında aktarılan tüm verileri TLS (Transport Layer Security) kullanarak şifreler ve hassas bilgileri müdahaleye ve değiştirilmeye karşı korur. Tarayıcılardaki asma kilit simgesiyle gösterilen HTTPS, yalnızca finansal işlem yapan siteler için değil, tüm web siteleri için standart hâline gelmiştir.HTTPS nasıl çalışır?
TLS el sıkışması
1. İstemci Merhaba: Tarayıcı, desteklediği şifre paketleriyle bağlantıyı başlatır
2. Sunucu Merhaba: Sunucu bir şifre paketi seçer ve sertifikayı gönderir
3. Sertifika doğrulaması: Tarayıcı sertifika zincirini doğrular
4. Anahtar değişimi: Asimetrik şifreleme oturum anahtarını oluşturur
5. Güvenli kanal: Veri aktarımı için simetrik şifreleme başlar
Şifreleme süreci
HTTP Request (unencrypted):
GET /login HTTP/1.1
Cookie: session=abc123
HTTPS Request (encrypted):
[Binary encrypted data - unreadable to interceptors]
HTTPS'nin faydaları
| Fayda | Açıklama |
|---|---|
| Veri şifreleme | Aktarılan verilerin dinlenmesini önler |
| Veri bütünlüğü | Aktarım sırasında yapılan değişiklikleri tespit eder |
| Kimlik doğrulama | Sertifikalar aracılığıyla web sitesinin kimliğini doğrular |
| SEO avantajı | Google, sıralamalarda HTTPS sitelerine öncelik verir |
| Kullanıcı güveni | Asma kilit simgesi ziyaretçilere güvenlik sinyali verir |
| Uyumluluk | PCI-DSS, GDPR ve diğer düzenlemeler için gereklidir |
SSL/TLS sertifika türleri
Alan adı doğrulaması (DV)
- Yalnızca alan adı sahipliğini doğrular
- Dakikalar içinde düzenlenir
- En düşük maliyetlidir (çoğu zaman Let's Encrypt ile ücretsiz)
- Temel şifreleme sağlar
Kuruluş doğrulaması (OV)
- Kuruluşun kimliğini doğrular
- Düzenlenmesi 1-3 gün sürer
- Sertifikada kuruluş adını gösterir
- Orta düzey güven sağlar
Genişletilmiş doğrulama (EV)
- Titiz kuruluş doğrulaması gerektirir
- Düzenlenmesi 1-2 hafta sürer
- Tarihsel olarak yeşil çubuk gibi en yüksek güven göstergelerine sahipti
- En yüksek maliyetli seçenektir
HTTPS uygulaması
Sertifika edinme
1. Sertifika İmzalama İsteği (CSR) oluşturun
2. CSR'yi bir Sertifika Otoritesine (CA) gönderin
3. Alan adı veya kuruluş doğrulamasını tamamlayın
4. Sertifikayı alın ve kurun
Sunucu yapılandırması
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:...;
}
HTTP'den HTTPS'ye yönlendirme
server {
listen 80;
server_name example.com;
return 301 https://example.com$request_uri;
}
HTTPS için en iyi uygulamalar
1. TLS 1.2 veya üzerini kullanın: Eski protokolleri (SSL 3.0, TLS 1.0/1.1) devre dışı bırakın
2. HSTS uygulayın: HTTP Strict Transport Security başlığıyla HTTPS'yi zorunlu kılın
3. Güçlü şifre paketleri kullanın: ECDHE ve AES-GCM paketlerine öncelik verin
4. OCSP stapling'i etkinleştirin: Daha hızlı sertifika doğrulaması sağlayın
5. Sertifikaları erkenden yenileyin: Süre dolmasına bağlı kesintileri önleyin
6. Karma içeriği güncelleyin: Tüm kaynakların HTTPS üzerinden yüklenmesini sağlayın
7. Sertifika süresini izleyin: Otomatik izleme araçları kullanın
Yaygın HTTPS sorunları
- Karma içerik uyarıları: HTTPS sayfalarında yüklenen HTTP kaynakları
- Sertifika uyuşmazlığı: Sertifika alan adıyla eşleşmiyor
- Süresi dolmuş sertifikalar: Sertifikanın geçerlilik süresi aşılmış
- Zincir sorunları: Ara sertifikalar eksik
- Protokol hataları: İstemci ve sunucu protokolleri eşleşmiyor
HTTPS artık isteğe bağlı değildir; içerik türü ne olursa olsun her web sitesi için güvenlik, güven ve SEO avantajları sağlayan temel bir gereksinimdir.