仅允许从 Amazon CloudFront 安全访问 ALB

0

【以下的问题经过翻译处理】 我的客户正在从本地环境进行迁移,他问我如何只从CloudFront安全地访问ALB。我们在这个主题(基于安全组自动更新)上有一篇博文< https://aws.amazon.com/blogs/security/how-to-automatically-update-your-security-groups-for-amazon-cloudfront-and-aws-waf-by-using-aws-lambda/>。但在这篇博文的开头提到:

注意:自2019年12月3日起,本文中描述的功能和服务已经发生了变化,可能会导致本文中描述的过程已过时且不再准确。如果我们更新了这篇文章或创建了替代文章,我们将在此处添加通知。

我们现在有新的解决方案吗?

profile picture
EXPERTE
gefragt vor 5 Monaten20 Aufrufe
1 Antwort
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地址频繁变更的情况。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen