E-posta trafiği üç noktada şifrelenir: kullanıcı ile sunucu arasında (gönderim ve okuma), sunucudan sunucuya iletim sırasında ve posta kutusu web arayüzünde. Her birinin portu, protokolü ve sertifika gereksinimi farklıdır.
Portlar ve şifreleme modları
| Port | Kullanım | TLS modu |
|---|---|---|
| 25 | Sunucular arası SMTP | STARTTLS (fırsatçı) |
| 587 | İstemci gönderimi (submission) | STARTTLS |
| 465 | İstemci gönderimi | Örtük TLS |
| 993 | IMAP | Örtük TLS |
| 995 | POP3 | Örtük TLS |
Sertifika gereksinimleri
- İstemcilerin ayarladığı sunucu adı (örn.
mail.ornek.com) sertifikanın SAN alanında bulunmalı. Adres uyuşmazlığı istemcide uyarıya yol açar. - Ara sertifikalar eksiksiz sunulmalı; posta istemcileri tarayıcılar kadar eksik zinciri tolere etmeyebilir.
- Birden çok hizmet (web, SMTP, IMAP) aynı sertifikayı kullanıyorsa adın hepsini kapsaması için çok alan adlı veya wildcard sertifika düşünülebilir.
Postfix ve Dovecot örneği
# Postfix main.cf
smtpd_tls_cert_file = /etc/ssl/mail/fullchain.pem
smtpd_tls_key_file = /etc/ssl/mail/privkey.pem
smtpd_tls_security_level = may
smtpd_tls_mandatory_protocols = >=TLSv1.2
# Dovecot 10-ssl.conf
ssl = required
ssl_cert = </etc/ssl/mail/fullchain.pem
ssl_key = </etc/ssl/mail/privkey.pem
ssl_min_protocol = TLSv1.2
Test etme
openssl s_client -connect mail.ornek.com:993 -servername mail.ornek.com
openssl s_client -connect mail.ornek.com:587 -starttls smtp
Çıktıdaki Verify return code: 0 (ok) satırı zincirin doğrulandığını gösterir.
Sık sorunlar
- Sertifika yenilendi ama Postfix/Dovecot yeniden yüklenmedi; eski sertifika sunulmaya devam eder.
- Kimlik bilgileri hâlâ 110/143 gibi şifresiz portlardan gönderiliyor.
- Posta sunucusu adı ile sertifika adı farklı.
Sertifikayı SSL Checker ile kontrol edebilirsiniz. Özetle doğru port, eşleşen ad ve güncel protokol ayarları e-posta güvenliğinin temelidir.