iptables - 删除所有 HTTP(S) 流量,但来自 CloudFlare

Mar*_*tin 3 http iptables ddos block cloudflare

我想只允许来自 CloudFlare 的 HTTP(S) 流量。这样攻击者就不能直接攻击服务器。我知道 CloudFlare 主要不是 DDoS 缓解器,但我想尝试两种方法。

我目前只能访问 iptables(仅限 ipv4),但很快就会尝试安装 ip6tables。我只需要尽快解决这个问题。(我们正在收到(D)DoSed atm。)

我在想这样的事情:

iptables -I INPUT -s <CloudFlare IP> --dport 80 -j ACCEPT
iptables -I INPUT -s <CloudFlare IP> --dport 443 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j DROP
iptables -I INPUT -p tcp --dport 443 -j DROP
Run Code Online (Sandbox Code Playgroud)

我知道 CloudFlare 有多个 IP,但仅举个例子。

这是正确的方法吗?

小智 5

是的,那会奏效。你也可以使用!像这样否定:

iptables -I INPUT ! -s <cloud_flare ip> -p tcp --dport 80 -j DROP
iptables -I INPUT ! -s <cloud_flare ip> -p tcp --dport 443 -j DROP
Run Code Online (Sandbox Code Playgroud)