Merhaba arkadaşlar, bugün sizlere Cloudflare kullanırken hem ziyaretçilerinizin hem de arama motorlarının güvenini kazanmak için çok önemli bir optimizasyondan bahsedeceğim: SSL/TLS ayarlarını Full (Strict) moda getirmek ve sunucunuzda kendinden imzalı (self-signed) olmayan, güvenilir bir sertifika kurmak. Bu ayar, sunucunuz ile Cloudflare arasındaki bağlantıyı da şifreleyerek "uçtan uca" güvenliği sağlar ve tarayıcıların "bağlantı güvenli değil" gibi uyarılar vermesinin önüne geçer.
Neden Full (Strict) Mod ve Neden Kendinden İmzalı Sertifika Kullanmamalıyız?
Cloudflare'de SSL/TLS şifreleme modu olarak "Flexible", "Full" ve "Full (Strict)" seçenekleri var. "Flexible" modda, ziyaretçinizle Cloudflare arası şifreli, ama Cloudflare ile sizin sunucunuz arası şifrelenmemiş (HTTP) olur. "Full" modda ise bu bağlantı da şifrelenir, ancak Cloudflare sunucunuzdaki sertifikayı doğrulamaz. İşte burada sorun çıkıyor: Eğer sunucunuzda kendinden imzalı bir sertifika varsa, "Full" mod çalışır ama "Full (Strict)" mod hata verir. Çünkü Strict mod, Cloudflare'in sunucunuzdaki sertifikayı güvenilir bir Sertifika Otoritesi (CA) tarafından imzalanmış olarak görmek ister. Bizim amacımız en güvenli ve sorunsuz olan "Full (Strict)" moda geçmek.
Adım 1: Sunucunuza Uygun Bir SSL Sertifikası Edinmek
Sunucunuzda Let's Encrypt gibi ücretsiz ve otomatik bir sertifika yöneticisi kullanmanızı şiddetle tavsiye ederim. Benim sunucularda genelde kullandığım yöntem Certbot'tur. Aşağıdaki komutları sırasıyla çalıştırarak Nginx için sertifikanızı alabilirsiniz.
Certbot, sertifikayı otomatik olarak /etc/letsencrypt/live/alanadiniz.com/ dizinine kuracak ve Nginx konfigürasyonunuzu güncelleyecektir. Eğer Apache kullanıyorsanız, `python3-certbot-apache` paketini kurmanız gerekir.
Adım 2: Nginx/Apache Konfigürasyonunu Kontrol Etmek
Sertifika kurulduktan sonra, web sunucunuzun konfigürasyon dosyasında SSL ayarlarının doğru gösterildiğinden emin olun. Örnek bir Nginx server bloğu aşağıdaki gibi olmalı:
Bu ayarları kontrol ettikten sonra web sunucunuzu yeniden başlatmayı unutmayın.
Dikkat Edilmesi Gerekenler
Şu ayara çok dikkat etmelisiniz: Cloudflare'in "Authenticated Origin Pulls" özelliği. Bu özellik, sadece Cloudflare'in sunucunuza bağlanabilmesini sağlayan ekstra bir güvenlik katmanıdır. Eğer bu özelliği aktif ederseniz, sunucunuzda Cloudflare'in CA sertifikasını da yüklemeniz gerekir. Aksi takdirde bağlantı hatası alırsınız. Bu özelliği aktif etmeyi planlıyorsanız, Cloudflare panelinden indireceğiniz sertifikayı web sunucu konfigürasyonunuza eklemelisiniz.
Adım 3: Cloudflare Panelinde Ayarları Yapılandırmak
1. Cloudflare dashboard'unuza girin.
2. Web sitenizi seçin ve "SSL/TLS" sekmesine tıklayın.
3. "Genel Bakış" bölümünde, şifreleme modunu "Full (Strict)" olarak değiştirin.
4. "Edge Sertifikaları" bölümünde "Her zaman HTTPS kullan" özelliğini açık olduğundan emin olun.
5. (Opsiyonel) "Authenticated Origin Pulls" özelliğini açmak istiyorsanız, "Origin Server" sekmesinden aktif edip sertifikayı indirebilirsiniz.
Bu adımları tamamladığınızda, artık hem ziyaretçileriniz hem de arama motorları için tam anlamıyla güvenli bir siteye sahip olacaksınız.
Sonuç ve Performans Kazanımları
Bu yapılandırmayı yapmak, sitenizin güvenlik skorunu önemli ölçüde artırır. "Full (Strict)" mod, olası adam-ortadı (MITM) saldırılarına karşı ek koruma sağlar. Ayrıca, kendinden imzalı sertifikaların neden olduğu güvenlik uyarıları ortadan kalktığı için kullanıcı deneyimi iyileşir ve SEO açısından da olumlu bir sinyal gönderirsiniz.
İşlem bu kadar arkadaşlar. Siz bu konfigürasyonu kendi sunucularınızda nasıl yapıyorsunuz? "Authenticated Origin Pulls" kullanıyor musunuz yoksa ek yük olarak mı görüyorsunuz? Tecrübelerinizi paylaşın ya da takıldığınız bir nokta olursa aşağıya yazmaktan çekinmeyin. Hep birlikte öğrenelim.
Cloudflare'de SSL/TLS şifreleme modu olarak "Flexible", "Full" ve "Full (Strict)" seçenekleri var. "Flexible" modda, ziyaretçinizle Cloudflare arası şifreli, ama Cloudflare ile sizin sunucunuz arası şifrelenmemiş (HTTP) olur. "Full" modda ise bu bağlantı da şifrelenir, ancak Cloudflare sunucunuzdaki sertifikayı doğrulamaz. İşte burada sorun çıkıyor: Eğer sunucunuzda kendinden imzalı bir sertifika varsa, "Full" mod çalışır ama "Full (Strict)" mod hata verir. Çünkü Strict mod, Cloudflare'in sunucunuzdaki sertifikayı güvenilir bir Sertifika Otoritesi (CA) tarafından imzalanmış olarak görmek ister. Bizim amacımız en güvenli ve sorunsuz olan "Full (Strict)" moda geçmek.
Sunucunuzda Let's Encrypt gibi ücretsiz ve otomatik bir sertifika yöneticisi kullanmanızı şiddetle tavsiye ederim. Benim sunucularda genelde kullandığım yöntem Certbot'tur. Aşağıdaki komutları sırasıyla çalıştırarak Nginx için sertifikanızı alabilirsiniz.
Bash:
sudo apt update && sudo apt install certbot python3-certbot-nginx -y
Bash:
sudo certbot --nginx -d alanadiniz.com -d www.alanadiniz.com
Certbot, sertifikayı otomatik olarak /etc/letsencrypt/live/alanadiniz.com/ dizinine kuracak ve Nginx konfigürasyonunuzu güncelleyecektir. Eğer Apache kullanıyorsanız, `python3-certbot-apache` paketini kurmanız gerekir.
Sertifika kurulduktan sonra, web sunucunuzun konfigürasyon dosyasında SSL ayarlarının doğru gösterildiğinden emin olun. Örnek bir Nginx server bloğu aşağıdaki gibi olmalı:
NGINX:
server {
listen 443 ssl http2;
server_name alanadiniz.com www.alanadiniz.com;
ssl_certificate /etc/letsencrypt/live/alanadiniz.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/alanadiniz.com/privkey.pem;
# Diğer ayarlarınız...
}
Bu ayarları kontrol ettikten sonra web sunucunuzu yeniden başlatmayı unutmayın.
Bash:
sudo systemctl reload nginx
Şu ayara çok dikkat etmelisiniz: Cloudflare'in "Authenticated Origin Pulls" özelliği. Bu özellik, sadece Cloudflare'in sunucunuza bağlanabilmesini sağlayan ekstra bir güvenlik katmanıdır. Eğer bu özelliği aktif ederseniz, sunucunuzda Cloudflare'in CA sertifikasını da yüklemeniz gerekir. Aksi takdirde bağlantı hatası alırsınız. Bu özelliği aktif etmeyi planlıyorsanız, Cloudflare panelinden indireceğiniz sertifikayı web sunucu konfigürasyonunuza eklemelisiniz.
1. Cloudflare dashboard'unuza girin.
2. Web sitenizi seçin ve "SSL/TLS" sekmesine tıklayın.
3. "Genel Bakış" bölümünde, şifreleme modunu "Full (Strict)" olarak değiştirin.
4. "Edge Sertifikaları" bölümünde "Her zaman HTTPS kullan" özelliğini açık olduğundan emin olun.
5. (Opsiyonel) "Authenticated Origin Pulls" özelliğini açmak istiyorsanız, "Origin Server" sekmesinden aktif edip sertifikayı indirebilirsiniz.
Bu adımları tamamladığınızda, artık hem ziyaretçileriniz hem de arama motorları için tam anlamıyla güvenli bir siteye sahip olacaksınız.
Bu yapılandırmayı yapmak, sitenizin güvenlik skorunu önemli ölçüde artırır. "Full (Strict)" mod, olası adam-ortadı (MITM) saldırılarına karşı ek koruma sağlar. Ayrıca, kendinden imzalı sertifikaların neden olduğu güvenlik uyarıları ortadan kalktığı için kullanıcı deneyimi iyileşir ve SEO açısından da olumlu bir sinyal gönderirsiniz.
İşlem bu kadar arkadaşlar. Siz bu konfigürasyonu kendi sunucularınızda nasıl yapıyorsunuz? "Authenticated Origin Pulls" kullanıyor musunuz yoksa ek yük olarak mı görüyorsunuz? Tecrübelerinizi paylaşın ya da takıldığınız bir nokta olursa aşağıya yazmaktan çekinmeyin. Hep birlikte öğrenelim.