
Web Sitesi SSL ve Sunucu Güvenliği: Temel Adımlar ve En İyi Uygulamalar
İnternet üzerinde veri güvenliği, özellikle e‑ticaret ve kişisel bilgiler içeren siteler için kritik bir konudur. hosting SSL güvenliği sağlamak, ziyaretçilerin tarayıcıları ile sunucunuz arasındaki iletişimi şifreleyerek veri sızıntılarını ve kimlik avı saldırılarını önler. Bu makalede, SSL sertifikasının temellerinden kurulum aşamasına, performans iyileştirmelerinden bakım süreçlerine kadar tüm süreci adım adım ele alacağız.
SSL Nedir ve Neden Önemlidir?
SSL (Secure Sockets Layer) ve güncel adıyla TLS (Transport Layer Security), internet üzerindeki veri akışını şifreleyen protokollerdir. Bir ziyaretçi sitenize bağlandığında, SSL sayesinde tarayıcı ve sunucu arasındaki veri şifreli bir tünel üzerinden aktarılır. Bu sayede:
- Kişisel ve ödeme bilgilerinin çalınması riski azalır.
- Arama motorları HTTPS kullanan sitelere öncelik verir (SEO avantajı).
- Kullanıcı güveni artar; tarayıcıda ‘güvenli’ simgesi görünür.
Hosting SSL Güvenliğinin Temel Aşamaları
Bir web sitesinde hosting SSL güvenliği sağlamak için izlenmesi gereken beş temel adım vardır:
- İhtiyacınıza uygun sertifika tipini seçmek. DV, OV ve EV sertifikalarından birini belirleyin.
- CSR (Certificate Signing Request) oluşturmak. Sunucu panelinizde bir CSR üretin.
- Sertifikayı satın almak ve doğrulama sürecini tamamlamak. Doğrulama e‑posta ya da DNS yöntemiyle yapılır.
- Sertifikayı sunucuya yüklemek. Apache, Nginx veya Plesk gibi ortamlarda kurulum adımlarını izleyin.
- HTTPS yönlendirmesi ve test aşaması. Tüm HTTP isteklerini HTTPS’ye yönlendirin ve SSL Labs gibi araçlarla test edin.
Sunucu Sertifikası Kurulumu İçin Adım Adım Rehber
Aşağıda, Linux tabanlı bir Apache sunucusunda SSL sertifikasını kurma sürecini detaylandırıyoruz. Diğer sunucu tipleri (Nginst, LiteSpeed vb.) için de benzer adımlar geçerlidir.
1. CSR ve Private Key Oluşturma
openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr
Komut çalıştırıldığında, alan adı, şirket adı ve ülke gibi bilgileri girmeniz istenir. Oluşan domain.key dosyası özel anahtar, domain.csr ise sertifika talebidir.
2. Sertifika Satın Alma ve Doğrulama
CSR dosyasını seçtiğiniz SSL sağlayıcısına (örneğin İZMBİL Web Hosting) gönderin. Doğrulama yöntemi olarak DNS TXT kaydı eklemek genellikle en hızlı yoldur.
3. Sertifikayı Sunucuya Yükleme
Sağlayıcıdan gelen certificate.crt ve ca_bundle.crt dosyalarını sunucunun /etc/ssl/ dizinine kopyalayın.
sudo cp certificate.crt /etc/ssl/certs/
sudo cp ca_bundle.crt /etc/https/
4. Apache Konfigürasyonu
VirtualHost tanımına aşağıdaki satırları ekleyin:
<VirtualHost *:443>
ServerName www.ornekalanadi.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/certificate.crt
SSLCertificateKeyFile /etc/ssl/private/domain.key
SSLCertificateChainFile /etc/ssl/certs/ca_bundle.crt
# HTTP/2 desteği
Protocols h2 http/1.1
</VirtualHost>
Değişiklikleri kaydedip Apache’yi yeniden başlatın:
sudo systemctl restart apache2
5. HTTP’den HTTPS’ye Zorunlu Yönlendirme
.htaccess dosyasına aşağıdaki kuralları ekleyin:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
HTTPS ve HTTP/2 ile Performans Artışı
SSL sadece güvenliği değil, aynı zamanda site performansını da etkiler. HTTP/2 protokolü, tek bir TCP bağlantısı üzerinden birden çok istek göndermeyi sağlar. Bu, sayfa yükleme süresini %30‑%40 oranında kısaltabilir. Apache 2.4.17+ ve Nginx 1.9+ sürümleri HTTP/2’yı doğal olarak destekler; sadece Protocols h2 http/1.1 satırını eklemek yeterlidir.
SSL Sertifikası Yenileme ve İzleme
SSL sertifikaları genellikle 90‑365 gün arasında bir sürede sona erer. Yenileme sürecini kaçırmamak için:
- SSL sertifikası son tarihlerini SSL Labs ya da Let’s Encrypt gibi araçlarla izleyin.
- Sunucuya otomatik yenileme betiği kurun (örnek:
certbot renew --quiet). - Yenileme hatalarını anında e‑posta ile bildiren bir izleme sistemi oluşturun.
Sık Karşılaşılan Sorunlar ve Çözüm Önerileri
SSL kurulumunda en yaygın hatalar ve çözüm yolları:
- “Invalid certificate chain” hatası: CA bundle dosyasının eksik veya hatalı olduğu durumlarda oluşur. Doğru CA dosyasını
SSLCertificateChainFilesatırına ekleyin. - “Mixed content” uyarısı: Sayfa içinde hâlâ HTTP kaynakları (resim, script, css) bulunur. Tüm kaynak URL’lerini
https://ile güncelleyin. - “SSL handshake failed”: Sunucu ve istemci protokol uyumsuzluğu. Sunucuyu TLS 1.2+ destekleyecek şekilde yapılandırın.
Pratik Kontrol Listesi
- SSL sertifikası tipi (DV/OV/EV) ihtiyacınıza uygun mu?
- CSR ve private key güvenli bir yerde saklandı mı?
- CA tarafından verilen sertifika ve zincir dosyaları doğru dizine kopyalandı mı?
- Apache/Nginx konfigürasyonunda
SSLEngine onve dosya yolları doğru mu? - HTTP → HTTPS yönlendirme kuralı aktif mi?
- HTTPS üzerinden tüm sayfalarda mixed content sorunu var mı?
- HTTP/2 protokolü etkinleştirildi mi?
- SSL sertifikası son tarihleri izleniyor ve yenileme otomasyonu var mı?
Bu adımları düzenli olarak kontrol ederek, hosting SSL güvenliği seviyenizi yüksek tutabilir ve müşterilerinizin güvenini kazanabilirsiniz.
Unutmayın, güvenli bir web deneyimi sadece bir sertifika ile bitmez; sunucu yapılandırması, güncel yazılım ve düzenli bakım da aynı derecede kritiktir.