如何检查我的 SMTP 服务器是否安全

随着2020 年代勒索软件攻击的日益增多,作为我们在互联网上的主要通信渠道的电子邮件安全吗?

SMTP 服务器是极其敏感的基础设施。
它们可以代表我们发送电子邮件,
而我们的收件人会认为这些邮件来自可信发件人,
因为它们已经过发送服务器的正确身份验证。

SMTP 服务器是极其敏感的基础设施。
它们代表我们发送电子邮件,
我们的收件人会认为这些邮件来自可信的发件人,
因为它们已经过发件人的 SMTP 服务器的正确认证。

如果其他人使用我的SMTP服务器会发生什么?
如何检查我的SMTP服务器是否安全?


在互联网上使用敏感基础设施
需要高度保护,以防止滥用。

紧急安全警报

如果您尝试通过 smtp.gmail.com 发送邮件,
您将被阻止并收到此“严重安全警报”:

安全性较低的应用已被阻止。谷歌已阻止您尝试使用的应用,因为它不符合我们的安全标准。[...]

唯一的替代方案是使用 OAuth2,该协议不共享密码数据
,而是使用授权令牌来证明身份。


互联网上最常用的邮件服务器(2021年8月数据)是:
Exim(58%)、Postfix(35%)、Sendmail(4%)。

为了继续使用您自己的邮件服务器
并降低被黑客攻击的风险,需要检查的最低要求如下:

  1. 仅接受安全身份验证,
    用户名和密码必须通过安全连接传输,
    通常使用端口 587+TLS 端口 25+TLS 端口 465+SSL。
    明文敏感数据通信将被禁用。

  2. 必须对“发件人”地址(发件人)进行核查,
    只有您授权的人才能通过。

  3. 配置 Fail2ban 以阻止所有外部攻击
    ,防止试图强制解除您的防护措施。
    特别是,Fail2ban 应阻止所有重复尝试:

  • 使用错误的用户名或密码登录
  • 使用未经授权的发件人发送电子邮件
  • 在身份验证过程中中断 SMTP 连接
    (多个断开的连接会导致合法用户无法使用 SMTP 服务)

封禁通常会在尝试 3 到 10 次后发生
,并将源 IP 地址封禁 3 到 24 小时。

测试这些要点非常容易,可以确定
您的 SMTP 基础架构是否需要安全升级。


Fail2ban 可以保护您的服务器免受暴力破解/DDoS 攻击。
它的工作原理就像陌生人敲门,
一定次数后,门就会消失一样。

Fail2ban 标志

来自Hacker News的证词:

我管理自己的邮件服务器好几年了,我想这里很多人也用过 Mail-in-a-box、Mailcow、Mailu 之类的解决方案。在新冠疫情之前,我的邮件服务器一直没出过什么大问题,但最近几周流量突然暴增——服务器不堪重负,我不得不每次都手动重启……[...] 编辑:我修改了 fail2ban 的设置,发现我的主要攻击目标是暴力破解攻击,而 fail2ban 之类的工具应该可以有效防御这类攻击。

Fail2ban 是一款日志解析应用程序,用于监控系统日志,
查找自动化攻击的迹象。

当检测到滥用行为时,
Fail2ban 会根据预设参数,在防火墙(iptables 或 firewalld)中添加一条新规则,
以阻止攻击者的 IP 地址,阻止期限可设置为设定的时间段,也可设置为永久阻止。Fail2ban
还可以通过电子邮件提醒您攻击正在发生。

Fail2ban 主要针对 SSH 攻击,但也可以进一步配置
为适用于任何使用日志文件且可能受到攻击的服务。

它应用广泛。在谷歌上搜索一下,很容易找到
保护邮件服务器的配置示例。