使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

如何限制流向应用程序负载均衡器的直接流量并仅允许流量通过 CloudFront?

2 分钟阅读
0

我想要限制对应用程序负载均衡器的直接访问,并仅允许通过 Amazon CloudFront 进行访问。

简短描述

要限制流向应用程序负载均衡器的直接流量,并仅允许通过 CloudFront 访问,请使用应用程序负载均衡器侦听器规则。如果已有 AWS WAF Web 访问控制列表(ACL),则可以使用 Web ACL 规则。要进一步限制对应用程序负载均衡器的访问,请配置安全组以限制对源的访问。为此,请使用 AWS 托管的前缀列表。最佳做法是使用其中一种解决方案并配置安全组。

解决方法

应用程序负载均衡器

要使用应用程序负载均衡器侦听器规则来限制流量,请参阅限制访问应用程序负载均衡器

AWS WAF

**注意:**AWS WAF 费用基于以下因素:

  • 创建的 Web ACL 数量
  • 为每个 Web ACL 添加的规则数量
  • 收到的 Web 请求数量

有关详细信息,请参阅 AWS WAF 定价

要使用 AWS WAF 自定义 Web ACL 规则来限制流量,请完成下面的步骤:

  1. 配置 CloudFront,以在 CloudFront 发送给应用程序负载均衡器的请求中添加带有密钥值的自定义 HTTP 标头。
  2. 在与应用程序负载均衡器关联的 AWS WAF Web ACL 中创建一条规则。使用此规则来阻止不包含自定义 HTTP 标头密钥值的请求。

配置 CloudFront 以添加自定义 HTTP 标头

完成下面的步骤:

  1. 打开 CloudFront 控制台
  2. 在导航窗格中,选择分配
  3. 选择您的分配 ID。
  4. 选择
  5. 选择您的应用程序负载均衡器,然后选择编辑
    **注意:**如果您的应用程序负载均衡器不是源,请更新分配,然后将应用程序负载均衡器设置为源。
  6. 对于添加自定义标头,输入标头名称
    重要事项:****标头名称用作安全凭证,例如用户名和密码。将这些值复制到一个文本文件中,以便在此过程的后面使用。
  7. 选择保存更改

在 Web ACL 中创建规则以阻止没有标头的请求

完成下面的步骤:

  1. 打开 AWS WAF 控制台
  2. 在导航窗格中的 AWS WAF 下,选择 Web ACL
  3. 对于区域,选择您的应用程序负载均衡器所在的 AWS 区域。
    **注意:**如果有一个与您的应用程序负载均衡器关联的现有 Web ACL,请跳至步骤 9。
  4. 选择创建 Web ACL,然后输入名称
  5. 对于关联的 AWS 资源,选择您的应用程序负载均衡器,然后选择下一步
  6. 对于不符合任何规则的请求的默认 Web ACL 操作,选择允许,然后选择下一步
  7. 对于请求采样选项,选择启用采样请求,然后选择下一步
  8. 选择创建 Web ACL
  9. 打开 AWS WAF 控制台
  10. 在导航窗格中的 AWS WAF 下,选择 Web ACL
  11. 对于区域,选择您的应用程序负载均衡器所在的区域。
  12. 选择与您的应用程序负载均衡器关联的 Web ACL。
  13. 规则下,选择添加规则,然后选择添加我自己的规则和规则组
  14. 对于名称,输入您的规则名称。
  15. 对于类型,选择常规规则
  16. 对于如果请求,选择与语句不匹配(NOT)
  17. 语句 1 下配置下面的设置:
    对于检查 (Inspect),选择单个标头 (Single Header)
    标头字段名称中,输入您在 CloudFront 中创建的标头名称
    对于匹配类型 (Match type),选择完全匹配字符串 (Exactly matches string)
    对于要匹配的字符串,输入您在 CloudFront 中创建的
    对于文本转换,选择
  18. 对于操作,选择阻止
  19. 选择保存规则
  20. 对于设置规则优先级,如果有多个规则,请将此规则设置为最高优先级。
  21. 选择保存

安全组

要进一步限制流向应用程序负载均衡器的流量,请对应用程序负载均衡器中的安全组使用 AWS 托管的前缀列表

要更新现有的安全组,请参阅 Update the associated security groups。要将您的应用程序负载均衡器与安全组关联,请完成下面的步骤:

  1. 打开 Amazon Elastic Compute Cloud(Amazon EC2)控制台
  2. 选择负载均衡器,然后选择您的应用程序负载均衡器。
  3. 选择安全性
  4. 选择要与应用程序负载均衡器关联的安全组。
  5. 要修改入站规则,请选择编辑入站规则,然后根据使用场景更新配置。
    **注意:**如果有规则允许 0.0.0.0/0,则必须在删除现有规则之前添加新规则。
  6. 要允许特定协议,请选择该协议,然后选择自定义
  7. 对于源类型,选择 CloudFront,然后从 AWS 托管前缀列表中选择前缀。
  8. 选择保存

**注意:**最佳做法是仅允许您的应用程序负载均衡器使用的端口。

由于前缀列表权重,在默认设置下,每个安全组只能添加一次 CloudFront 托管前缀列表。要在同一安全组中添加另一条以 CloudFront源类型的规则,请申请增加配额。或者,使用两个都引用 CloudFront 托管前缀列表的安全组。

相关信息

安全组

AWS 官方
AWS 官方已更新 2 个月前