亚马逊AWS官方博客

AWS WAF 与 AWS Amplify Hosting 的集成正式可用

现在,我们宣布 AWS WAFAWS Amplify Hosting 的集成正式可用。

Web 应用程序所有者始终面临着保护应用程序免受各类威胁的挑战。以前,如果您想为 Amplify 托管应用程序实现强效安全防护,则必须通过 HAQM CloudFront 分发渠道搭建 AWS WAF 防护架构,这一过程不仅需要专业的技术知识,还涉及复杂的配置流程和额外的管理开销。

随着 AWS WAF 正式入驻 Amplify Hosting 服务,您现在可以在 Amplify 控制台一键操作,或通过基础设施即代码 (IaC) 方式,即可将 Web 应用程序防火墙直接连接到 AWS Amplify 应用程序。该集成方案完整支持包括托管规则在内的所有 AWS WAF 功能,可有效防御常见的 Web 漏洞以及 SQL 注入和跨站脚本攻击 (XSS) 等攻击手段。您还可以根据特定应用程序需求,灵活定制自己的安全规则。

这项新功能为 Web 应用程序提供了纵深防御的安全策略。您可以利用 AWS WAF 基于速率的规则,通过限制来自 IP 地址的请求频次来防范分布式拒绝服务 (DDoS) 攻击。此外,您可以实施地理封锁,限制来自特定国家/地区的应用程序访问权限,如果您的服务是针对特定地理区域设计的,此功能尤为重要。

工作原理

为您的 Amplify 应用程序设置 AWS WAF 保护非常简单。在 Amplify 控制台中,导航到应用程序设置,选择防火墙选项卡,然后选择要应用于配置的预定义规则。AWS WAF 与 AWS Amplify Hosting

Amplify Hosting 简化了防火墙规则的配置。您可以激活四类保护。

  • Amplify 推荐的防火墙保护功能 – 防范 Web 应用程序中最常见的漏洞,根据 HAQM 内部威胁情报阻止 IP 地址受到潜在威胁,并防范恶意行为者发现应用程序漏洞。
  • 限制对 amplifyapp.com 的访问 – 限制对 Amplify 默认生成的 amplifyapp.com 域名的访问。当您添加自定义域名以防止机器人和搜索引擎爬取该域名时,该功能非常有用。
  • 启用 IP 地址保护 – 通过允许或阻止来自指定 IP 地址范围的请求来限制 Web 流量。
  • 启用国家/地区保护 – 根据特定国家/地区限制访问。

通过 Amplify 控制台启用的保护将在 AWS 账户中创建一个底层 Web 访问控制列表 (ACL) 。对于更精细的规则集,您可以使用 AWS WAF 控制台规则生成器。

几分钟后,这些规则就与应用程序关联起来,AWS WAF 就会开始阻止可疑请求。

如果您想查看 AWS WAF 的实际运行情况,则可以模拟攻击并使用 AWS WAF 请求检查功能对其进行监控。例如,您可以发送一个用户代理值为空的请求。这将在 AWS WAF 中触发屏蔽规则。

让我们先向应用程序发送一个有效的请求。

curl -v -H "User-Agent: MyUserAgent" http://main.d3sk5bt8rx6f9y.amplifyapp.com/
* Host main.d3sk5bt8rx6f9y.amplifyapp.com:443 was resolved.
...(redacted for brevity)...
> GET / HTTP/2
> Host: main.d3sk5bt8rx6f9y.amplifyapp.com
> Accept: */*
> User-Agent: MyUserAgent
> 
* Request completely sent off
< HTTP/2 200 
< content-type: text/html
< content-length: 0
< date: Mon, 10 Mar 2025 14:45:26 GMT
 

我们可以观察到服务器返回了一条 HTTP 200(确定)消息。

然后,发送一个不包括 User-Agent HTTP 标头的请求。

 curl -v -H "User-Agent: " http://main.d3sk5bt8rx6f9y.amplifyapp.com/ 
* Host main.d3sk5bt8rx6f9y.amplifyapp.com:443 was resolved.
… (为简洁起见,已删除) …
> GET / HTTP/2
> Host: main.d3sk5bt8rx6f9y.amplifyapp.com
> Accept: */*
> 
* Request completely sent off
< HTTP/2 403 
< server: CloudFront
… (为简洁起见,已删除) …
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>403 ERROR</H1>
<H2>The request could not be satisfied.</H2>

我们可以观察到服务器返回了一条 HTTP 403(禁止)消息。

AWS WAF 可让您清晰了解请求模式,帮助您随着时间变化微调安全设置。您可以通过 Amplify Hosting 或 AWS WAF 控制台访问日志,分析流量趋势,并据此完善安全规则。

AWS WAF 与 AWS Amplify Hosting 集成 - 控制面板

可用性和定价

所有支持 Amplify Hosting 的 AWS 区域均提供防火墙服务。这种集成属于 AWS WAF 全局资源,类似于 HAQM CloudFront。Web ACL 可以关联多个 Amplify Hosting 应用程序,但这些应用程序必须位于同一区域。

此集成的定价遵循标准的 AWS WAF 定价模式,您需要根据 Web ACL、规则数量及请求量就所使用的 AWS WAF 资源付费。最重要的是,当您将网络应用程序防火墙连接到应用程序时,AWS Amplify Hosting 每月会额外收取 15 美元费用。该费用按小时计费。

这项新功能让所有 Amplify Hosting 客户,无论是个人开发者还是大型企业,都能获得企业级安全防护。现在,您可以在同一服务中完成 Web 应用的构建、托管和安全防护,从而降低架构复杂度,简化安全管理。

要了解更多信息,请访问 Amplify 的 AWS WAF 集成文档,或直接在 Amplify 控制台中试用。

— seb


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您了解行业前沿技术和发展海外业务选择推介该服务。