我正在研究通过Google的App Engine for PHP开发系统。我现在正在进行中,但意识到我不知道一个好方法来拒绝来自以其邪恶居民而闻名的国家的来往。
在其他网站上,我只是通过.htaccess阻止子网。但是,我现在开始认为,除了使用Google自己的PHP请求标头指定国家/地区代码之外,这是不可能的。
See their doc here: https://developers.google.com/appengine/docs/php/
以这种方式阻止它会很容易,但我不确定这是否是最佳方式。
任何见解都将受到赞赏。
答案 0 :(得分:4)
您可以使用dos.yaml
文件将子网列入黑名单。您在应用程序的根目录中创建dos.yaml
文件,然后按指定的here阻止IP或整个子网。请注意,此文件最多限制为100个条目。
如果您有要阻止的国家/地区子网列表(可以从this或this这样的列表中获取),则可以手动填充dos.yaml
文件。或者,您可以使用a script like this one填充文件。
答案 1 :(得分:1)
除了@ rudolph1024的答案中提到的DOS攻击保护之外,现在可以启用功能齐全的防火墙(仍在测试版,最近发布)以保护您的GAE应用程序。
App Engine防火墙使您可以控制对应用程序的访问 引擎应用程序通过一组允许或拒绝的规则 来自指定IP地址范围的请求。
创建防火墙:
仅允许来自特定网络的流量
确保只有特定网络中的特定IP地址才能访问您的应用。例如,创建仅允许的规则 公司专用网络中的IP地址范围 在您的应用程序测试阶段。然后,您可以创建和修改您的 防火墙规则,用于控制整个版本中的访问范围 过程,只允许某些组织,在您的 公司或外部,以访问您的应用程序,因为它是它的方式 公共空缺。
仅允许来自特定服务的流量
确保首先通过特定服务代理App Engine应用程序的所有流量。例如,如果您使用 第三方Web应用程序防火墙(WAF)代理请求的请求 在您的应用程序中,您可以创建防火墙规则以拒绝除外的所有请求 那些从你的WAF转发的。
阻止滥用的IP地址
虽然Google Cloud Platform有许多机制可以防止各种攻击,但您可以使用App Engine防火墙作为 另一种阻止来自IP地址的应用流量的机制 提出恶意。
您应该使用App Engine防火墙作为主要选项 保护您的应用免受拒绝服务攻击或类似形式的攻击 滥用。您可以将IP地址或子网列入黑名单以便请求 从这些地址路由并且子网在到达之前被拒绝 您的App Engine应用程序。
有关创建规则和配置防火墙的详细信息,请参阅 Controlling App Access with Firewalls
防火墙似乎是为了取代DOS保护。来自Denial of service (DoS) protection service:
提示:您应该使用App Engine firewall来获得可靠的保护以及改进的功能,访问权限和 通过Cloud Platform Console进行管理, gcloud 命令行 工具和Admin API。
您仍需要在特定情况下收集国家/地区的IP范围,以配置防火墙。