1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 其他防止用户直接访问ALB的方法是利用CloudFront上的自定义标头和ALB上的WAF。
步骤1:配置CloudFront以向通过CloudFront传递的请求添加自定义标头。
步骤2:将AWS WAF附加到ALB
步骤3:在WAF上创建“String Match”规则/条件,仅允许带有CloudFront添加的自定义标头的请求,如果请求中没有该标头,则阻止请求。
在CloudFront上:
编辑Origin 在“Origin Settings”中,添加一个自定义标头,键可以是任何内容,例如“X-Origin-Header”,值是一些字母数字密钥,CloudFront将在通过它的请求中添加这个值。
在ALB上:
在ALB上添加AWS WAF,并创建一个“String Matching”条件,将“Header”键设置为“X-Origin-Header”,值为您在CloudFront分发中输入的值。 将此条件添加到规则,并将规则添加到ALB上的WebACL。
请求的生命周期:
在这里,每当用户尝试通过CloudFront访问应用程序时,请求中会添加一个带有密钥字符串值的自定义标头,位于ALB前面的WAF只有在请求包含由CloudFront传递的自定义标头时,才会将请求转发到ALB。
如果用户尝试直接访问ALB,请求将不包含自定义标头,并且WAF将以403状态码阻止该请求。
欲了解更多信息,请参考这篇文章< https://www.metaltoad.com/blog/how-to-protect-origin-with-aws-waf-shield>,并让我知道您是否需要任何解答。
这种方法的主要优点是您不必应对CloudFront IP地址频繁变更的情况。
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 个月前
- AWS 官方已更新 3 年前
- AWS 官方已更新 1 年前