我有一台正在运行的 Linux 机器,其本地 IP 为:192.168.1.2,连接到公网 IP 为 8.8.8.8 的路由器,现在路由器 8.8.8.8 的 DMZ 为 192.168.1.2
结果,垃圾邮件发送者、黑客、破解者会使运行 H.323 协议或 SIP 协议的 192.168.1.2 崩溃。
我如何在路由器中或路由器后面放置一个公共 IP 白名单来防止此类攻击?(Linux 机器不是开源的,我无权在其上放置 iptables)
答案1
如果您可以在路由器上运行 iptables,则默认删除向外接口上传入的所有内容,然后添加例外:
您描述的一个简单示例,假设 eth1 是面向外的设备:
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -j DROP
iptables -I FORWARD -i eth1 -s 123.123.123.123 -j ACCEPT
iptables -I FORWARD -i eth1 -s 123.124.0.0/16 -j ACCEPT
这些行的含义如下:
- 允许已担保的流量,例如对您自己的查询的响应
- 放下一切
- 允许 IP
123.123.123.123
- 允许整个子网
123.124.xxx.xxx
请注意第 3 行和第 4 行中-I
的 而不是-A
。这意味着该规则应该放在列表的第一位,而不是将其附加在后面。
如果您需要在 Linux 机器上运行此程序,则同样可以工作,但您需要用 替换FORWARD
,INPUT
这样您就可以跳过输入界面。此外,您可能希望添加一条ACCEPT
规则,192.168.1.0/24
因为您的 LAN 很可能是值得信赖的。