format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightSSL Labs Testinden A+ Almanın Önemi
- arrow_rightNeden A+ Rating Kritik?
- arrow_rightSSL Labs Test Puanlama Kriterleri
- arrow_rightTemel Değerlendirme Kriterleri
- arrow_rightSSL/TLS Konfigürasyonu Nasıl Yapılır?
- arrow_right1. TLS 1.3 Protokolünü Etkinleştirin
- arrow_right2. Güçlü Cipher Suite'ler Kullanın
- arrow_right3. Forward Secrecy Sağlayın
- arrow_rightSertifika Yapılandırması
- arrow_rightDoğru Sertifika Türü Seçimi
- arrow_rightSertifika Zincirini Kontrol Edin
- arrow_rightGüvenlik Başlıklarını Yapılandırın
- arrow_rightHSTS (HTTP Strict Transport Security)
- arrow_rightContent Security Policy (CSP)
- arrow_rightDiğer Önemli Başlıklar
- arrow_rightSunucu Tarafı Yapılandırma
- arrow_rightOCSP Stapling Etkinleştirin
- arrow_rightSession Cache ve Ticket'leri Yapılandırın
- arrow_rightHTTP/2 ve HTTP/3 Desteği
- arrow_rightSık Yapılan Hatalar ve Çözümleri
- arrow_rightHata 1: TLS 1.0 ve 1.1 Kullanımı
- arrow_rightHata 2: Zayıf Anahtar Boyutları
- arrow_rightHata 3: Mixed Content Uyarıları
- arrow_rightHata 4: CRL veya OCSP Yanıtı Eksikliği
- arrow_rightSSL Labs Testi Nasıl Yapılır?
- arrow_rightOtomatik SSL Yönetimi ve Monitoring
- arrow_rightSonuç ve Özet
SSL Labs Testinden A+ Almanın Önemi
SSL Labs (Qualys SSL Labs), web sitelerinin SSL/TLS konfigürasyonunu analiz eden en yaygın kullanılan güvenlik testi araçlarından biridir. A+ rating almak, sitenizin güvenlik açısından en yüksek standartlarda olduğunu gösterir. Araştırmalara göre, 2024 yılı itibarıyla tüm web sitelerinin yaklaşık %65'i artık HTTPS kullanırken, yalnızca %20'si A+ puan almayı başarabilmektedir.
Neden A+ Rating Kritik?
A+ rating almak, arama motorlarının güvenlik konusundaki algoritmalarında pozitif sinyaller gönderir. Google'ın algoritma güncellemeleri, HTTPS kullanımını sıralama faktörü olarak değerlendirmektedir. Ayrıca, ziyaretçilerin tarayıcılarında "Güvenli" ibaresinin görünmesi, dönüşüm oranlarını doğrudan etkiler.
SSL Labs testi, sertifika kalitesi, protokol desteği, şifreleme gücü, anahtar değişimi ve güvenlik başlıkları gibi birçok parametreyi inceler. Bu parametrelerin tamamında yüksek puan almak, kapsamlı bir konfigürasyon gerektirir.
SSL Labs Test Puanlama Kriterleri
SSL Labs, test sonuçlarını birkaç ana kategoride değerlendirir. Her kategorideki eksiklikler, genel puanınızı doğrudan etkiler.
Temel Değerlendirme Kriterleri
| Kategori | Ağırlık (%) | Açıklama |
|---|---|---|
| Sertifika | 20 | Sertifika geçerliliği, zincir yapısı |
| Protokol Desteği | 25 | TLS 1.3, TLS 1.2 desteği |
| Şifreleme Gücü | 25 | Kullanılan cipher suite'ler |
| 15 | Key exchange mekanizması | |
| Güvenlik Başlıkları | 15 | HSTS, CSP, güvenlik politikaları |
SSL/TLS Konfigürasyonu Nasıl Yapılır?
1. TLS 1.3 Protokolünü Etkinleştirin
En güncel ve güvenli protokol olan TLS 1.3'ü etkinleştirmek, SSL Labs puanınızı önemli ölçüde artırır. TLS 1.3, önceki sürümlere göre daha hızlı handshak süresi sunar ve daha az güvenlik açığı içerir. Sunucu yapılandırmanızda TLS 1.3'ü öncelikli olarak listeleyin.
Nginx için örnek konfigürasyon:
ssl_protocols TLSv1.3 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256';
2. Güçlü Cipher Suite'ler Kullanın
Zayıf şifreleme algoritmaları (örneğin RC4, 3DES) test puanınızı düşürür. Yalnızca forward secrecy (ileri gizlilik) sağlayan modern cipher suite'leri kullanmalısınız. Aşağıdaki liste, önerilen cipher yapılandırmasını göstermektedir:
- TLS_AES_256_GCM_SHA384 - TLS 1.3 için en yüksek güvenlik
- TLS_CHACHA20_POLY1305_SHA256 - Yüksek performans ve güvenlik
- ECDHE-RSA-AES256-GCM-SHA384 - TLS 1.2 için tercih edilen
- ECDHE-RSA-CHACHA20-POLY1305 - Alternatif TLS 1.2 seçeneği
3. Forward Secrecy Sağlayın
Forward secrecy (FS), her oturum için yeni bir anahtar oluşturarak geçmişteki oturumların gelecekte çözülemesini engeller. SSL Labs, forward secrecy desteği olmayan sunuculara A- veya altı puan verir. ECDHE veya DHE cipher'larını kullanarak bu özelliği etkinleştirebilirsiniz.
Sertifika Yapılandırması
Doğru Sertifika Türü Seçimi
Sertifika seçimi, hem güvenlik hem de SEO açısından kritiktir. Ücretsiz Let's Encrypt sertifikaları, SSL Labs testinde tam not alabilir; ancak uzun vadeli güvenlik için wildcard sertifikalar tercih edilebilir.
Sertifika yapılandırmasında dikkat edilmesi gereken noktalar:
- Sertifika zincirinin doğru sıralanmış olması
- Intermediate sertifikaların eksiksiz kurulması
- Root sertifikanın güvenilir olması
- Sertifika son kullanım tarihinin takibi
Sertifika Zincirini Kontrol Edin
SSL Labs, eksik veya hatalı sertifika zincirini tespit ettiğinde puanınızı düşürür. Zincirin doğru kurulduğundan emin olmak için aşağıdaki komutu kullanabilirsiniz:
openssl s_client -connect siteniz.com:443 -showcerts
Bu komut, sunucunuzun sertifika zincirini görüntüler ve eksik bağlantıları tespit etmenize yardımcı olur.
Güvenlik Başlıklarını Yapılandırın
HSTS (HTTP Strict Transport Security)
HSTS, tarayıcının yalnızca HTTPS bağlantıları kullanmasını zorunlu kılan bir güvenlik başlığıdır. SSL Labs, HSTS etkinleştirildiğinde ek puan verir. Max-age değeri en az 31536000 (1 yıl) olmalıdır.
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Content Security Policy (CSP)
CSP, XSS ve veri sızıntısı saldırılarına karşı koruma sağlar. Doğru yapılandırılmış CSP başlığı, SSL Labs testinde pozitif değerlendirilir. CSP'yi uygulamadan önce sitenizin tüm kaynaklarını analiz etmeniz önerilir.
Diğer Önemli Başlıklar
| Başlık | Değer | İşlev |
|---|---|---|
| X-Frame-Options | DENY veya SAMEORIGIN | Clickjacking koruması |
| X-Content-Type-Options | nosniff | MIME type sniffing engeli |
| Referrer-Policy | strict-origin-when-cross-origin | Referrer bilgisi kontrolü |
| Permissions-Policy | geolocation=(), microphone=() | Tarayıcı özellik kontrolü |
Sunucu Tarafı Yapılandırma
OCSP Stapling Etkinleştirin
Online Certificate Status Protocol (OCSP) stapling, tarayıcının sertifika durumunu kontrol etmesi için sunucu tarafında ön belleklenmiş yanıt gönderir. Bu özellik, bağlantı süresini kısaltır ve gizliliği artırır. Nginx için etkinleştirme:
ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 5s;
Session Cache ve Ticket'leri Yapılandırın
SSL oturum yeniden kullanımı, performansı artırır ve sunucu yükünü azaltır. Aşağıdaki yapılandırma önerilir:
ssl_session_cache shared:SSL:10m; ssl_session_timeout 1d; ssl_session_tickets off;
HTTP/2 ve HTTP/3 Desteği
Modern protokol desteği, hem performans hem de güvenlik için önemlidir. HTTP/2 ve HTTP/3, varsayılan olarak TLS gerektirir ve SSL Labs tarafından olumlu değerlendirilir. Nginx için HTTP/2 etkinleştirme:
listen 443 ssl http2;
Sık Yapılan Hatalar ve Çözümleri
Hata 1: TLS 1.0 ve 1.1 Kullanımı
TLS 1.0 ve 1.1, bilinen güvenlik açıkları nedeniyle artık deprecated kabul edilir. Bu protokolleri tamamen devre dışı bırakmalısınız. Çoğu modern tarayıcı, bu protokolleri desteklemeyi bırakmıştır.
Önerilen yapılandırma:
ssl_protocols TLSv1.3 TLSv1.2;
Hata 2: Zayıf Anahtar Boyutları
RSA anahtar boyutu en az 2048 bit olmalıdır. 1024 bit anahtarlar artık güvensiz kabul edilir ve test puanınızı düşürür. Yeni sertifikalar için 2048 bit veya 4096 bit RSA anahtarlar tercih edilmeli, ECDSA için ise en az 256 bit curve kullanılmalıdır.
Hata 3: Mixed Content Uyarıları
HTTPS sayfalarında HTTP kaynakların (resim, script, CSS) yüklenmesi, "mixed content" uyarısına neden olur. Bu durum, tarayıcılarda güvenlik sembolünün kaybolmasına yol açar. Tüm kaynakları HTTPS üzerinden yükleyin veya protokol bağımsız (//) URL'ler kullanın.
Hata 4: CRL veya OCSP Yanıtı Eksikliği
Sertifika iptal kontrolü yapılmadığında, SSL Labs puan kaybı yaşanır. OCSP stapling etkinleştirilmeli ve CRL (Certificate Revocation List) URL'leri doğru yapılandırılmalıdır.
SSL Labs Testi Nasıl Yapılır?
- SSL Labs web sitesine gidin: ssllabs.com
- "Test your server" bölümüne sitenizin adresini girin
- Test sonuçlarını bekleyin (ilk test yaklaşık 2-3 dakika sürer)
- Sonuçları analiz edin ve önerilen düzeltmeleri uygulayın
- Düzeltmeler sonrası testi tekrarlayın
Test süresi, sunucu yapılandırmasına bağlı olarak değişebilir. İlk test sonrasında "Clear cache" kullanarak yeniden test yapabilirsiniz.
Otomatik SSL Yönetimi ve Monitoring
SSL sertifikalarınızı manuel olarak takip etmek yerine, otomatik yenileme sistemleri kullanmanızı öneriyoruz. Let's Encrypt gibi ücretsiz sertifika sağlayıcıları, otomatik yenileme imkanı sunar. Ayrıca, SSL Labs API'sini kullanarak düzenli kontroller yapabilirsiniz.
Sunucu güvenliği konusunda kapsamlı bilgi için SSH Key ve 2FA rehberimize göz atabilirsiniz.
Sonuç ve Özet
SSL Labs'tan A+ almak, teknik bilgi ve dikkatli yapılandırma gerektirir. Aşağıdaki adımları izleyerek başarılı olabilirsiniz:
- TLS 1.3 ve TLS 1.2 dışındaki tüm protokolleri devre dışı bırakın
- Güçlü ve forward secrecy destekli cipher suite'ler kullanın
- HSTS başlığını max-age 31536000 ile etkinleştirin
- Diğer güvenlik başlıklarını (X-Frame-Options, CSP) yapılandırın
- OCSP stapling etkinleştirin
- Sertifika zincirinin eksiksiz olduğundan emin olun
- HTTP kaynakları HTTPS'ye taşıyın (mixed content düzeltmesi)
- Sunucu yazılımlarınızı güncel tutun
Düzenli olarak SSL Labs testi yaparak güvenlik durumunuzu monitor edebilir ve yeni tehditlere karşı önlem alabilirsiniz. Unutmayın, güvenlik dinamik bir süreçtir ve sürekli güncelleme gerektirir.