我想在我的 smtp 服务器上将一个 IP 地址列入白名单,以便可以路由来自该 IP 的连接上的未经身份验证的电子邮件。我控制着其他 IP,所以我可以确保只有我想从它发出的电子邮件才会来自它,而不是其他任何东西。
如果我这样做,有人可以利用此设置,伪造传入的 IP 地址并将我的 smtp 服务器用作开放中继吗?
两台服务器之间存在“开放互联网”。
我想在我的 smtp 服务器上将一个 IP 地址列入白名单,以便可以路由来自该 IP 的连接上的未经身份验证的电子邮件。我控制着其他 IP,所以我可以确保只有我想从它发出的电子邮件才会来自它,而不是其他任何东西。
如果我这样做,有人可以利用此设置,伪造传入的 IP 地址并将我的 smtp 服务器用作开放中继吗?
两台服务器之间存在“开放互联网”。
IP 欺骗是用于伪造 IP 地址的术语,但是通过 SMTP 连接很难实现,因为它需要已建立的 TCP 连接。当您不需要流量返回发送主机时,IP 地址欺骗可作为一种攻击。打个比方,如果我寄一封信到一个地址不是我的回信地址,我将不会得到任何回复——它将被发送到信上的回信地址。如果我伪造退货地址,我将无法与任何人建立联系。
SMTP 使用 TCP,该协议在两台主机之间建立连接并控制它们之间的信息流。尝试使用欺骗 IP 地址建立连接的系统将无法建立 TCP 连接,因为来自其他主机的数据包将被路由到实际拥有该 IP 地址的服务器。
如果有人能够将自己插入两个真实服务器之间的网络中的某个点,他们可以使用网络地址转换来更改来自他们控制的服务器的数据包的源 IP 地址并建立 TCP 连接,但是这是非常复杂且极不可能。在任何情况下,您都可以通过使用公钥/私钥对来验证发送主机来解决这个问题。您无需担心有人欺骗了您的电子邮件服务器的 IP 地址。
是的,
这称为IP 欺骗
引用自维基百科:
在计算机网络中,IP 地址欺骗或 IP 欺骗是使用伪造的源 IP 地址创建 Internet 协议 (IP) 数据包,其目的是隐藏发送者的身份或冒充另一个计算系统
当然,您可以重放数据包在邮件服务器上发起 DDOS,但回复数据包永远不会到达源头,因此完整的 TCP 连接将无法正常工作(除非攻击者位于您和被欺骗 ip 的真实位置之间的一个路由器中。 )。
但在其他方面,也可以在邮件标头中欺骗 IP,请参阅来自同一来源的第二条引用:
欺骗一词有时也用于指伪造标题,即在电子邮件或网络新闻标题中插入虚假或误导性信息。伪造的标头用于误导收件人或网络应用程序,以了解消息的来源。这是垃圾邮件发送者和垃圾邮件发送者的常用技术,他们希望隐藏其消息的来源以避免被追踪。
因此,针对邮件伪造的 IP 欺骗处于不同的级别,但也可能如此。
您似乎正在尝试使用 IP 地址作为身份验证手段。正如 GdD 所说,IP 欺骗是可能的——但实际上,在互联网上很难做到。
防火墙级别的限制有利于减少鼻子,但实际上您可能应该实施更具体的控制和额外的控制层。但是层数越多,更改/扩展安全控制的任务就越复杂。此外,基于远程 IP 地址的访问意味着控件仅适用于固定 IP 地址。
根据实际需要多少安全性以及您未来的需求可能是什么,我建议您考虑使用带有客户端证书的 VPN 或 SSL,这些证书可以处理 NAT 并提供基本身份验证 - 和/或使用 SMTP AUTH。
如前面的答案所述,如果 IP 被欺骗,您将无法进行有意义的 SMTP 对话,因为 SMTP 是一种来回交换。
但是,我想知道如果您的服务器支持 PIPELINING ( http://tools.ietf.org/rfc/rfc2920.txt ),这是否仍然适用?
在该模式下,一次发送所有命令以减少网络延迟对多步对话的影响。
在您的场景中可能有一种方法可以利用它。