使用白名单全面阻止 SMTP

使用白名单全面阻止 SMTP

因此,使用 VPS 环境时,我们需要默认阻止出站 SMTP(垃圾邮件发送者),并能够在需要时取消阻止。

我们找到了一些脚本,例如:

iptables -I FORWARD 1 -d $VPS_IP -p tcp -m tcp --dport 25 -j DROP
iptables -I FORWARD 1 -s $VPS_IP -p tcp -m tcp --dport 25 -j DROP

iptables -I FORWARD -p tcp --sport 25 -j DROP
iptables -I FORWARD -p tcp --dport 25 -j DROP

然而,通过第一组控制阻止效率很低,尤其是当 IP 范围可能发生变化时。

那么问题是,如果我们使用 set 2(空白块),我们如何允许某些 IP?我猜我们需要在 OUTPUT 链中添加一些东西,但是毯子块不会首先被处理吗?或者,如果我们添加到 FORWARD,因为它们位于链的更下游,那么毯子块不会先行吗? ETC..

iptables -L 看起来像:

[root@server ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
SOLUSVM_TRAFFIC_IN  all  --  anywhere             anywhere
SOLUSVM_TRAFFIC_OUT  all  --  anywhere             anywhere
       all  --  somedomain  anywhere
       all  --  anywhere             somedomain  

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain SOLUSVM_TRAFFIC_IN (1 references)
target     prot opt source               destination
       all  --  anywhere             somedomain  

Chain SOLUSVM_TRAFFIC_OUT (1 references)
target     prot opt source               destination
       all  --  somedomain    anywhere

非常感激! (如果没有得到答复,将在编码员上发布招聘职位或其他内容)

答案1

可以使用插入命令在阻止规则之前添加规则。但是,应该只有 1 台或可能 2 台服务器向 Internet 发送电子邮件。如有必要,请在您的主机上添加防火墙规则,以仅允许其邮件服务器发送电子邮件。这应该会禁用机器人,或者至少提供记录和跟踪问题的能力。

我建议您设置一台外发邮件服务器并阻止所有其他服务器向互联网发送电子邮件。使用该邮件服务器作为网络中所有主机的传出 MTA(邮件传输代理)。使用 rDNS、SPF 等对其进行正确配置。不发送电子邮件的域应具有包含“-all”策略的 SPF 记录。请参阅我的笔记使用 SPF 保护您的电子邮件信誉。

配置您的电子邮件服务器以限制您将代表哪些域发送邮件。我发现 Exim 的 ACL 功能对此非常有效。您可能还需要安装限制规则以防止大量传出电子邮件。

相关内容