我已经公开了 API Gateway (HTTP)。要进行身份验证,您必须提供有效的 JWT。
我想用 Cloudfront + WAF 保护这个 APIGW。阅读文档后,我认为 API Gateway 端点仍然暴露在 Internet 上。保护 API Gateway 的唯一方法是验证 WAF 中的 Header。攻击者仍然可以在 Internet 中找到 API Gateway 并直接对 API Gateway 端点进行 DDOS 攻击,而无需经过 Cloudfront。
这种方法被认为是安全的吗?Cloudflare 使用Tunnel来确保您的基础设施不会暴露在 Internet 上。我认为这种方法更安全。AWS 中有类似的功能吗?
我的观点是,将 API 网关放在 CloudFront 后面的 Internet 上可能足够安全。它旨在做到这一点。如果需要,您可以使用 CloudFront 来限制地理分布,但通常 AWS Shield 与 CloudFront / Route53 结合使用可以为您提供足够的 DDOS 保护。
您可以将您的 API Gateway 分发设为私有,然后通过 VPC/VPN 将其公开到 Internet,但这需要更多的工作和更多的成本。我倾向于仅在提供仅由 AWS 中的单个应用程序使用的服务时才使用私有 API 网关。
API Gateway 是一项托管服务。AWS 不希望他们的托管服务受到 DDOS 攻击的破坏,因此他们保护它们并在 DDOS 攻击发生时缓解它们。
如果您真的担心这一点,您可以随时为 AWS Shield Advanced 付费,但每月需支付 3,000 美元。这通常由成本不是主要因素的企业使用。