我想阻止来自 Amazon AWS IP 的所有传入流量。
他们在这里以 json 格式发布了他们的 IP 地址列表:http://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html
我有一台运行 Ubuntu 14.04 LTS 的专用服务器。
有没有办法用 iptables 来实现这一点?是否可以以某种方式对规则进行分组,以便可以定期替换它们而不影响不相关的规则?或者也许还有其他更好的方法来解决这个问题?
谢谢!
答案1
我使用 alienth 提供的信息创建了一个 bash 脚本来阻止所有 AWS 流量。你可以在 GitHub 上获取它:https://github.com/corbanworks/aws-blocker
答案2
您可以创建一个新的 iptables 链,该链可以单独刷新和刷新。
$ iptables -N AWS
$ iptables -I INPUT 1 -j AWS
从这里开始,只需将所有 IP 范围添加到 AWS 链即可。要刷新规则,只需iptables -F AWS
重新填充即可。例如:
$ iptables -F AWS
$ iptables -A AWS -s 50.19.0.0/16 -j REJECT
如果要自动执行此操作,您必须弄清楚的一件事是 AWS 提供的 IP 数据的可信度。提取 JSON 文件时,请确保正确验证 SSL 证书。AWS 仍有可能发布格式错误的文件,导致自动 iptables 脚本阻止您不想阻止的内容。
答案3
我下载了截至 2019 年 8 月 21 日的最新 AWS IP 列表并进行了清理,以便您可以将其复制并粘贴到任何 IP 拒绝列表或表中:https://textuploader.com/1t5o0
讨厌 AWS,他们只会制造恶意攻击和机器人,正常上网的人不会使用他们的 IP。我的网站每天大约有 8,000 次点击,一旦我将此列表添加到我的 WHM 防火墙拒绝中,我的服务器/网站就不会再出现一波波不良流量和服务器峰值,从而减慢我的网站速度,这绝非巧合。