SSL sertifika zinciri kurulumu, web sitelerinin güvenli bağlantılarını sağlamak için kritik bir adımdır.
SSL sertifika zinciri kurulumu, web sitelerinin güvenli bağlantılarını sağlamak için kritik bir adımdır. Modern tarayıcılar ve cihazlar, sunucudan gelen sertifika zincirinin tam ve doğru olmasını bekler. Eksik veya hatalı bir zincir, “güvenilir bağlantı değil” uyarılarına yol açar ve kullanıcı güvenini zedeler. Bu makalede, SSL sertifika zincirinin ne olduğunu, nasıl kurulacağını ve olası sorunları adım adım ele alacağız. Kurumsal ortamlar için pratik rehberlik sunarak, BT ekiplerinin sorunsuz bir uygulama yapmasını hedefliyoruz.
SSL/TLS sertifika zinciri, kök sertifika yetkilisi (Root CA), ara sertifika yetkilileri (Intermediate CA) ve son kullanıcı sertifikasından (End-Entity Certificate) oluşur. Root CA genellikle tarayıcılar tarafından önceden güvenilir olarak kabul edilir. Intermediate CA’lar, kök sertifikadan türetilir ve son sertifikayı imzalar. Zincir, her sertifikanın bir öncekine güvenmesini sağlar. Sertifika sağlayıcınızdan (örneğin Let’s Encrypt, DigiCert) aldığınız dosyalar arasında genellikle domain.crt (son sertifika), chain.crt (ara sertifikalar) ve bazen root.crt bulunur.
Zinciri doğru oluşturmak için dosyaları birleştirmeniz gerekir. Örneğin, chain.crt dosyasını açıp içindeki ara sertifikaları kopyalayın ve son sertifikanın altına ekleyin. Bu işlem, PEM formatında yapılmalıdır. Her sertifikanın başı —–BEGIN CERTIFICATE—– ve sonu —–END CERTIFICATE—– ile işaretlenir. Yanlış sıralama, zincir doğrulamayı bozar. Pratik olarak, bir metin editörüyle (Notepad++ gibi) dosyaları düzenleyin ve sunucuya yükleyin.
Apache’de SSL zincirini kurmak için VirtualHost konfigürasyon dosyasını (genellikle /etc/apache2/sites-available/000-default-ssl.conf) düzenleyin. SSLCertificateFile direktifiyle son sertifika ve private key’i belirtin: SSLCertificateFile /path/to/domain.crt ve SSLCertificateKeyFile /path/to/private.key. Zincir için SSLCertificateChainFile /path/to/chain.crt kullanın. Bu dosya, ara sertifikaları içermelidir. Değişiklikleri apache2ctl configtest ile test edin, ardından systemctl reload apache2 ile yeniden yükleyin. Örnek konfigürasyon:
SSLEngine on SSLCertificateFile /etc/ssl/certs/domain.crt SSLCertificateKeyFile /etc/ssl/private/domain.key SSLCertificateChainFile /etc/ssl/certs/chain.crt
Bu adımlar, Ubuntu/Debian tabanlı sistemlerde standarttır. Zinciri tek dosyada birleştirmek isterseniz, cat domain.crt chain.crt > fullchain.crt yapın ve SSLCertificateFile ile kullanın. Kurulum sonrası logları (/var/log/apache2/error.log) kontrol edin.
Nginx’te server bloğu içinde ssl_certificate direktifini kullanın: ssl_certificate /path/to/fullchain.crt; ssl_certificate_key /path/to/private.key;. Fullchain.crt, son sertifika ve zinciri birleştirilmiş hali olmalıdır. Konfigürasyon dosyası genellikle /etc/nginx/sites-available/default. nginx -t ile sintaksı doğrulayın, sonra nginx -s reload ile uygulayın. Örnek:
server {
listen 443 ssl;
ssl_certificate /etc/ssl/certs/fullchain.crt;
ssl_certificate_key /etc/ssl/private/domain.key;
}
Let’s Encrypt gibi ACME istemcileri (Certbot) otomatik fullchain oluşturur. Manuel kurulumda, zincir dosyasını doğru sırayla birleştirin: cat chain.crt domain.crt > fullchain.pem. Bu yöntem, yüksek trafikli kurumsal sitelerde performans sağlar.
Kurulumu doğrulamak için SSL Labs’ın online aracını (link vermeden) veya komut satırından openssl s_client -connect domain.com:443 -servername domain.com | openssl x509 -noout -text kullanın. Zincirin tam görünmesi gerekir. Tarayıcıda geliştirici araçlarıyla (F12 > Security) sertifika yolunu inceleyin. Yaygın sorun: Intermediate CA eksikliği. Çözüm, sağlayıcı panelinden tam zinciri indirin.
Başka bir sorun, self-signed sertifikalarla karışma. Kurumsal olarak, OV/EV sertifikaları tercih edin. Hata “ERR_CERT_AUTHORITY_INVALID” için zinciri yeniden indirin. Loglarda “unable to get local issuer certificate” arayın. Güncelleme sonrası yeniden başlatma unutulmasın. Pratik takeaway: Haftalık cron job ile zincir doğrulama scripti kurun.
SSL sertifika zinciri kurulumunu tamamladıktan sonra, siteniz HTTPS üzerinden tam güvenlik sağlar. Düzenli yenileme ve izleme ile kesintisiz hizmet sunun. Bu adımlar, kurumsal altyapılarda standartlaşma getirir ve uyumluluk sağlar. Ekibinizle paylaşarak, hızlı deployment yapın.