解决AWS网络ACL规则限制


12

一个VPC网络ACL最多可以应用40条规则。

我列出了50多个IP地址,我需要这些IP地址来明确阻止通过任何端口和任何协议访问我们系统中的内容。这是ACL的理想目的,但是限制使我无法完成此任务。

当然,我可以在每个主机的IPTables中执行此操作,但是我想阻止到VPC中所有组件(例如,到ELB)的所有流量。此外,更理想的是在一个地方而不是每个主机上管理这些规则。

我希望有某种方式我不理解在系统/平台级别执行此操作。安全组是显式允许的,没有拒绝操作,因此它们不会成功。


使用Ansible之类的预配置软件进行iptables管理,就完成了。显然,它仅在EC2实例中有效;不是LB等
。– Kyslik

是的,我同意对EC2做iptables很好,但是我的入站流量中有99%符合我们的ELB结构。我们将为来自这些必须处理的已知骗子的许多点击付费。感谢您的输入
-emmdee

1
阻止50个单个IP似乎是一个奇怪的要求。
user253751 '19

@immibis可能对您很奇怪。我们有很多骗子试图与我们的合法客户打交道。我们封锁了他们的帐户,但也为明显的俄罗斯/尼日利亚/中国骗子提供了全面的IP禁令。我们的产品具有大量的用户交互,聊天/等等-对于这样的平台完全不奇怪。
emmdee

1
...而且您的骗子都没有动态IP?
user253751 '19

Answers:


8

这是一个左领域的想法。通过向每个IP的VPC路由表添加“断开”路由,可以“空路由” 50个被阻止的IP。

这不会阻止IP的流量打入您的基础架构(只有NACL和SG才可以阻止),但是它将防止回程流量每次都“返回”首页。


我偶然通过创建传输网关,设置路由,然后删除传输网关来使路由流量为空。不过,可能有一种更简单的方法。
蒂姆(Tim)

不错的主意。非常开箱即用的感谢。我会做一些实验。可能是去没有对WAF支付正确的方式
emmdee

0

无法增加对NACL的限制,并且大量的NACL规则会影响网络性能。

您可能首先遇到架构问题。

  1. 您的实例必须在公共子网中吗?
  2. 您是否已设置NAT网关以限制入站流量?
  3. 对于那些必须位于公共子网中的实例,您是否具有最小的入站安全组规则?
  4. 您是否正在使用AWS WAF IP匹配条件来阻止到CloudFront和负载均衡器的有害流量?

如果您达到了NACL规则限制,则最有可能是因为您没有采用AWS建议的VPC架构方法,也不使用WAF(以及Shield for DDoS)之类的服务来阻止有害流量和公开攻击。

如果您担心的是DDoS攻击:如何通过使用Amazon CloudFront和Amazon Route 53帮助保护动态Web应用程序免受DDoS攻击


NAT网关用于出站流量,而不是入站流量。
蒂姆(Tim)

正确@Tim,因此将您的实例放置在NAT网关后面的专用子网中,可以为它们提供出站连接,而无需向其发起入站攻击,也无需在NACL中阻止IP
Fo。

对于流量非常高的网站,WAF相当昂贵。为此,请尝试避免这种情况。安全组无法显式阻止和Web ACL具有此限制的事实似乎就像是在抢钱。
emmdee

我想这取决于用例,尚未解释。如果阻止这些IP的原因是它们一直在攻击Web服务器,则仍然需要对服务器进行公共访问,这意味着负载平衡器或代理。在这种情况下,专用子网无济于事。
蒂姆(Tim)

我的用例是99%的ELB接收入站流量。EC2实例在ELB后面是私有的。
emmdee

0

这并不是您所要求的,但是可能做得很好。

在基础架构之前设置CloudFront。使用IP匹配条件有效地阻止流量。CloudFront使用静态和动态内容,并且可以加速动态内容,因为它使用AWS主干网而不是公共互联网。这就是文档所说的

如果要允许某些Web请求,并根据请求源自的IP地址来阻止其他Web请求,请为要允许的IP地址创建一个IP匹配条件,并为要阻止的IP地址创建另一个IP匹配条件。

使用CloudFront时,应使用安全组阻止对任何公共资源的直接访问。在AWS更新安全组的λ将让您的安全组是最新的,允许在CloudFront的流量,但拒绝其他流量。如果您使用CloudFront将http重定向到https,则可以对脚本进行一些调整,以防止http击中您的基础架构。您还可以将任何需要直接管理员访问的IP列入白名单。

或者,您可以使用第三方CDN,例如CloudFlare。CloudFlare拥有一个有效的防火墙,但是对于您想要的规则数量来说,它是每月200美元。这可能比CloudFront便宜,AWS带宽相当昂贵​​。免费计划仅给您5条防火墙规则。


我们已经将Cloud Front用于静态内容,但是许多站点都是动态Web内容。
emmdee

CloudFront的,也可用于动态内容aws.amazon.com/blogs/networking-and-content-delivery/...
佛。

CloudFront可以加速动态内容,我相信它使用AWS主干网而不是公共互联网。CloudFront的带宽比EC2便宜一些,我想不久前有消息宣布,CloudFront回到EC2的带宽是免费的。
蒂姆(Tim)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.