代码之家  ›  专栏  ›  技术社区  ›  joaomgcd

阻止IP访问Google Compute Engine实例

  •  1
  • joaomgcd  · 技术社区  · 10 年前

    我正在尝试阻止某个IP地址或范围,以访问我的WordPress服务器,该服务器配置在我的Google Compute Engine服务器上。

    我知道我可以通过Apache阻止它,但即使我这样做了,我的access_logs仍然会被来自这个IP的请求的403个错误填满。

    有没有办法完全阻止IP,甚至不让它到达Apache?

    提前感谢您的帮助。

    6 回复  |  直到 10 年前
        1
  •  2
  •   E. Anderson    10 年前

    如果您想阻止单个IP地址,但允许所有其他流量,最简单的选择可能是使用 iptables 在主机上。这个 GCE firewall rules 设计用于控制哪些IP地址可以到达您的实例,但允许互联网上的所有内容(除了一个地址)可能会令人讨厌。

    block a single IP address with iptables :

    iptables -A INPUT -s $IP_ADDRESS -j DROP
    

    或者只是丢弃HTTP(但不是HTTPS或其他协议):

    iptables -A INPUT -s $IP_ADDRESS -p tcp --destination-port 80 -j DROP
    

    请注意,无论哪种情况,您都需要以root身份运行上述命令。

        2
  •  0
  •   George    10 年前

    默认情况下,除允许访问的端口和IP范围外,所有进入GCE的流量都被阻止。GCE防火墙不支持允许除特定IP或一系列IP地址之外的所有连接。作为一种变通方法,您可以设置负载平衡器,只允许从LB IP地址到实例的传入流量。你可以在这里了解更多信息 Help Center article .

        3
  •  0
  •   Shubham Mathur    10 年前

    是的,你可以使用Gcloud防火墙阻止它。

    尝试从命令行或登录Google Cloud创建防火墙规则。

    例子:

    gcloud compute firewall-rules create tcp-deny --network example-network --source-ranges 10.0.0.0/8 --deny tcp:80
    

    上述规则将阻止10.0.0.0/8到端口80(tcp)的范围。 同样可以通过tcp和udp阻止其他IP范围。

    有关更多信息,请查看: glcoud network config

        4
  •  0
  •   Francisco Ortiz    10 年前

    这里是Bitnami开发者

    如果您想阻止某个IP,可以使用 iptables 正如这篇文章所指出的。

    此外,如果你想拥有 iptables(iptables) 重新启动计算机时,规则处于活动状态,您必须执行以下操作:

    sudo su iptables-save > /opt/bitnami/iptables-rules crontab -e

    现在编辑文件并在结尾处包括这一行:

    @reboot /sbin/iptables-restore < /opt/bitnami/iptables-rules

    这样,在每次启动时,系统都会加载iptables规则并应用它们。

        5
  •  0
  •   Jackie Han    8 年前

    为了阻止冒犯的IP,有一些不同级别的方法可以做到这一点。从性能角度来看,通常:

    网络防火墙>VM iptables>VM web服务器>VM应用程序。

    1. 谷歌云已经免费内置防火墙。

    例如,这个gcloud命令创建一个可以阻止1个或多个ips的防火墙规则。

    gcloud compute --project=your-project-id firewall-rules create your-firewall-rule-name --direction=INGRESS --priority=900 --network=default --action=DENY --rules=all --source-ranges=ip1,ip2,ip3…
    

    命令参数参考参见此处 https://cloud.google.com/sdk/gcloud/reference/compute/firewall-rules/create

    您也可以使用谷歌云控制台或restapi来创建它,但在控制台上输入大量ips并不容易。

    内置防火墙的当前限制:

    • 一个项目可以创建100个防火墙规则。
    • 一个防火墙规则可以阻止256个ip源。

    如果有10个其他防火墙规则,您可以阻止90x256=23040个独立ips,这对于一般情况来说已经足够了。

    注意:谷歌云应用程序引擎防火墙与内置防火墙分开。

    1. Linux iptables

    请参阅其他答案。

    1. Web服务器

    Apache,Nginx也可以阻止ip。

    1. 应用

    这里不建议阻止ip。但该应用程序可以帮助分析哪些ip需要阻止,例如登录多次失败。

        6
  •  0
  •   Roberto    6 年前

    如果您希望您的系统自动阻止GCP防火墙中的所有坏ip地址,您可以查看 Gatekeeper for Google Cloud Firewall . 它动态分析您的网络连接和WordPress/Apache日志,并创建适当的规则来抵御DoS和DDoS攻击以及间谍机器人。