Mail sunucularında TLS sertifika uyuşmazlığı, güvenli e-posta iletimi sırasında sık karşılaşılan bir sorundur.
Mail sunucularında TLS sertifika uyuşmazlığı, güvenli e-posta iletimi sırasında sık karşılaşılan bir sorundur. Bu durum, sunucunun sunduğu TLS sertifikasının, istemcinin bağlandığı hostname ile eşleşmemesi nedeniyle ortaya çıkar. Özellikle kurumsal ortamlarda, e-posta trafiğinin şifrelenmesi zorunlu hale geldiğinden, bu uyuşmazlık hem güvenlik riskleri yaratır hem de bağlantı kesintilerine yol açar. Makalede, bu sorunun nedenlerini, teşhis yöntemlerini ve pratik çözüm adımlarını detaylı olarak ele alacağız. Kurumsal mail sunucusu yöneticileri için adım adım rehberlik sağlayarak, sorunsuz bir TLS yapılandırması hedefleyeceğiz.
TLS sertifika uyuşmazlığı, genellikle sertifikanın Common Name (CN) veya Subject Alternative Name (SAN) alanlarının, mail sunucusunun FQDN’si (Fully Qualified Domain Name) ile tam olarak örtüşmemesinden kaynaklanır. Örneğin, sertifika “mail.example.com” için düzenlenmişse ancak istemci “smtp.example.com” adresine bağlanıyorsa, uyuşmazlık oluşur. Wildcard sertifikalar (*.example.com) bu sorunu kısmen çözer, ancak subdomain derinliklerinde sınırlıdır. Ayrıca, sertifika yenileme sırasında eski sertifikanın kaldırılmaması veya yanlış dosya yolunun belirtilmesi gibi yönetimsel hatalar da tetikleyici olur.
Başka bir yaygın neden, Let’s Encrypt gibi otomasyon araçlarının yanlış yapılandırılmasıdır. ACME protokolüyle sertifika yenileme sırasında challenge mekanizması başarısız olursa, eski sertifika geçersiz kalır ve yeni olan hostname ile uyumsuz hale gelebilir. Kurumsal sunucularda, load balancer veya reverse proxy’lerin araya girmesiyle sertifika zinciri bozulabilir. Bu sorunları önlemek için, sertifika başvurusundan önce hostname envanterini çıkarmak ve SAN alanlarını geniş tutmak esastır. Pratikte, OpenSSL ile sertifika detaylarını inceleyerek CN/SAN doğrulaması yapmak, sorunun kaynağını hızla belirler.
Teşhis için öncelikle openssl s_client komutunu kullanın: openssl s_client -connect mail.example.com:465 -servername mail.example.com. Bu komut, TLS handshake sırasında sertifika zincirini gösterir ve “verify return:1” yerine hata verirse uyuşmazlık doğrulanır. Çıktıda “subject=CN=yanlis.example.com” gibi bir uyumsuzluk görünürse, sorun netleşir. Ayrıca, openssl x509 -in /path/to/cert.pem -text -noout ile sertifikanın detaylarını listeleyin; CN ve SAN listesini FQDN ile karşılaştırın. Bu adımlar, 30 saniye içinde sorunu teyit eder ve loglara başvurmadan önce yol gösterir.
Postfix için /var/log/maillog dosyasını inceleyin; “certificate verification failed” veya “hostname mismatch” gibi satırlar aranır. Dovecot’ta /var/log/dovecot.log içinde “SSL: certificate subject mismatch” uyarısı belirgindir. Syslog filtreleme ile grep -i tls /var/log/maillog komutu, ilgili girdileri filtreler. İstemci tarafında Outlook veya Thunderbird loglarında “TLS handshake failed” mesajları, sunucu hatasını doğrular. Teşhis sırasında, birden fazla istemciden test yaparak sorunun sunucu kaynaklı olduğunu onaylayın; bu, ağ sorunlarını elemek için kritik bir adımdır.
Çözüme sertifika yenilemeyle başlayın. Let’s Encrypt ile certbot certonly --standalone -d mail.example.com -d smtp.example.com komutunu çalıştırarak yeni sertifika oluşturun. Ardından, Postfix’te /etc/postfix/main.cf dosyasında smtpd_tls_cert_file ve smtpd_tls_key_file yollarını güncelleyin, postfix reload ile etkinleştirin. Dovecot için /etc/dovecot/conf.d/10-ssl.conf’ta ssl_cert ve ssl_key parametrelerini ayarlayın, dovecot reload yapın. Değişiklik sonrası postfix check ve dovecot -n ile syntax doğrulaması şarttır.
Uzun vadeli çözüm için cron job ekleyin: certbot renew --quiet && postfix reload && dovecot reload. Bu scripti /etc/cron.d/letsencrypt altına yerleştirin ve haftalık çalıştırın. Wildcard sertifika için DNS-01 challenge kullanın: certbot certonly --manual --preferred-challenges dns -d *.example.com. Kurumsal ortamda, HashiCorp Vault gibi araçlarla sertifika yönetimini merkezi hale getirin; bu, birden fazla sunucuda tutarlılık sağlar ve manuel hataları minimize eder. Test için nagios veya zabbix ile TLS monitor pluginleri entegre edin.
TLS sertifika uyuşmazlığını yönetmek, mail sunucusunun güvenilirliğini artırır ve uyumluluk standartlarını (örneğin GDPR) karşılar. Düzenli denetimler ve otomasyonla, bu sorunları proaktif olarak önleyin. Uygulanan adımlar sonrası, istemci bağlantılarını izleyerek başarıyı doğrulayın; böylece kesintisiz güvenli e-posta trafiği elde edin.