首页/安全/安全加固速查/本机邮件服务与开放中继风险
服务与端口收敛50 条

本机邮件服务与开放中继风险

服务器上无意开启的 postfix/sendmail 可能配置成开放中继(被垃圾邮件利用);不需要邮件就别装,需要就锁死中继范围。

安全加固速查安全更新于 2026-10-13

服务器上的邮件服务为什么要看

安装监控、告警或应用依赖时,常常连带装上 postfix 或 sendmail,而这些服务的默认配置在特定网络环境下会变成开放中继:任何人都能借这台机器往任意地址发信。后果是 IP 声誉受损、被列入黑名单,甚至被用来投放钓鱼邮件。

基本信息

适用平台Linux(postfix、sendmail、exim 等)
相关端口25、465、587
关键配置inet_interfaces、mynetworks、relay 相关参数
基线不存在开放中继,或根本未安装邮件服务

典型使用场景

  • 最小化核查:确认服务器上是否真的需要本机邮件服务
  • 告警链路检查:应用发告警邮件时的中继范围是否受控
  • 事件排查:发现异常外发邮件后的第一时间定位
  • 合规检查:邮件服务与开放中继是常见的外部暴露面检查项

核查

核查
# 是否在监听邮件端口
ss -tlnp | grep -E ':25 |:465 |:587 '
# postfix 关键配置
postconf -n 2>/dev/null | grep -Ei 'inet_interfaces|mynetworks|relay'
# 确认服务状态与安装来源
systemctl is-active postfix sendmail exim4 2>/dev/null
rpm -q postfix 2>/dev/null; dpkg -l postfix 2>/dev/null | tail -2

关键配置读法

配置项含义风险点
inet_interfaces监听哪些地址listen 全网卡且无需对外发信时属多余暴露
mynetworks被信任的中继来源默认含本机网段,办公网会被连带信任
relayhost中继目标应指向受控的邮件网关而非直连外发
smtpd_recipient_restrictions收件人限制缺省配置过宽时可能被当成中继使用

确认是否真可被利用

  • 从外部网络连本机 25 端口,按 SMTP 会话流程尝试向外部域名投递,观察是否被拒绝
  • 核对被信任来源与收件人限制的取值:默认值常把整个本机网段列为可信来源
  • 检查本地注入路径:脚本与应用直接调用本地投递命令,这条路径不经过 25 端口
  • 查看邮件队列积压:队列异常增长往往先于外部投诉与封禁出现

相关线索读法

线索含义处置
外发日志中的收件域名本机实际投递过哪些外部域出现大量陌生外部域名说明已被利用
队列目录积压待投递邮件堆在本机先限制来源并修配置,再清理队列
服务安装来源哪个组件把它作为依赖装上确无需求则停用并卸载
监听地址范围是否绑定全网卡仅本机发信时应收敛到本地回环
开放中继会实实在在造成损失:IP 被列入黑名单后,连正常业务邮件都会发不出去,恢复申诉往往需要数天。
不需要本机发信就直接停用或卸载:很多服务器装邮件服务只是因为某个监控组件把它作为依赖,停用前确认没有本地邮件注入需求即可。
保留邮件服务时把中继指向受控邮件网关:由网关统一做身份校验与外发限制,主机侧只负责投递到网关,责任边界更清晰。
开放中继的判定要走验证流程:从外部网络连接 25 端口并尝试向外部地址投递,能成功才说明确实可被利用,不要只凭配置文件推断结论。
排查范围要覆盖三个端口:25 之外,465 与 587 若不强制认证同样可被滥用,只封一个端口得出的结论并不完整。

易错点

  • mynetworks 默认包含本机网段:跨网段办公网被信任成中继来源,风险外溢
  • 只封 25 端口不看本地注入:本地脚本仍可通过本地接口投递邮件
  • 把监听地址改成 0.0.0.0 图方便:内网任意主机都能直接投递
  • 发现中继后只清理队列:不修配置的话,几天后同样的问题会再来一次
  • 邮件服务被当作依赖装上后无人负责:监控组件引入的进程长期以默认配置运行在对外主机上

数据来源与参考

  • Postfix 官方文档:open relay 防护
  • CIS Benchmark:邮件服务条目

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌