[英]How To Block Bad Bots in Amazon S3 (Amazon Simple Storage Service)?
我已经注册了Amazon Web Services,并通过Amazon S3服务创建了一个静态网站(创建了存储桶并将域映射到该存储桶)。
这项服务看起来不错,但是我有一个问题-我不知道如何阻止Bad Bot并防止它们浪费我的带宽(你们都知道Amazon对带宽收费)
Amazon Web Services不支持.htaccess,而且我不知道如何阻止它们。
我需要的是通过2种方式阻止不良机器人:
你能帮我做吗?
您的S3存储桶策略肯定会允许您阻止指定的IP地址,但是存储桶策略大小有一个大小限制(〜20 kb),这可能会使试图维护限制不可信IP地址的策略变得不可行。
由Cloudfront提供支持的AWS WAF & Shield
服务是AWS提供的最强大的IP阻止方式,您可以轻松地将其与S3来源集成。 Cloudfront允许您插入Waf & Shield
ACL,该ACL由允许或禁止您定义的IP组的规则组成。
AWS 在此处提供了一些Lambda示例函数,您可以将其用作起点。 您可能希望Lambda函数按计划运行,获取要阻止的IP列表,解析该列表,然后将找到的IP添加到WAF的IP集中(或删除列表中不再存在的IP)。 上面链接中的waf-tor-blocking
和waf-reputation-lists
函数提供了很好的示例。
我不确定检测Bot名称是什么意思,但是标准的Waf & Shield
方法目前正在解析发送到s3存储桶的Cloudfront日志。 每当您的s3存储桶收到新的压缩日志文件时,它将直接触发SNS或Lambda函数。 然后,Lambda函数将下载该文件,将其解析为恶意请求,并阻止关联的IP地址。 我在回购中链接了waf-block-bad-behaving
waf-reactive-blacklist
和waf-reactive-blacklist
功能,以提供有关如何实现此目的的示例。 有时,您会在请求的用户代理字符串中看到不良机器人的签名。 Cloudfront日志将显示用户代理字符串,因此您可以解析该字符串并相应地阻止关联的IP。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.