允许从私有地址块进行 SMTP 中继时的安全性

允许从私有地址块进行 SMTP 中继时的安全性

允许SMTP Relay从是否安全private address blocks

  • 10.0.0.0/8
  • 127.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

我的直觉是,这可能没问题,但我不确定这是否会让我的服务器容易受到攻击或类似攻击。基本上,一些黑帽会应用一些聪明的技巧,欺骗我,让我以为它已经收到了来自 的信封,从而有效地将其转变为开放中继,IP-forgery这种可能性有多大?MTAprivate address block

我的MTA在 内运行docker container,所以我担心所有连接(包括来自远程服务器的连接)都将被视为本地连接。但是,您可以从以下日志条目中看到 能够MTA确定传入连接是远程的:

SMTP connection from [xxx.yyy.39.83]:43108 I=[172.18.0.2]:25 (TCP/IP connection count = 1)

一般来说,MTA他们是如何收集这些信息的,是从连接中获取TCPSMTP headers还是从中间获取?

答案1

更安全的设置是通常阻止未经身份验证的 SMTP,仅将那些无法身份验证的少数服务列入白名单 - 现在应该没有或几乎没有。

答案2

MTA 允许中继使用的 IP 地址通常取自 TCP 会话。在这种情况下(TCP 和现代系统),除非伪造者能够访问您和远程 IP 之间的网络基础设施,否则这些地址实际上是不可伪造的。但是您应该注意:

  • 正如 Mikael H 所说,您应该考虑经过验证的 SMTP。
  • 某些网络负载均衡器(例如 ELB)会将 TCP 源地址重写为其自己的地址。在这种情况下,您需要确保您的 MTA 和负载均衡器就如何传达真实的外部 IP 达成一致(搜索ELB Postfix "Proxy protocol",这将是您的“中间”)。
  • 如果您真的决心跨越所有 T,您可能需要限制私有地址进入您的网络和/或将白名单限制为您实际正在使用的 IP。

相关内容