我运行一个通过smtp.mailgun.org发送电子邮件的服务器。我锁定了服务器,使其只允许从端口587到smtp.mailgun.org上的传出SMTP。
这个域名的IP地址最近改变了,因此我的系统停止发送电子邮件。作为试图找出停止工作的原因之一,我意识到在iptables规则中使用域名的缺点,以及在运行规则并在规则创建时保存IP地址时iptables进行查找的事实,因此域中的IP地址更改没有反映在iptables中。
在mailgun的状态页面上,他们说
我们的基础设施升级将导致将来更频繁地更改这些IP地址,客户应该确保在连接到Mailgun服务时,他们只使用我们支持的主机名。
我没有收到IP地址更改的通知,也不知道将来是否会被通知更改地址。
处理这种情况的最好方法是什么?我是否应该编写一个脚本,定期检查smtp.mailgun.org的IP地址,并在其更改时更新iptables?(我知道这样做会带来安全风险,但也许值得承担这些风险)。
发布于 2016-11-15 01:56:16
快速查看一下smtp.mailgun.org的当前IP地址就会发现,它们都在Amazon上。您应该期望这些代码经常更改,因此在防火墙中对它们进行硬编码最多也是很棘手的。即使使用动态脚本,您也很可能丢失发送出去的邮件,因为IP地址可能会发生变化,并且您将在脚本的下一次运行之前发送邮件。这就是所谓的种族状况。除了重新设计你没什么可以做的,这就是我的建议.
至于出口防火墙,我真的不太关心出口到587港口的交通问题。无论如何,所有这些通信量都必须通过远程邮件服务器进行身份验证,所以这对我来说并不重要。对于邮件,我担心发送到端口25的流量;如果您正在使用像mailgun这样的服务,就不应该有这样的通信量,如果存在,几乎可以肯定是因为您已经被破坏了。
你可以考虑的一些事情是:
-m owner匹配。)这进一步降低了风险,规定只有web应用程序的用户才能启动这样的流量。请注意,如果您这样做,其他用户将无法进行此传出连接,甚至连根用户也不能(但root用户可以更改防火墙规则以使其成为可能)。https://serverfault.com/questions/814899
复制相似问题