温馨提示×

Debian邮件服务器的SSL证书如何安装

小樊
44
2025-12-13 08:33:22
栏目: 云计算

Debian邮件服务器SSL证书安装指南

一 准备与获取证书

  • 准备:确保域名解析正确,且防火墙放行用于签发与验证的端口(如 80/443),以便 Certbot 完成域名所有权验证。
  • 安装工具:在 Debian 上安装 Certbot
  • 获取证书(Standalone 方式,不与现有 Web 服务冲突):
    sudo apt update
    sudo apt install certbot
    sudo certbot certonly --standalone -d mail.example.com -d example.com
    mail.example.com 替换为你的邮件服务器域名。证书默认位于 /etc/letsencrypt/live/mail.example.com/,包含 fullchain.pemprivkey.pem

二 配置 Postfix 使用证书

  • 推荐启用 TLS 并指定证书路径(Postfix ≥2.3 常用参数):
    sudo nano /etc/postfix/main.cf
    追加或修改:
    smtpd_tls_security_level = may
    smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
    smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.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
  • 可选:使用 Certbot 提供的 Postfix 参数片段(若存在):
    sudo postmap /etc/letsencrypt/options-ssl-postfix.conf
  • 使配置生效:
    sudo systemctl restart postfix
  • 说明:若你此前使用独立端口 SMTPS(465),可在 /etc/postfix/master.cf 中启用相应服务并设置 smtpd_tls_wrappermode=yes

三 配置 Dovecot 使用证书

  • 启用 SSL 并指向同一证书(Dovecot 常用配置):
    sudo nano /etc/dovecot/dovecot.conf 或 /etc/dovecot/conf.d/10-ssl.conf
    设置:
    ssl = yes
    ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
    ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
    ssl_protocols = TLSv1.2 TLSv1.3
    ssl_cipher_list = HIGH:!aNULL:!MD5
  • 使配置生效:
    sudo systemctl restart dovecot

四 验证与防火墙

  • 验证 SMTP Submission/TLS:
    openssl s_client -connect mail.example.com:465 -starttls smtp
    若看到握手与证书信息,说明 465/SMTP Submission 正常。
  • 验证 IMAPS:
    openssl s_client -connect mail.example.com:993
  • 防火墙放行(示例 UFW):
    sudo ufw allow 25/tcp
    sudo ufw allow 465/tcp
    sudo ufw allow 143/tcp
    sudo ufw allow 993/tcp

五 自动续期与常见问题

  • 自动续期:
    sudo certbot renew --dry-run
    若无报错,Certbot 将自动续期;证书续期后,Postfix/Dovecot 会加载新证书(必要时执行 systemctl reload)。
  • 常见问题与建议:
    • 证书路径务必使用 /etc/letsencrypt/live/你的域名/fullchain.pemprivkey.pem,避免仅使用 cert.pem 导致链不完整。
    • 若使用 Nginx/Apache,也可用 –nginx/–apache 插件获取证书,再在邮件服务中手动配置证书路径。
    • 若端口 80/443 被占用,改用 –standalone 或临时停用占用服务进行签发。
    • 避免使用自签名证书用于公网收信,部分服务器会拒收或降低评分。

0