SSL/TLS Sertifikaları: Kurulum, Yenileme ve Sorun Giderme

z

zafer ak

Yazar

30 December 2025 4 dakika okuma 139 görüntülenme
SSL/TLS Sertifikaları: Kurulum, Yenileme ve Sorun Giderme
SSL/TLS sertifikalarının önemi, Let's Encrypt ile ücretsiz sertifika alma, Apache/Nginx yapılandırması ve yaygın sorunların çözümü.

SSL/TLS sertifikaları, web siteniz ile ziyaretçiler arasındaki iletişimi şifreleyerek güvenliği sağlar. Bu rehberde sertifika kurulumu ve yönetimini öğreneceksiniz.

SSL/TLS Security

SSL/TLS Neden Önemli?

  • Veri şifreleme: Kullanıcı verilerini koruma
  • Kimlik doğrulama: Web sitesi kimliğini doğrulama
  • SEO avantajı: Google HTTPS'i tercih eder
  • Güven: Tarayıcıda kilit simgesi
  • PCI uyumluluğu: E-ticaret gereksinimleri

Sertifika Türleri

Tür Doğrulama Fiyat Kullanım
DV (Domain Validation) Domain sahipliği Ücretsiz-$50 Blog, kişisel site
OV (Organization Validation) Şirket doğrulama $50-$200 Kurumsal siteler
EV (Extended Validation) Kapsamlı doğrulama $200-$1000 E-ticaret, bankalar
Wildcard Tüm alt domainler $100-$500 Çoklu subdomain

Let's Encrypt ile Ücretsiz SSL

Let's Encrypt, ücretsiz DV sertifikaları sunan bir sertifika otoritesidir. Certbot aracı ile otomatik kurulum yapabilirsiniz.

Server SSL Configuration

Certbot Kurulumu

# Ubuntu/Debian
sudo apt update
sudo apt install certbot

# Nginx için
sudo apt install python3-certbot-nginx

# Apache için
sudo apt install python3-certbot-apache

Nginx için SSL Kurulumu

# Otomatik yapılandırma
sudo certbot --nginx -d example.com -d www.example.com

# Sadece sertifika alma (manuel yapılandırma)
sudo certbot certonly --nginx -d example.com -d www.example.com

Apache için SSL Kurulumu

# Otomatik yapılandırma
sudo certbot --apache -d example.com -d www.example.com

# Apache SSL modülünü etkinleştirme
sudo a2enmod ssl
sudo systemctl restart apache2

Nginx SSL Yapılandırması

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    # SSL ayarları
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;

    # HSTS
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    # OCSP Stapling
    ssl_stapling on;
    ssl_stapling_verify on;

    root /var/www/example.com;
    index index.html;
}

Apache SSL Yapılandırması

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/example.com

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

    # SSL Protokolleri
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

    # HSTS
    Header always set Strict-Transport-Security "max-age=31536000"
</VirtualHost>
HTTPS Secure Connection

Otomatik Yenileme

Let's Encrypt sertifikaları 90 gün geçerlidir. Otomatik yenileme ayarlayın:

# Yenileme testi
sudo certbot renew --dry-run

# Cron job ekleme (otomatik yapılır)
sudo systemctl status certbot.timer

# Manuel cron
# /etc/cron.d/certbot
0 0,12 * * * root certbot renew --quiet

Wildcard Sertifika

# DNS challenge ile wildcard sertifika
sudo certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.com

# DNS TXT kaydı eklemeniz istenecek
# _acme-challenge.example.com

Yaygın Sorunlar ve Çözümleri

Sorun 1: Mixed Content

HTTPS sayfada HTTP kaynakları yükleniyor:

<!-- Çözüm: Protokolsüz URL kullanın -->
<img src="//example.com/image.jpg">

<!-- Veya HTTPS kullanın -->
<img src="https://example.com/image.jpg">

Sorun 2: Sertifika Uyumsuzluğu

# Sertifika ve domain eşleşmesini kontrol
openssl s_client -connect example.com:443 -servername example.com | openssl x509 -noout -text | grep DNS

Sorun 3: Zincir Eksik

# Sertifika zincirini kontrol
openssl s_client -connect example.com:443 -showcerts

# fullchain.pem kullandığınızdan emin olun

SSL Test Araçları

Sonuç

SSL/TLS sertifikaları web güvenliğinin temel taşıdır. Let's Encrypt ile ücretsiz sertifika alabilir ve Certbot ile otomatik yenileme yapabilirsiniz. A+ SSL puanı için güçlü şifreleme ve HSTS kullanmayı unutmayın.

İlgili Yazılar