Ana içeriğe geç

🔐 SSL Protokol Hatası Çözümü – Ubuntu ve Linux Sunucular İçin Kapsamlı Rehber

HTTPS bağlantılarında görülen SSL/TLS protokol hataları, kullanıcıların web sitenize erişmesini tamamen engelleyebilir. Bu rehber, özellikle Ubuntu ve diğer Linux sunucularında sık karşılaşılan SSL hatalarını kök nedenleriyle analiz ederek, hem sunucu hem tarayıcı tarafında kalıcı çözümler üretmenizi sağlar.

Bu içerik; modern TLS yapılandırmaları, güçlü cipher setleri, eksiksiz sertifika zinciri kurulumu ve pratik teşhis komutlarıyla donatılmıştır.


🚀 Bu Rehber Size Ne Kazandıracak?

  • Yaygın SSL/TLS hata tiplerini tanıyacaksınız
  • Sunucu tarafındaki protokol uyumsuzluklarını teşhis edeceksiniz
  • Nginx ve Apache’de modern TLS yapılandırmalarını uygulayacaksınız
  • Sertifika zinciri (CA – Intermediate – Leaf) sorunlarını çözebileceksiniz
  • Tarayıcı tarafındaki SSL sorunlarını gidermeyi öğreneceksiniz

🛠️ Gereksinimler

Bu rehberi uygulamak için aşağıdakilere sahip olmanız yeterlidir:

  • Ubuntu / Debian / Linux sunucu
  • Root veya sudo yetkisi
  • Alan adının IP’ye doğru yönlendirilmiş olması
  • Komut satırında temel seviye hakimiyet
  • SSL/TLS kavramlarına giriş düzeyinde bilgi

🔥 1. En Yaygın SSL Protokol Hataları

Aşağıdaki tablo, en sık görülen SSL sorunlarını ve doğrudan uygulayabileceğiniz çözümleri özetler.

Bu bölüm hem SEO hem kullanıcı deneyimi için optimize edilmiştir:

Hata TipiTemel SebepHızlı Çözüm
ERR_SSL_CERTIFICATE_INVALIDSertifika süresi dolmuş, domain eşleşmiyor, zincir eksikSertifikayı yenile, CN/SAN kontrol et, CA zincirini ekle
ERR_SSL_PROTOCOL_ERRORSunucu eski TLS sürümü sunuyorTLS 1.2 ve 1.3’ü zorunlu kıl
ERR_SSL_HANDSHAKE_FAILUREZayıf cipher, eksik intermediate, sürüm çatışmasıGüçlü cipher seti ve tam zincir kullan
ERR_SSL_NO_CYPHER_OVERLAPİstemci ile sunucu ortak algoritmada anlaşamıyorModern AES-GCM/CHACHA20 cipher’larına geç
Saat HatasıSistem saati yanlışNTP senkronizasyonu yap
DNS UyuşmazlığıYanlış A kaydı, cache sorunuDNS yenile, hosts kontrolü yap

🔍 2. SSL Protokol Hataları Nasıl Oluşur?

SSL/TLS handshake şu adımları içerir:

  1. İstemci Merhaba (ClientHello)
  2. Sunucu Merhaba (ServerHello)
  3. Sertifika iletimleri
  4. Şifreleme anahtarlarının oluşturulması
  5. Güvenli kanalın kurulması

Bu aşamalarda yaşanan her türlü uyumsuzluk protokol hatasına neden olur.
Başlıca sebepler:

  • Eski SSL/TLS sürümleri (TLS 1.0 / 1.1)
  • Eksik intermediate CA
  • Yanlış yapılandırılmış cipher seti
  • Hatalı hostname veya SAN değerleri
  • Sertifika süresinin dolması
  • Proxy / DPI müdahalesi

🧪 3. Teşhis Araçlarını Kurma

3.1 📦 Paket listesini güncelleyin

sudo apt update

3.1 🔑 OpenSSL yükleyin


sudo apt install openssl

3.2 🌐 curl yükleyin


sudo apt install curl

3.3 🔍 nmap yükleyin


sudo apt install nmap

🧪 4. Sunucu Tarafı Teşhis Adımları

✔️ 4.1 SSL Bağlantısını Test Edin


openssl s_client -connect your-domain.com:443 -servername your-domain.com

Bu komut handshake aşamalarını ve sertifika zincirini detaylı gösterir.

Eğer şu hatayı görürseniz:


verify error:num=20:unable to get local issuer certificate

Bu, eksik intermediate sertifikası anlamına gelir.

Çözüm: fullchain.pem dosyasını yükleyin.

✔️ 4.2 TLS Sürüm Desteğini Test Edin

4.2.1 TLS 1.3 test:


openssl s_client -connect your-domain.com:443 -tls1_3

Eğer handshake fail oluyorsa → Sunucu TLS 1.3 desteklemiyor.

✔️ 4.3 Sertifika Geçerlilik Süresini Kontrol Edin


openssl s_client -connect your-domain.com:443 | openssl x509 -noout -dates

🏗️ 5. Sunucu Tarafı Modern TLS Yapılandırması

✔️ 5.1 Nginx için önerilen yapılandırma


server {
listen 443 ssl http2;
server_name your-domain.com;

ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers
ECDHE-RSA-AES256-GCM-SHA384:
ECDHE-RSA-AES128-GCM-SHA256:
ECDHE-ECDSA-CHACHA20-POLY1305;

ssl_prefer_server_ciphers off;

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
}

5.2 Test ve reload:


sudo nginx -t
sudo systemctl reload nginx
✔️ 5.2 Apache için önerilen yapılandırma
apache

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3

SSLCipherSuite \
ECDHE-RSA-AES128-GCM-SHA256:\
ECDHE-RSA-AES256-GCM-SHA384:\
ECDHE-ECDSA-CHACHA20-POLY1305

🔐 6. Cipher Suite Sorunlarını Çözme

6.1 Desteklenen cipher listesini görün:


nmap --script ssl-enum-ciphers -p 443 your-domain.com

Modern set → AES-GCM + CHACHA20 karışık destek sunar.


🌐 7. Tarayıcı (İstemci) Tarafı Çözümleri

HTTPS URL kontrolü

  1. Tarayıcı önbelleğini temizleyin

  2. SSL state temizleyin (Windows)

  3. Sistem saatini kontrol edin

  4. VPN/Proxy devre dışı bırakın

  5. Farklı tarayıcıyla test edin


🙋‍♂️ 8. SSS – Sıkça Sorulan Sorular

1. SSL protokol hatası neden oluşur? En yaygın sebepler: eski TLS sürümleri, eksik CA zinciri, sertifika uyuşmazlığı ve cipher çatışmasıdır.

2. Sertifika süresi bittiğinde ne olur? Tarayıcılar sertifikayı reddeder ve siteye giriş imkansız hale gelir.

3. TLS 1.0 / 1.1 neden kapatılır? Bu sürümler güvenli değildir ve artık tüm modern tarayıcılar tarafından reddedilmektedir.

4. Sertifika zinciri neden önemlidir? Eksik intermediate, tarayıcıların sertifikayı doğrulamasını engeller.


🎯 Sonuç

Bu rehberle SSL/TLS protokol hatalarını hem sunucu hem istemci tarafında adım adım çözecek bilgiye sahipsiniz. Güçlü cipher setleri, modern TLS sürümleri ve eksiksiz sertifika zinciri sayesinde HTTPS bağlantılarınız hem hızlı hem güvenli olur.

Güvenli ve optimize altyapılar için tüm bu yapılandırmaları Rabisu Bulut üzerinde rahatça uygulayabilirsiniz.