Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Nginx'te SSL/TLS Performans Optimizasyonu: OCSP Stapling, Session Caching ve Modern Cipher Suites

thedevx

Üye
Katılım
14 Mart 2026
Mesajlar
3
Merhaba arkadaşlar, bugün sizlere Nginx web sunucunuzda SSL/TLS bağlantılarını hem daha hızlı hem de daha güvenli hale getirecek performans optimizasyonlarından bahsedeceğim. Bu ayarlar, özellikle yüksek trafikli sunucularda bağlantı kurulum süresini ciddi oranda kısaltır, CPU yükünüzü azaltır ve kullanıcı deneyimini artırır. Benim de canlı sunucularımda standart olarak uyguladığım bir konfigürasyon seti.

🔧 Optimizasyona Hazırlık

Öncelikle, mevcut SSL/TLS yapılandırmanızı kontrol etmek iyi bir başlangıç olur. Aşağıdaki komut ile sunucunuzun el sıkışma detaylarını ve kullandığı şifreleme paketlerini görebilirsiniz.

Bash:
openssl s_client -connect bingunluk.com:443 -servername bingunluk.com -tlsextdebug -status

Şimdi asıl işimize, yani /etc/nginx/nginx.conf veya sitenizin server{ } bloğunun bulunduğu dosyayı düzenlemeye geçelim. Tüm değişikliklerden önce yapılandırma dosyasının sözdizimini kontrol etmeyi unutmayın.

Bash:
sudo nginx -t

⚡ OCSP Stapling (Online Certificate Status Protocol) Etkinleştirme

OCSP Stapling, istemcilerin (tarayıcıların) SSL sertifikanızın durumunu doğrulamak için sertifika yetkilisine (CA) sorması gerekliliğini ortadan kaldırır. Bunun yerine, sunucunuz periyodik olarak CA'dan aldığı geçerli bir "OCSP yanıtını" istemciye kendisi iletir. Bu, bağlantı kurulum süresini önemli ölçüde kısaltır ve gizliliği artırır.

Nginx yapılandırmanızda ilgili `server` bloğuna aşağıdaki direktifleri ekleyin:

NGINX:
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/ssl/certs/your_domain_chain.pem; # CA'nın kök + ara sertifikaları
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;

Burada /etc/ssl/certs/your_domain_chain.pem dosyası, sitenizin sertifikasını veren yetkilinin (ör. Let's Encrypt) kök ve ara sertifikalarını içermeli. Genellikle `fullchain.pem` dosyası ile aynıdır. Bu dosyanın yolunu doğru belirttiğinizden emin olun.

💾 TLS Session Caching ve Ticket'ları

TLS el sıkışması işlemci yoğun bir iştir. Session caching, bir istemci aynı sunucuya tekrar bağlandığında bu maliyetli el sıkışma işlemini atlayıp önceki oturum bilgilerini yeniden kullanmasını sağlar. TLS session tickets ise bu bilgiyi sunucu yerine istemcide saklar.

Nginx'te bunu aşağıdaki gibi yapılandırabilirsiniz. Bu ayarları `http` veya `server` bloğuna ekleyebilirsiniz.

NGINX:
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_session_tickets on;
ssl_session_ticket_key /etc/nginx/ticket.key;

`shared:SSL:50m`: Tüm çalışan işlemler (worker processes) arasında paylaşılan 50 megabaytlık bir önbellek oluşturur. Bu boyut, yaklaşık 1 milyon oturumu tutabilir.
`ssl_session_timeout 1d;`: Önbellekteki oturum bilgilerinin 1 gün saklanmasını sağlar.
`ssl_session_ticket_key` için bir anahtar dosyası oluşturmanız gerekebilir. Aşağıdaki komutla oluşturabilirsiniz:

Bash:
sudo openssl rand 80 > /etc/nginx/ticket.key
sudo chmod 600 /etc/nginx/ticket.key
sudo chown nginx:nginx /etc/nginx/ticket.key

🛡️ Modern ve Güçlü Cipher Suites Kullanımı

Eski ve zayıf şifreleme paketlerini (ciphers) devre dışı bırakıp, modern, hızlı ve güvenli olanları tercih etmeliyiz. Bu, hem performans hem de güvenlik sağlar. Aşağıda, güvenlik ve uyumluluk dengesini gözeten, benim de sıklıkla kullandığım bir cipher listesi bulunuyor.

NGINX:
ssl_protocols TLSv1.2 TLSv1.3; # TLSv1.0 ve TLSv1.1'i devre dışı bırak
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_ecdh_curve secp384r1; # Daha güçlü ECDH eğrisi

Bu yapılandırma, TLS 1.2 ve 1.3'ü etkinleştirir. TLS 1.3, performans açısından devrim niteliğindedir ve Nginx 1.13.0'dan itibaren desteklenir. Cipher listesi, öncelikle hızlı ve güvenli olan AES-GCM ve ChaCha20-Poly1305'i tercih eder.

✅ Optimizasyonun Test Edilmesi

Tüm değişiklikleri yaptıktan ve Nginx'i yeniden başlattıktan sonra (`sudo systemctl reload nginx`), optimizasyonlarınızı test edebilirsiniz.

OCSP Stapling'in çalıştığını doğrulamak için:

Bash:
echo QUIT | openssl s_client -connect bingunluk.com:443 -status 2>/dev/null | grep -A 17 "OCSP response:"

Çıktıda "OCSP Response Status: successful" gibi bir satır görmelisiniz.

Ayrıca, SSL Labs testi (
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
) sunucunuzu analiz edip, OCSP Stapling, cipher suite gücü ve diğer birçok parametre için detaylı bir rapor ve not verecektir. Hedefiniz A+ olmalı.

Bu optimizasyonlar, sunucunuzun SSL/TLS katmanında gözle görülür bir performans artışı ve güvenlik iyileştirmesi sağlayacaktır. Özellikle oturum önbelleği, tekrarlayan ziyaretçiler için bağlantı süresini neredeyse sıfıra indirger.

Peki siz bu konfigürasyonu kendi sunucularınızda nasıl yapıyorsunuz? Farklı cipher listeleri veya önbellek stratejileri kullanan var mı? Deneyimlerinizi paylaşın veya takıldığınız bir nokta olursa aşağıya yazmaktan çekinmeyin.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri