如何检查我的 SMTP 是否安全

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

SMTP 服务器是一项特别敏感的基础设施。
它们可以代表我们发送电子邮件,
而我们的通信对象会将其视为来自可信发件人,
因为这些邮件已通过发送服务器的正确身份验证。

SMTP 服务器是一种特别敏感的基础设施。
它们代表我们发送电子邮件,
而我们的通信对象会将其视为来自可信发件人,
因为这些邮件已通过发件人的 SMTP 服务器进行了正确的身份验证。

如果有人使用您的 SMTP 服务器会怎样?
如何检查我的 SMTP 服务器是否安全?


在互联网上使用敏感基础设施
需要采取高水平的保护措施,以防止滥用。

关键安全警报

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

安全级别较低的应用已被拦截  
Google 拦截了您尝试使用的应用,
因为它不符合我们的安全标准。[...]

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


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

若要继续使用您自己的邮件服务器
以降低被黑客攻击的风险, 您需要确认的最低要求如下:

  1. 仅接受安全认证
    用户名和密码必须通过安全连接传输,
    通常为 587 端口+TLS25 端口+TLS465 端口+SSL
    已禁用明文敏感数据通信

  2. 必须对“Mail-From”地址(发件人)进行验证,
    只有您授权的地址才能通过

  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 攻击,但可以通过进一步配置
来保护任何使用日志文件且可能遭到入侵的服务。

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