TLS nedir?
TLS (Transport Layer Security), bilgisayar ağları üzerinden güvenli iletişim sağlayan kriptografik bir protokoldür. TLS, SSL'nin (Secure Sockets Layer) halefidir; HTTPS bağlantılarının, güvenli e-posta aktarımının (STARTTLS) ve diğer pek çok şifreli internet protokolünün temelidir. Tarayıcıdaki kilit simgesini gördüğünüzde TLS, cihazınız ile sunucu arasındaki veriyi şifrelemektedir.TLS sürüm geçmişi
| Sürüm | Yıl | Durum |
|---|---|---|
| SSL 2.0 | 1995 | Kullanımdan kaldırıldı, güvenli değil |
| SSL 3.0 | 1996 | Kullanımdan kaldırıldı, güvenli değil |
| TLS 1.0 | 1999 | Kullanımdan kaldırıldı |
| TLS 1.1 | 2006 | Kullanımdan kaldırıldı |
| TLS 1.2 | 2008 | Güncel standart |
| TLS 1.3 | 2018 | En yeni, önerilen |
TLS nasıl çalışır?
TLS el sıkışması (TLS 1.2)
Client Server
│ │
├──── ClientHello ─────────────────► │
│ (supported ciphers, random) │
│ │
│ ◄─── ServerHello ──────────────────┤
│ (selected cipher, cert) │
│ │
├──── Key Exchange ────────────────► │
│ (encrypted pre-master secret) │
│ │
│ ◄─── Finished ─────────────────────┤
│ │
└──── Encrypted Data ◄──────────────►┘
TLS 1.3 iyileştirmeleri
- Daha az gidiş-dönüş (daha hızlı el sıkışma)
- Güvenli olmayan şifre kümeleri kaldırıldı
- İleriye dönük gizlilik zorunlu
- El sıkışma iletileri şifreli
TLS bileşenleri
Sertifikalar
- Sunucunun kimliğini doğrular
- Sertifika otoriteleri tarafından verilir
- Şifreleme için açık anahtar içerir
Şifre kümeleri
Kullanılan şifreleme algoritmalarını tanımlar:
TLS_AES_256_GCM_SHA384 (TLS 1.3)
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (TLS 1.2)
│ │ │ │
│ │ │ └── Hash algorithm
│ │ └── Encryption algorithm
│ └── Key exchange
└── Protocol
TLS kullanım alanları
| Uygulama | Protokol | Bağlantı noktası |
|---|---|---|
| Web'de gezinme | HTTPS | 443 |
| E-posta (IMAP) | IMAPS | 993 |
| E-posta (SMTP) | SMTPS | 465 |
| E-posta gönderimi | STARTTLS | 587 |
| FTP | FTPS | 990 |
Sunucu yapılandırması
Nginx TLS yapılandırması
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
En iyi uygulamalar
1. TLS 1.2 veya 1.3 kullanın: Eski sürümleri devre dışı bırakın
2. Güçlü şifre kümeleri seçin: AEAD şifrelerini tercih edin
3. HSTS'yi etkinleştirin: TLS bağlantılarını zorunlu kılın
4. Sertifika yönetimi: Yenilemeyi otomatikleştirin
5. İleriye dönük gizlilik: ECDHE anahtar değişimini kullanın
6. Düzenli test: SSL Labs ve testssl.sh kullanın
TLS yapılandırmasını test etme
# OpenSSL test
openssl s_client -connect example.com:443 -tls1_3
# Check certificate
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -text
TLS, aktarım halindeki verileri şifreleyerek dinlemeye, değiştirmeye ve ortadaki adam saldırılarına karşı koruyan güvenli internet iletişiminin temelidir.