【问题标题】:AWS Cognito network traffic flow related questionAWS Cognito 网络流量相关问题
【发布时间】:2022-01-19 06:47:02
【问题描述】:

我们正在建立 api 网关,后面有 Lamba 功能。该设置使用 aws cognito 授权器。我们有 api 网关的 VPC 端点,因此可以通过私有 IP 访问。

但 cognito 不支持私有链接,因此我们无法为其提供 VPC 端点。所以这意味着 Cognito 发布的令牌必须通过互联网从 https://ourdomain.auth.ap-southeast-2.amazoncognito.com 传输到客户端。

Cognito 文档说明传输中的数据如下:-

" 传输中的加密

对 Amazon Cognito 的所有请求都必须通过传输层安全协议 (TLS)。客户端必须支持传输层安全 (TLS) 1.0 或更高版本。我们推荐 TLS 1.2 或更高版本。客户端还必须支持具有完美前向保密 (PFS) 的密码套件,例如 Ephemeral Diffie-Hellman (DHE) 或 Elliptic Curve Ephemeral Diffie-Hellman (ECDHE)。大多数现代系统(如 Java 7 及更高版本)都支持这些模式。”

根据上面的token应该是加密的。

但我有以下问题:

  • 是否为 Cognito 强制执行 TLS (1.2)?

  • 如果传输中的加密可用,安全最佳实践仍会要求通过 VPC 端点使用 Cognito,这样令牌就不需要在 Internet 上传输。

  • 如果客户端应用程序来自本地环境并访问 api,那么如果我们让它通过 AWS 中的代理,那么流量将保留在 AWS 骨干网络中还是仍然通过互联网流动?

【问题讨论】:

    标签: amazon-web-services amazon-cognito amazon-api-gateway


    【解决方案1】:

    是否为 Cognito 强制执行 TLS (1.2):

    很遗憾,没有。对于大多数 API 调用,您可以使用 API 网关作为中间层并在那里强制执行 TLS1.2。但是,对于 AUTHORIZATION 和 TOKEN 端点,这不起作用。 或者,您可以通过将 cognito 部署到美国地区并在那里使用 cognito 的 FIPS 端点来对所有端点强制执行它。有关可用的 fips 端点,请参阅 https://docs.aws.amazon.com/general/latest/gr/cognito_identity.html

    如果传输中的加密可用,安全最佳实践仍会要求通过 VPC 端点提供 Cognito,这样令牌就不需要在互联网上传播:

    这一切都取决于您的风险偏好。对于大多数组织来说,加密就足够了。但是,如果您的风险偏好较低,您将需要额外的缓解措施,遵循“纵深防御”最佳实践。如果您可以添加很多,专用连接只是一种选择。例如,监控 suapicious 用户活动和自适应 MFA 是其他方法。

    如果客户端应用程序来自本地环境并访问 api,那么如果我们让它通过 AWS 中的代理,那么流量会保留在 AWS 骨干网络中还是仍然通过互联网流动?

    由于 api 端点是公共的,它们将通过互联网(公共 IP 地址,因此它被路由到 NAT 网关或互联网网关)。

    【讨论】:

      猜你喜欢
      • 2011-01-31
      • 2023-02-07
      • 2018-07-24
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多