拒绝 AWS ELB 上的 IP 地址

bor*_*roz 11 ip iptables amazon-ec2 deny amazon-web-services

我或多或少地遵循 AWS 上的配置:

具有 3 台机器 o 3 个不同可用区的弹性负载均衡器。我的安全组允许 0.0.0.0/0:80 因为它是我的 rails 应用程序(nginx、unicorn)。

我想知道是否有任何方法可以拒绝特定公共 IP 地址访问我的应用程序?我一直在阅读 AWS 文档,但由于 SG 是“拒绝所有”,因此无法拒绝一个特定的 IP 地址。

有任何想法吗?负载均衡器后面的 3 台机器上的 iptables?

谢谢!

Tam*_*ama 20

一个直接的解决方案是使用 VPC 网络 ACL 入站规则。这仅在您的 ELB 位于 VPC 中时才有效,但如果您在过去几年中创建了它,它应该处于默认状态。

例如,要禁止 1.2.3.4,请执行以下操作:

  1. 登录到 AWS。
  2. 导航到VPC
  3. 选择Network ACLs从左侧菜单。
  4. 选择与您的 ELB 所在的 VPC 关联的 ACL。
  5. 选择Inbound Rules选项卡。
  6. 选择Edit并添加具有以下属性的新规则:
    • 规则 #:50(任何数字,只要它小于 ALL 允许的规则)
    • 类型:所有流量
    • 协议:所有
    • 端口范围:全部
    • 来源:1.2.3.4/32
    • 允许/拒绝:拒绝

这里有很多关于网络 ACL 的更多信息:http : //docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html


Nap*_*r_X 1

不,没有使用安全组阻止 IP 的选项。

安全组本质上是白名单,而不是黑名单。

默认情况下一切都会被拒绝,您可以根据需要选择性地打开端口,但您不能阻止任何特定的人员/IP。

为此,正如您所说,最好的解决方案是在 3 台不同的机器上使用 IPtables。

我确信未来 AWS 安全组也将具有此功能,但目前还没有。