如何将对 Amazon EC2 的访问限制在 IP 范围内

How to limit access to Amazon EC2 to IP ranges

我有一个 Amazon EC2 实例,它托管不同位置的多个开发人员使用的不同服务(cassandra db、elasticsearch、rabbitmq、mysql...)。由于这些开发人员拥有动态 IP 地址,并且此 EC2 实例仅用于开发,因此我将对所需端口的入站访问保留为 0.0.0.0。我知道这绝对不推荐,我应该限制访问,但我不想随着某人的 IP 地址变化而每天更改规则。

但是,我刚收到亚马逊的报告,说我的实例被用于 DoS 攻击,所以我想解决这个问题。

我的问题是是否可以制定一个规则来限制对多个范围的访问,例如:

94.187.128.0 - 94.187.255.255

147.91.0.0 - 147.91.255.255

当然是,因为你指的范围不仅仅是范围,而是匹配 CIDR。

不能表示为CIDR的范围将不被接受:

您可以使用 IPcalc 或类似网站来简化操作。

如果适合您,您可以使用 2000-3000 之类的端口范围,或者更好的是,为服务使用自定义端口。那么范围将是例如2000-2001,并且使用端口范围可以使一个用户适应一个规则。

另一种更安全但更困难的方法:网页,用户使用适当的安全密钥连接到那里。如果密钥被识别,则服务器上的脚本会使用客户端的 IP 将规则添加到组中。 cron 的另一个脚本删除早于 X 小时的规则。要更深入地检查它,您可能需要查看例如这里:在 apache 端检查 Two-way SSL authentication, on AWS side check API and Command Overview