TLS trong Mail Server (Exchange, Postfix, Dovecot, Zimbra)
TLS (Transport Layer Security) là chuẩn bảo mật bắt buộc trong hệ thống mail hiện đại. Nếu không bật TLS, email có thể bị:
- Chặn hoặc đánh dấu spam bởi Gmail, Microsoft 365, Yahoo.
- Cảnh báo “Insecure connection” trên Outlook/Thunderbird.
- Vi phạm chuẩn bảo mật (PCI DSS, ISO 27001, GDPR).
Bài viết này tổng hợp cách cấu hình TLS trên bốn mail server phổ biến: Exchange, Postfix, Dovecot, Zimbra.
Microsoft Exchange
Bối cảnh
- Exchange 2013+ hỗ trợ TLS 1.2/1.3.
- Cần chứng chỉ SSL hợp lệ (SAN/Wildcard, SHA256).
Cách cấu hình
- Import chứng chỉ vào Exchange Admin Center (EAC).
- Vào Servers → Certificates → chọn cert → gán cho dịch vụ: SMTP, IMAP, POP, IIS.
- Kiểm tra với PowerShell:
Get-ExchangeCertificate | fl Services, Subject, Thumbprint
Sau đó, khi client kết nối qua STARTTLS, Exchange sẽ dùng cert này.
Postfix
Cấu hình TLS trong main.cf
smtpd_tls_cert_file=/etc/ssl/certs/mail.pem
smtpd_tls_key_file=/etc/ssl/private/mail.key
smtpd_tls_security_level=encrypt
smtpd_tls_auth_only=yes
smtpd_tls_loglevel=1
- encrypt: bắt buộc TLS cho SMTP.
- auth_only: chỉ cho phép AUTH sau khi TLS được bật.
Restart Postfix để áp dụng:
systemctl restart postfix
Dovecot (IMAP/POP3)
Cấu hình trong 10-ssl.conf
ssl = required
ssl_cert = </etc/ssl/certs/mail.pem
ssl_key = </etc/ssl/private/mail.key
ssl_min_protocol = TLSv1.2
Chỉ cho phép TLS 1.2/1.3, loại bỏ TLS 1.0/1.1 để tránh cảnh báo.
Restart Dovecot:
systemctl restart dovecot
Zimbra Collaboration Suite
Cấu hình TLS
- Upload chứng chỉ đã được CA ký (cert.pem, chain.pem).
- Deploy cert:
zmcertmgr deploycrt comm cert.pem chain.pem
zmcontrol restart
Sau khi restart, Zimbra sẽ dùng cert mới cho SMTP, IMAP, POP3, HTTPS (Webmail).
Best Practices TLS cho Mail Server
- Chứng chỉ SSL
- Luôn dùng SHA256, RSA ≥ 2048 hoặc ECC P-256/P-384.
- Ưu tiên CA uy tín (DigiCert, GlobalSign, Sectigo).
- TLS Policy
- Chỉ bật TLS 1.2 và TLS 1.3.
- Disable SSLv3, TLS 1.0, TLS 1.1.
- STARTTLS bắt buộc
- Với Postfix/Dovecot: smtpd_tls_security_level=encrypt.
- Với Exchange/Zimbra: gán cert cho tất cả service.
- Kiểm tra định kỳ
- Dùng OpenSSL:
openssl s_client -connect mail.example.com:587 -starttls smtp -
Dùng SSL Labs Mail Test.
- Dùng OpenSSL:
- Monitoring & Alerting
- Cảnh báo trước khi cert hết hạn (Zabbix, Nagios, Prometheus).
- Audit TLS config định kỳ.
Kết luận
- Exchange: import cert vào EAC và gán cho SMTP/IMAP/POP/IIS.
- Postfix: bật TLS trong main.cf.
- Dovecot: yêu cầu TLS với ssl = required.
- Zimbra: deploy cert với zmcertmgr.
Dù là Exchange hay Linux mail server, nguyên tắc chung: chứng chỉ hợp lệ, TLS ≥ 1.2, STARTTLS bật, và giám sát vòng đời cert.


