繁体   English   中英

如何阻止Amazon S3(Amazon Simple Storage Service)中的恶意程序?

[英]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种方式阻止不良机器人:

  1. 通过Bot名称,例如:BadBot1
  2. 通过Bot IP,例如:185.11.240.175

你能帮我做吗?

您的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-blockingwaf-reputation-lists函数提供了很好的示例。

我不确定检测Bot名称是什么意思,但是标准的Waf & Shield方法目前正在解析发送到s3存储桶的Cloudfront日志。 每当您的s3存储桶收到新的压缩日志文件时,它将直接触发SNS或Lambda函数。 然后,Lambda函数将下载该文件,将其解析为恶意请求,并阻止关联的IP地址。 我在回购中链接了waf-block-bad-behaving waf-reactive-blacklistwaf-reactive-blacklist功能,以提供有关如何实现此目的的示例。 有时,您会在请求的用户代理字符串中看到不良机器人的签名。 Cloudfront日志将显示用户代理字符串,因此您可以解析该字符串并相应地阻止关联的IP。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM