有没有办法阻止从一组特定的IP地址到Google Cloud的传入连接?
我们公司的网站托管在GCE上,我想阻止目前正在抓取我们网站的几个IP地址。我无法在"防火墙"中找到任何选项。 GCE控制台中的部分。
谢谢! 亚历
答案 0 :(得分:3)
GCE中的防火墙用于“允许”'传入的流量,不幸的是不能用于创建'阻止'规则。总之,默认情况下几乎所有内容都被阻止,您需要创建规则以允许传入流量。
相反,您可以在VM本身上使用防火墙。例如,如果您正在运行Linux实例,则可以查看iptables
。 Here's a Wikipedia article就此而言,但我强烈建议您浏览手册页以获取详细信息。这样,您可以创建一个规则来阻止一个特定的IP地址,例如。
答案 1 :(得分:0)
现在可以阻止来自 VPC网络>下的特定IP地址集的传入流量。 Google Cloud Platform控制台中的防火墙规则。这意味着您可以将一个阻止规则应用于同一VPC网络上的所有GCE实例。
这是我用来阻止来自特定IP地址集的所有流量的阻止规则设置:
优先级: 900(需要的数字低于允许规则,以便在匹配被阻止的IP地址时覆盖允许规则)
方向: Ingress
对比赛的行动:拒绝
来源过滤器 IP范围:以逗号分隔的IP地址或IP范围列表
协议和端口:拒绝所有
执行:已启用
答案 2 :(得分:0)
在Linux上,最有效的阻止方法是使用ipset,它比使用iptables更快。
命令:
sudo ipset -N BLOCK nethash
sudo ipset -q -A BLOCK 35.192.0.0/12
sudo ipset -q -A BLOCK 35.208.0.0/12
sudo ipset -q -A BLOCK 35.240.0.0/13
sudo ipset -q -A BLOCK 35.224.0.0/12
sudo ipset -q -A BLOCK 35.184.0.0/13
sudo iptables -A INPUT -m set --match-set BLOCK src -j DROP
据我所知,这些是撰写本文时Google Cloud的IP范围。您可以通过WHOIS检查它们;尽管我认为唯一可能发生的变化是添加了更多的IP,而不是当前的IP。