一个VPC网络ACL最多可以应用40条规则。
我列出了50多个IP地址,我需要这些IP地址来明确阻止通过任何端口和任何协议访问我们系统中的内容。这是ACL的理想目的,但是限制使我无法完成此任务。
当然,我可以在每个主机的IPTables中执行此操作,但是我想阻止到VPC中所有组件(例如,到ELB)的所有流量。此外,更理想的是在一个地方而不是每个主机上管理这些规则。
我希望有某种方式我不理解在系统/平台级别执行此操作。安全组是显式允许的,没有拒绝操作,因此它们不会成功。
一个VPC网络ACL最多可以应用40条规则。
我列出了50多个IP地址,我需要这些IP地址来明确阻止通过任何端口和任何协议访问我们系统中的内容。这是ACL的理想目的,但是限制使我无法完成此任务。
当然,我可以在每个主机的IPTables中执行此操作,但是我想阻止到VPC中所有组件(例如,到ELB)的所有流量。此外,更理想的是在一个地方而不是每个主机上管理这些规则。
我希望有某种方式我不理解在系统/平台级别执行此操作。安全组是显式允许的,没有拒绝操作,因此它们不会成功。
Answers:
无法增加对NACL的限制,并且大量的NACL规则会影响网络性能。
您可能首先遇到架构问题。
如果您达到了NACL规则限制,则最有可能是因为您没有采用AWS建议的VPC架构方法,也不使用WAF(以及Shield for DDoS)之类的服务来阻止有害流量和公开攻击。
如果您担心的是DDoS攻击:如何通过使用Amazon CloudFront和Amazon Route 53帮助保护动态Web应用程序免受DDoS攻击
这并不是您所要求的,但是可能做得很好。
在基础架构之前设置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条防火墙规则。