debian邮件服务器的ssl加密支持
debian 上的主流邮件服务器软件(如 postfix、dovecot)原生支持 ssl/tls 加密,可对 smtp、pop3、imap 等协议进行加密传输。常见端口包括:smtp 25(可升级到 tls)、smtps 465(隐式 ssl)、submission 587(starttls)、pop3s 995(隐式 ssl)、imaps 993(隐式 ssl)、imap/pop3 143/110(starttls)。这意味着你可以为外发与入站邮件、以及客户端收信提供加密通道。
快速配置示例
- 安装组件(以 postfix + dovecot 为例)
- sudo apt update
- sudo apt install postfix dovecot-core dovecot-imapd dovecot-pop3d
- 获取证书(推荐 let’s encrypt)
- sudo apt install certbot python3-certbot-postfix
- sudo certbot --postfix -d yourdomain.com
- 配置 postfix(/etc/postfix/main.cf)
- smtpd_tls_cert_file=/etc/letsencrypt/live/yourdomain.com/fullchain.pem
- smtpd_tls_key_file=/etc/letsencrypt/live/yourdomain.com/privkey.pem
- smtpd_use_tls=yes
- smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
- smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
- 配置 dovecot(/etc/dovecot/conf.d/10-ssl.conf)
- ssl = yes
- ssl_cert = </etc/letsencrypt/live/yourdomain.com/fullchain.pem
- ssl_key = </etc/letsencrypt/live/yourdomain.com/privkey.pem
- ssl_protocols = tlsv1.2 tlsv1.3
- ssl_cipher_list = high:!anull:!md5
- 使配置生效
- sudo systemctl restart postfix
- sudo systemctl restart dovecot
验证与测试
- 测试 smtp/ submission 加密
- openssl s_client -connect yourdomain.com:465 -starttls smtp
- 或测试隐式 ssl 端口:openssl s_client -connect yourdomain.com:465
- 测试 imap/pop3 加密
- openssl s_client -connect yourdomain.com:993
- openssl s_client -connect yourdomain.com:995
- 若看到握手成功与证书信息,说明 ssl/tls 配置正常。
注意事项
- 证书选择:自签名证书便于测试,但生产环境建议使用 let’s encrypt 或其他受信任 ca,避免客户端安全警告。
- 端口与加密方式:25 端口通常用于邮件中继(可 starttls),587 为提交端口(starttls),465 为 smtps(隐式 ssl);110/143 为明文端口(支持 starttls),995/993 为 pop3s/imaps(隐式 ssl)。
- 防火墙放行:确保放行 25、587、465、110、143、995、993/tcp,否则外部无法建立加密连接。
- 协议与套件:建议仅启用 tlsv1.2/1.3 与高强度密码套件,禁用过时协议与弱哈希。