Ubuntu sunucunuzda aaPanel’in kendi mail özelliğini kullanıyorsanız bazı SMTP istemcilerinde SSL hatası alabilirsiniz. Gmail’e maillerinizi bağlarken 25 portu ile bu sorunu çözebilirken Outlook, Thunderbird istemcilerinde ve WordPress sitenizde kullandığınız WP Mail SMTP gibi eklentilerde SSL sorunu yaşayabiliyorsunuz.
Bunun nedeni aslında aaPanel mail sunucunuza SSL tanımlasa da sertifika zincirinin eksik olmasından dolayı bazı istemcilerde sorun olabiliyor. Bu sorun aaPanelin 7.0.15 sürümünde var. Farklı bir sürüm kullanıyorsanız bu çözüm işinize yaramayabilir. Ayrıca aşağıdaki Bash komuttları Ubuntu 22.04 için geçerlidir, farklı bir Linux işletim sistemi yada Ubuntu sürümü kullanıyorsanıza çalışmayabilirler. Rehberimize geçebiliriz artık.
aaPanel TLS Sertifika Sorunu ve Çözüm Rehberi
Sorun
Postfix, Let’s Encrypt ile alınan sertifikaları kullanarak TLS bağlantısı yaparken aşağıdaki sorunlarla karşılaşıyor:
- TLS Handshake Başarısızlığı: OpenSSL testi ile kontrol edildiğinde, “unable to verify the first certificate” veya “verify error: self signed certificate in certificate chain” gibi hataları görebilirsiniz.
- Eksik Sertifika Zinciri: Postfix istemcilere tam sertifika zincirini sunmadığı için, karşı sunucular sertifikayı doğrulamayamayabilir.
- SNI (Server Name Indication) ile Çakışma: Postfix’in SNI desteğini sağlamak için kullanılan
vmail_ssl.map
ayarları bazı durumlarda çakışmalara neden olabilir.
Çözüm
Sorunu çözmek için aşağıdaki adımları uygulayabilirsiniz:
1. Doğru Sertifika Dosyalarını Kullan
Öncelikle, Postfix’in doğru sertifika dosyalarını kullandığından emin olmalısınız. Let’s Encrypt sertifikalarının bulunduğu dizine gidin ve aşağıdaki iki dosyanın doğru olduğundan emin olun:
- Full Chain Sertifikası:
fullchain.pem
(Tüm sertifika zinciri) - Özel Anahtar:
privkey.pem
Postfix ana yapılandırma dosyasına (/etc/postfix/main.cf
) aşağıdaki satırları ekleyerek veya düzenleyerek doğru sertifikaları kullandığından emin olun:
smtpd_tls_cert_file = /www/server/panel/vhost/letsencrypt/mail.siteadresiniz.com/fullchain.pem smtpd_tls_key_file = /www/server/panel/vhost/letsencrypt/mail.siteadresiniz.com/privkey.pem
2. SNI Haritasını (vmail_ssl.map) Yeniden Düzenle ve Güncelle
SNI kullanıyorsanız, harita dosyanın (/etc/postfix/vmail_ssl.map
) doğru yapılandırıldığını ve hash dosyasının güncellendiğini doğrulayın:
postmap /etc/postfix/vmail_ssl.map systemctl restart postfix
Eğer SNI haritası soruna neden oluyorsa, test amaçlı olarak smtpd_tls_cert_file
ve smtpd_tls_key_file
ayarlarını doğrudan main.cf
içine yazarak Postfix’i yeniden başlatın:
systemctl restart postfix
Bu şekilde sertifikaların düzgün yüklendiğini doğrulayın. Eğer sertifikalar artık çalışıyorsa, SNI haritasında hata olabilir.
3. Sertifika Dosyalarının Okuma Yetkisini Kontrol Edin
Postfix’in sertifikaları okumasına izin verildiğinden emin olun:
chown root:root /www/server/panel/vhost/letsencrypt/mail.siteadresiniz.com/* chmod 644 /www/server/panel/vhost/letsencrypt/mail.siteadresiniz.com/fullchain.pem chmod 600 /www/server/panel/vhost/letsencrypt/mail.siteadresiniz.com/privkey.pem
4. OpenSSL ile Test Edin
Değişikliklerden sonra TLS bağlantısını test etmek için aşağıdaki komutu çalıştırın:
openssl s_client -connect mail.siteadresiniz.com:25 -starttls smtp
Çıktıda aşağıdaki bilgileri kontrol edin:
Certificate chain
içinde iki sertifika bloğu olmalı (Let’s Encrypt root sertifikası ve site sertifikası).Verify return code: 0 (ok)
yazmalı.
5. Postfix’i Yeniden Başlatın
Yapılandırma değişikliklerinden sonra Postfix’i yeniden başlatın:
systemctl restart postfix
Bu adımları uyguladıktan sonra Postfix artık TLS bağlantısı için doğru sertifikaları kullanıyor ve sertifika zinciri eksiksiz olarak istemcilere sunuluyor olmalı. Hata aldığınız istemcilerde tekrar deneme yapabilirsiniz.
Sorununuz çözülmezse yorum kısmında bana yazabilirsiniz. Size yardımcı olmaya çalışırım.
Siz de fikrinizi belirtin