SSL sertifikası nedir sorusunun kısa cevabı basit: adres çubuğunda kilit simgesini gördüğünüzde, tarayıcı ile sunucu arasındaki trafik şifrelenmiş demektir. Bu şifrelemeyi sağlayan bileşenin adı SSL sertifikası, ama teknik olarak artık SSL değil TLS (Transport Layer Security) çalışıyor. İsim eski alışkanlıkla kaldığı için hâlâ "SSL" deniyor.
Bu rehberde sertifikanın ne işe yaradığını, tür farklarını ve kendi sunucunuza nasıl kuracağınızı sırayla ele alıyorum: ücretsiz kurulumdan sık karşılaşılan hatalara, TLS protokolünün geldiği noktaya kadar somut komutlarla anlatıyorum.
SSL sertifikası tam olarak ne yapar?
Sertifika iki şeyi garanti eder: trafiğin şifrelenmesini ve sitenin kimliğinin doğrulanmasını. Şifreleme, sizinle sunucu arasındaki veriyi üçüncü bir tarafın okuyamayacağı hale getirir. Şifre girerken, kredi kartı bilgisi yazarken ya da sadece bir haber okurken, aradaki ağ trafiğini dinleyen biri (örneğin açık bir Wi-Fi'daki başka bir cihaz) yalnızca anlamsız veri paketleri görür.
Kimlik doğrulama ise farklı bir sorunu çözer: bağlandığınız sunucunun gerçekten iddia ettiği site olduğunu kanıtlar. Sertifikayı bir Sertifika Otoritesi (CA) imzalar, tarayıcınız da bu imzayı kendi güvenilir kök sertifika listesiyle karşılaştırır. İmza tutmuyorsa ya da sertifikanın süresi dolmuşsa tarayıcı sizi uyarır.
Bağlantı kurulurken TLS handshake denen bir adım gerçekleşir. Sunucu sertifikasını gönderir, tarayıcı bunu doğrular, ardından asimetrik şifreleme ile geçici bir oturum anahtarı üretilir. Bundan sonraki veri trafiği bu simetrik anahtarla şifrelenir, çünkü simetrik şifreleme çok daha hızlı çalışır. Bu yüzden HTTPS'li siteler eskisi kadar yavaş değil; modern TLS 1.3, handshake'i tek round-trip'e indirdi.
Sertifika zinciri (chain of trust) de burada devreye girer. Sunucunuzun sertifikasını genelde tarayıcının doğrudan güvendiği kök sertifika değil, bir ara sertifika (intermediate certificate) imzalar. Sunucu yapılandırmasında bu ara sertifikayı eksik bırakmak, bazı tarayıcılarda "geçersiz sertifika" hatasına yol açar.
Tarayıcı neden "güvenli değil" uyarısı veriyor?
Chrome ve Firefox, HTTPS olmayan sitelerde adres çubuğunda "Güvenli değil" ibaresini gösteriyor. Form içeren sayfalarda bu uyarı daha da belirgin çıkıyor, çünkü kullanıcı bir şey yazıyor ve o veri düz metin olarak gidiyor demektir. Uyarı yalnızca kozmetik değil; ciddi trafik kaybına yol açan bir güven sinyali.

Arama motoru tarafında da etkisi var. Google, HTTPS'i sıralama faktörlerinden biri olarak kullandığını resmi arama dokümantasyonunda belirtiyor; tek başına etkisi büyük değil ama diğer her şey eşitken HTTPS'li site öne geçiyor. HTTP/2 ve HTTP/3 gibi performans kazandıran protokoller de pratikte yalnızca HTTPS üzerinde çalışıyor. SSL kurmamak bu yüzden hız avantajlarından da mahrum bırakır.
Tarayıcı geliştiricileri de aynı yönde baskı kuruyor: kamera, mikrofon ve konum gibi hassas API'lere erişim isteyen sayfaların HTTPS üzerinden servis edilmesi artık neredeyse zorunlu. SSL'siz bir site yalnızca güven kaybetmez, bazı modern web özelliklerini de hiç kullanamaz.
SSL sertifikası türleri arasındaki fark ne?
Sertifikalar iki eksende ayrışır: doğrulama seviyesi ve kapsam. Doğrulama seviyesi, CA'nın sizi ne kadar sıkı kontrol ettiğini gösterir.
| Tür | Doğrulama süreci | Tipik kullanım | Kurulum süresi |
|---|---|---|---|
| DV (Domain Validation) | Sadece alan adı sahipliği kontrol edilir | Blog, kişisel site, kurumsal olmayan projeler | Dakikalar (otomatik) |
| OV (Organization Validation) | Şirket kaydı, adres gibi bilgiler manuel doğrulanır | Kurumsal siteler, B2B hizmetler | 1-3 iş günü |
| EV (Extended Validation) | Şirketin yasal varlığı ayrıntılı incelenir | Bankacılık, ödeme sistemleri | Birkaç iş günü |
Kapsam ekseninde tek alan adını kapsayan standart sertifika, *.ornek.com gibi tüm alt alan adlarını kapsayan wildcard sertifika ve birden fazla farklı alan adını tek sertifikada toplayan multi-domain (SAN) sertifika bulunuyor. Küçük bir blog için DV yeterli, e-ticaret veya kurumsal bir site için OV mantıklı bir orta yol. EV artık tarayıcılarda eskisi kadar vurgulanmıyor, bu yüzden ek maliyeti her zaman karşılamıyor.
Birden fazla alt alan adınız varsa (blog.ornek.com, magaza.ornek.com gibi) wildcard sertifika, her biri için ayrı sertifika yönetmekten çok daha pratik. Let's Encrypt da DNS doğrulaması yaparak wildcard sertifika verebilir; tek şart certbot'u DNS eklentisiyle çalıştırmak.
Ücretsiz SSL nasıl kurulur?
Bugün SSL kurmanın en yaygın yolu Let's Encrypt: kâr amacı gütmeyen bir CA, sertifikaları ücretsiz ve otomatik olarak veriyor. Çoğu paylaşımlı hosting paneli (cPanel, Plesk) bunu tek tıkla kuruyor. Kendi sunucunuzu yönetiyorsanız certbot aracıyla komut satırından kurabilirsiniz.

Nginx için tipik kurulum şöyle görünür:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d ornek.com -d www.ornek.com
Certbot, nginx config dosyanızı otomatik düzenler ve sertifikayı 90 günde bir yenilemek üzere bir cron job / systemd timer kurar. Yenileme genelde sorunsuz çalışır, yine de arada bir manuel kontrol iyi fikirdir:
sudo certbot renew --dry-run
Ücretli sertifikalar (Sectigo, DigiCert gibi CA'lardan) genelde OV/EV ihtiyacı olan kurumlar için, ya da daha yüksek garanti tutarı (warranty) isteyenler için tercih ediliyor. Şifreleme gücü açısından DV ile ücretli sertifika arasında teknik bir fark yok; fark doğrulama derinliğinde.
Kurulumdan sonra hangi sorunlar çıkar?
Sertifikayı kurduktan sonra en sık karşılaşılan sorun karışık içerik (mixed content) uyarısı. Sayfa HTTPS üzerinden geliyor ama içindeki bir resim, script ya da CSS dosyası hâlâ http:// ile çağrılıyorsa tarayıcı bunu engeller ya da uyarır. Çözüm genelde basit: kod içindeki tüm mutlak URL'leri protokolsüz ya da doğrudan https:// yapmak.

Bir başka yaygın sorun, HTTP'den HTTPS'e yönlendirmenin eksik ya da yanlış kurulması. Yönlendirme yoksa kullanıcılar hem HTTP hem HTTPS sürümüne erişebilir, bu da arama motorunda içerik tekrarına yol açar. Apache'de .htaccess ile tipik çözüm:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Nginx'te denk gelen blok:
server {
listen 80;
server_name ornek.com www.ornek.com;
return 301 https://$host$request_uri;
}
Sertifikanın süresinin dolması da sık görülen bir sorun; genelde otomatik yenileme cron'u bir şekilde çalışmayı bıraktığında ortaya çıkıyor. Sertifikanın gerçek durumunu kontrol etmenin en hızlı yolu komut satırından bakmak:
openssl s_client -connect ornek.com:443 -servername ornek.com | openssl x509 -noout -dates
Bu komut sertifikanın başlangıç ve bitiş tarihini gösterir, panik yapmadan önce gerçek durumu görürsünüz. SSL Labs'ın (ssllabs.com) ücretsiz test aracı da kurulumun zayıf noktalarını (eski TLS sürümü, zayıf cipher suite) tespit etmek için işe yarıyor.
Certbot'un otomatik yenileme mekanizması genelde bir systemd timer ya da cron job olarak çalışır. Sunucuyu taşıdığınızda ya da bir yedekten geri yüklediğinizde bu zamanlanmış görevin de birlikte taşındığından emin olun; aksi halde sertifika sessizce süresi dolar ve haberi ancak ziyaretçilerinizin tarayıcı uyarısından alırsınız.
HTTPS'e geçince ne kazanıyorsunuz?
Kazançlar yalnızca güvenlik değil, birkaç pratik başlıkta toplanıyor:
- Veri bütünlüğü: aradaki bir ağ cihazı (bazı ISP'ler dahil) içeriğinize reklam enjekte edemez, çünkü paket şifreli.
- Modern web API'lerine erişim: konum servisleri, bildirimler (push notification) ve servis çalışanları (service worker) gibi tarayıcı özellikleri yalnızca güvenli bağlamda (secure context) çalışır.
- Performans: HTTP/2 ve HTTP/3, çoklama (multiplexing) sayesinde tek bağlantı üzerinden paralel istek gönderir; bu da sayfa yüklenmesini hızlandırır.
- Güven sinyali: kilit simgesi, özellikle ödeme veya form içeren sayfalarda kullanıcının vazgeçme oranını düşürüyor.
Bu dört kazanımın hiçbiri tek başına devrimsel değil, ama toplamda HTTPS'siz bir siteyi bugün savunmak zor. Bir e-ticaret sitesi işletiyorsanız, ödeme sayfasında SSL olmaması müşteri güvenini sıfıra indirir. Bu yüzden en azından form ve ödeme akışı olan sayfalarda SSL bir zorunluluk, tercih değil.
TLS protokolü nereye gidiyor?
TLS 1.3, önceki sürüme göre hem daha hızlı hem daha güvenli: eski, kırılgan şifreleme algoritmalarını (RC4, eski CBC modları) listeden çıkardı ve handshake'i basitleştirdi. Sunucunuz hâlâ TLS 1.0 veya 1.1 destekliyorsa bunu kapatmanın tam zamanı, çünkü bu sürümler artık PCI-DSS gibi standartlarda kabul edilmiyor.
CA/Browser Forum'un belirlediği kurallar gereği sertifika ömürleri de kısalıyor: bir zamanlar 2-3 yıl geçerli sertifikalar alınabilirdi, şimdi çoğu CA en fazla 398 gün veriyor. Bu, güvenlik açısından iyi bir gelişme, çünkü çalınan bir özel anahtarın kullanım penceresini daraltıyor. Ama otomatik yenileme kurmayan siteler için sürpriz kesinti riskini de artırıyor.
SSL/TLS tek başına bir güvenlik çözümü değil, daha geniş bir güvenlik mimarisinin temel taşı. Güçlü parolalar, güncel yazılım ve doğru yapılandırılmış bir güvenlik duvarı olmadan kilit simgesi tek başına sizi korumaz; o kilit simgesi olmadan da geri kalanı yeterli olmaz.
Sertifikanızı kurduktan sonra takviminize 60-70 günlük bir hatırlatma koyun ve certbot renew --dry-run çalıştırın. Otomatik yenilemenin gerçekten çalıştığını doğrulamanın tek pratik yolu bu; aksi halde sertifika süresi dolduğunda haberi ziyaretçilerinizin tarayıcı uyarısından alırsınız.
Henüz yorum yok.
Sohbete katıl. Yorumlar yayınlanmadan önce moderasyondan geçer.