我想只允许来自 CloudFlare 的 HTTP(S) 流量。这样攻击者就无法直接攻击服务器。我知道 CloudFlare 的主要作用并不是缓解 DDoS 攻击,但无论如何我都想尝试一下。
我目前只能访问 iptables(仅限 ipv4),但很快就会尝试安装 ip6tables。我只需要尽快修复这个问题。(我们现在正在遭受 (D)DoSed。)
我在想这样的事情:
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
我知道 CloudFlare 有多个 IP,但仅仅作为示例。
这是正确的方法吗?
答案1
是的,这样可行。您也可以使用 ! 进行否定,如下所示:
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