为存储桶中的负载均衡器/静态网站设置Cloud Armor



我最近设置了一个存储桶来为Google云平台内的静态网站提供服务。成本上涨了好几天,所以我调查了一下是什么原因造成的。我查看了日志记录,发现有非常大量的请求发送到负载均衡器由机器人,即注入攻击。

GET https://[ip]/nice%20ports%2C/Trinity.txt.bak
GET https://[ip]/nmaplowercheck1672474071

这种情况留给我两个问题。

  1. 这些请求可能会增加我项目的成本吗?

如果是这样,我研究了Cloud Armor,并通过实现OWASP(预配置的WAF规则)来阻止这些类型的请求的可能性。但我真的不知道如何正确设置。

  1. 如何实现云盔甲来阻止这些请求的进入,即通过预配置的WAF规则?

我希望我的负载均衡器阻止这些注入攻击

Cloud Armor有两种"安全策略":

  1. 边缘安全策略:仅用于阻断IP和地理位置值。边缘安全策略可以应用于云CDN或全局负载均衡器上的存储后端。您不能使用此策略类型执行任何L7规则。在未来,这可能会改变,但现在,你只能做IP和地理执行。

  2. 后端安全策略:这可以应用于基于计算的后端或Internet网络端点组(NEG)。在后端安全策略中,您可以应用预配置的OWASP规则、速率限制、通用表达语言(CEL)规则、IP规则、地理规则等。

这意味着你将无法阻止这些类型的探测请求与云盔甲针对存储桶后端使用边缘安全策略。

如果您想使用Cloud Armor来减轻这些类型的尝试,您需要一个CEL规则策略来匹配传入的URL,而这只能使用后端安全策略来完成。您可以将存储桶附加为负载均衡器上的Internet NEG,然后起草包含如下规则的后端策略:

request.path.lower().urlDecode().contains("nice port")

或者您可以在规则中针对后缀匹配。

假设您的存储桶中没有任何*.txt.bak文件,您将最终提供一个错误。一般来说,对请求的响应算作出口并收费,但如果您提供的是无害的错误消息,则不应该增加您的账单。

如果你想停止探测你的存储资源,你确实走云盔甲+互联网NEG +存储路线,你需要在互联网NEG中附加存储桶作为公共资源,然后在GCLB上附加互联网NEG作为后端服务,而不是在GCLB上附加存储桶作为后端桶选项。通过Internet NEG将桶附加为后端资源,要知道您现在正在因使用Internet NEG而产生Internet出口费用,并且您必须使桶公开(或签署请求以允许用户访问私有桶)。

最新更新