我有以下场景。我有一个内网工作节点的EKS集群A,可以通过NAT网关访问互联网(弹性IP,比如x.x/32)。在另一个AWS账户中还有另一个类似的EKS集群B。当用户访问集群A中的负载均衡器时,需要重定向到集群B上托管的登录页面(OIDC)。
我需要限制集群B中工作节点的安全组,使其仅接受来自集群A的NAT网关弹性IP的入站HTTPS请求。由于https://sample.site.clusterA.com是重定向到登录页面,所以现在的请求似乎来自用户的IP,而不是集群A的弹性IP。
我想阻止任何用户直接点击登录url的请求,而不是从集群A弹性IP重定向。是否可以将安全组规则限制为只允许源IP,而不允许用户IP?
发布于 2021-02-04 18:37:57
当发生重定向时,向客户端返回状态(通常为301、302或307 )的报头以及要重定向到的位置。
由于这个原因,客户端执行重定向,第一个集群只是指示它去哪里。
安全组只能从访问主机的源(在本例中为客户端)控制主机的进出。
如果您想要应用更全面的规则,您可以将WAF附加到ALB,但需要能够定义要阻止的行为。
发布于 2021-02-04 18:36:22
您将无法使用AWS安全组,因为登录重定向是从浏览器完成的,而不是从集群本身完成的。AWS安全组仅适用于传输层,因为您只能阻止IP范围、传输协议和端口。
如果您的群集A代理连接到登录页面,那么您将能够将NAT网关IP地址列入白名单。
集群要求浏览器从siteA重定向到siteB,您也许可以基于cookie进行验证。
https://stackoverflow.com/questions/66043764
复制相似问题