Güvenlik

SSL Sertifika Kurulumu ve HTTPS'e Geçiş Rehberi

ahmet
4 dakikalık okuma
#SSL#HTTPS#Güvenlik
SSL Sertifika Kurulumu ve HTTPS'e Geçiş Rehberi
Let's Encrypt ve certbot ile ücretsiz SSL sertifika kur, nginx'i yapılandır, otomatik yenilemeyi ayarla ve sitende güvenli HTTPS'e geç.

Tarayıcının adres çubuğunda "Güvenli değil" uyarısını gördün mü? Ziyaretçilerin de görüyor ve çoğu o anda siteni terk ediyor. Bu uyarıyı kaldırmanın yolu bir SSL sertifika kurmaktan geçer. İyi haber şu: artık ücretsiz ve birkaç dakikada hallolur.SSL sertifika, tarayıcı ile sunucun arasındaki trafiği şifreler. Böylece şifreler, form verileri ve çerezler yolda okunamaz. Aynı zamanda sitenin gerçekten sana ait olduğunu doğrular. Bu rehber, sıfırdan HTTPS'e geçmek isteyenler için pratik adımları anlatıyor.

SSL sertifika neden gerekli?

HTTPS bugün artık bir lüks değil, temel bir gereklilik. Google sıralamasında HTTPS bir sinyal olarak kullanılıyor. Tarayıcılar şifresiz siteleri açıkça işaretliyor. Ödeme veya giriş alan her site için şifreli bağlantı zorunlu hale geldi.Şifresiz bir bağlantıda araya giren biri tüm veriyi düz metin olarak görebilir. SSL sertifika bu riski ortadan kaldırır. Ziyaretçinin girdiği parola sunucuna ulaşana kadar şifreli kalır. Bu güven, dönüşüm oranlarını da doğrudan etkiler.Sertifika türleri arasında en yaygını alan adı doğrulamalı olanlardır. Küçük ve orta ölçekli siteler için bu tür fazlasıyla yeterlidir. Daha geniş kapsam isteyenler joker veya çoklu alan adı sertifikalarına bakabilir.

Let's Encrypt ile ücretsiz sertifika

Eskiden SSL sertifika almak para ve uğraş isterdi. Let's Encrypt bu durumu değiştirdi. Kâr amacı gütmeyen bu otorite, herkese ücretsiz ve otomatik sertifika veriyor. Milyonlarca site bugün bu altyapıyı kullanıyor.Let's Encrypt sertifikaları 90 gün geçerlidir. Bu kısa süre kasıtlıdır; otomasyonu teşvik eder ve riski azaltır. Kurulum aracı bu yenilemeyi senin yerine yapar. Resmi başlangıç belgeleri tüm süreci ayrıntılı anlatıyor.Sertifikayı almak için alan adının sunucuna işaret etmesi gerekir. DNS kaydın doğruysa ve 80 portu açıksa doğrulama saniyeler sürer. Bu yüzden kuruluma başlamadan önce DNS ayarlarını kontrol et.

Certbot ve nginx kurulumu

Certbot, Let's Encrypt sertifikalarını kurmanın en kolay yoludur. Sunucuya kurar, alan adını doğrular ve nginx yapılandırmanı otomatik günceller. Ubuntu üzerinde kurulum şu adımlarla ilerler.

sudo apt update
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d ornek.com -d www.ornek.com

Son komut çalıştığında certbot sana birkaç soru sorar. E-posta adresini ister ve HTTP'den HTTPS'e yönlendirme yapmak isteyip istemediğini sorar. Yönlendirmeyi seçmen önerilir. Böylece ziyaretçiler otomatik olarak güvenli sürüme taşınır.Certbot işini bitirdiğinde nginx yapılandırman güncellenmiş olur. Sertifika dosyaları sunucuna yerleşir ve 443 portu dinlenmeye başlar. Tarayıcıdan siteni açtığında artık kilit simgesini görürsün.

Otomatik yenileme ayarı

Sertifikan 90 günde bir yenilenmeli. Bunu elle takip etmek hem zahmetli hem risklidir. Certbot kurulumla birlikte bir systemd zamanlayıcısı ekler. Bu zamanlayıcı günde iki kez çalışır ve süresi yaklaşan sertifikaları yeniler.Yenilemenin çalıştığını test etmek için kuru bir deneme yapabilirsin:

sudo certbot renew --dry-run

Bu komut gerçek yenileme yapmadan tüm süreci simüle eder. Hata vermeden tamamlanırsa otomatik yenileme hazır demektir. Zamanlayıcının durumunu görmek istersen aşağıdaki komut işini görür.


KomutNe yapar
certbot renew --dry-run | Yenilemeyi gerçek değişiklik yapmadan dener
systemctl list-timers | Zamanlanmış yenileme görevini gösterir
certbot certificates | Kurulu sertifikaları ve bitiş tarihlerini listeler

HSTS ve karışık içerik sorunları

HTTPS'e geçtin ama iş henüz bitmedi. İki konuyu daha halletmen gerekiyor. Birincisi HSTS başlığı, ikincisi karışık içerik uyarıları.HSTS, tarayıcıya siteni yalnız HTTPS üzerinden açmasını söyler. Böylece ilk şifresiz isteğin bile engellenir. Nginx server bloğuna aşağıdaki satırı eklersin. Bu adımı sadece HTTPS'in sorunsuz çalıştığından emin olduktan sonra at.

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

Karışık içerik, sayfanın HTTPS yüklenip içindeki bazı kaynakların HTTP'den gelmesidir. Resimler, scriptler veya stiller buna sebep olur. Tarayıcı bu durumda kilit simgesini gizler veya kaynağı bloke eder. Çözüm, tüm bağlantıları HTTPS'e çevirmektir.

  • Tema ve eklentilerdeki sabit HTTP bağlantılarını HTTPS yap.
  • Veritabanındaki eski URL'leri toplu güncelle.
  • Harici kaynakları HTTPS sunan sürümleriyle değiştir.
  • Tarayıcı konsolunda karışık içerik uyarılarını tek tek temizle.

Güvenli altyapıya geçiş

SSL sertifika kurulumu doğru bir sunucuda dakikalar sürer. Ama bunun için 80 ve 443 portlarına erişebildiğin, root yetkisi olan bir ortam gerekir. Paylaşımlı hostingde bu esneklik çoğu zaman olmaz.Kritm Cloud Solutions olarak Türkiye lokasyonlu VPS ve bulut sunucularımız tam kontrol sunar. Certbot kurar, nginx yapılandırır ve HSTS başlıklarını dilediğin gibi ayarlarsın. Özel yazılım projelerin için de güvenli bir temel hazır olur. Bulut çözümlerimizi inceleyebilir, kurulum desteği için bizimle iletişime geçebilirsin.Özetle bir SSL sertifika, sitenin güvenliği ve itibarı için artık vazgeçilmez. Let's Encrypt ve certbot bu işi ücretsiz ve otomatik hale getirir. Sertifikayı kur, otomatik yenilemeyi doğrula, HSTS ekle ve karışık içeriği temizle. Böylece ziyaretçilerin "Güvenli değil" uyarısını bir daha görmez.