我有单独的“区域”(VPC),在其中有群集服务器。在“DMZ”区域中,我有一个具有不同后部和前部NIC的集群。 172.30.x.x服务于面向Internet的一方,而10.0.x.x服务于(更多)安全区域的任何后端连接。
由于我使用的是集群环境,因此我设置了负载均衡器(ELB),一个用于来自Internet的外部连接(172.30.xx)和一个用于内部区域的内部ELB(10.0.xx)。
我需要在前/后(172.30.xx / 10.0.xx)为侦听器添加ACL(允许/拒绝),但我的问题是AWS ELB对于外部ELB和内部ELB具有相同的源IP 。 原始源IP仅包含在X-forwarded-for头中,因为ACL只能处理源IP而不能处理HTTP头。
现在ACL毫无价值,因为互联网电话和来自后侧区域的电话的源IP都在172.30.x.x范围内,这是两个ELB“活”的VPC ......
有关如何区分ACL的内部和外部IP(或设置安全组或其他措施以确保仅后端连接可以达到10.0.x.x侦听器)的任何建议?
答案 0 :(得分:1)
ELB没有静态IP,因此您无法基于此创建ACL规则。作为安全性最佳实践,面向公众的外部ELB应位于不应接收外部流量的任何ELB或实例/接口上的不同子网(当然,您希望它们分布在多个可用区域中)。
将外部ELB移动到不用于其他任何内容的子网。如果它们已经在使用中,则可以在零停机时间内完成此操作,因为您只需在正确的子网中创建新ELB,添加后端实例,更改指向ELB的任何DNS记录,您应该是好的。这允许为适当的子网CIDR块创建ACL规则。