IPTables 不阻止 IPStresser

IPTables 不阻止 IPStresser

我已经尝试了四天来阻止 DDoS 攻击,但没有成功。我想阻止所有未列入白名单的内容。

这是我在Centos 7操作系统上的想法:

//Delete All Existing Rules
iptables --flush

//Set Default Chain Policies
iptables -P INPUT REJECT
iptables -P OUTPUT REJECT
iptables -P FORWARD REJECT

//This is the IP i want to whitelist
//I think this line doesnt work, because i cant connect BUT...
iptables -A INPUT -i eth0 -s 180.243.22.122 -j ACCEPT

//Loop here for add desired future IP

在我的测试中,没有人可以连接到任何端口,但我可以使用任何 UDP 压力器自行进行 DDoS 攻击...为什么?

答案1

您正在使用默认策略 REJECT 主动拒绝任何连接 iptables -P INPUT REJECT

要阻止来自某个 IP 的连接,您可以在规则中使用 DROP 或 REJECT 而不是 ACCEPT:

iptables -A INPUT -i eth0 -s 180.243.22.122 -j DROP

您遇到的问题是因为您拒绝了所有连接,使用 REJECT 会向源发送 ICMP 数据包,告知它连接被拒绝。您可以改用 DROP,它不会发送响应。无法连接到任何服务的问题是由于您没有打开任何传入连接,您可以使用例如

iptables -A INPUT -p tcp --dport <port no.> -j ACCEPT
iptables -A INPUT -p udp --dport <port no.> -j ACCEPT

希望这可以帮助。

答案2

这里有三件事让我关心。

1.正如其他人提到的,您的策略设置为REJECT。甚至不确定这是否是策略的有效目标---我相信它只是一个目标扩展,但请仔细检查您的手册页。

您想要的目标是DROP。您可以从以下类似内容开始(确保你在控制台上而不是 SSH 上,因为你可能会断开连接并被锁定):

iptables -F # Clear out chains
iptables -Z # Delete user chains
iptables -X # Reset counters

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP # Do not like this, more on that in 2nd and 3rd points

2.如果您只从该 IP 地址获取连接,则处理方式INPUT应该可以正常工作。但是,由于所有数据包都经过过滤,因此建立连接时会遇到问题OUTPUT。您应该执行以下操作:

iptables -A INPUT -s 180.243.22.122 -j ACCEPT
iptables -A OUTPUT -d 180.243.22.122 -j ACCEPT

话虽如此...

3.DROP将其用作OUTPUT策略可能会产生大量意想不到的后果。例如,从存储库获取更新并导致 DNS 查询失败。坦率地说,在我看来,出口规则很少有道理。我会做以下事情:

iptables -P OUTPUT ACCEPT # Replace the other policy

# This accepts all related connections
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

这会更加理智并且不会带来太多的麻烦。


总结一下,这就是我的想法:

iptables -F # Clear out chains
iptables -Z # Delete user chains
iptables -X # Reset counters

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Accept loopback
iptables -A INPUT -i lo -p all -j ACCEPT

# Accept based on state
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# IP-based exceptions
iptables -A INPUT -s 180.243.22.122 -j ACCEPT

相关内容