amazon-web-services - 对 AWS 弹性 beantalk 强制执行 AES-256
问题描述
免责声明:我完全知道 AES-128 被认为是安全的,但我们有奇怪的政府要求。
我们运行一个服务器,它为我们的客户提供一个 websocket 接口,作为 AWS 上的一个弹性 beanstalk 应用程序。它前面有一个应用程序负载平衡器,用于处理 HTTPS 终止。我们对我们的系统有一个奇怪的要求,即所有通道都需要具有 > 200 位加密。
当我们的客户(物联网设备)建立连接时,商定的加密方式变为 AES-128(因为 AWS 中的所有安全策略都接受 AES-128 并且设备也接受)。
在服务器端强制执行 AES-256 的唯一方法是使用经典负载均衡器并自己添加密码。但是,经典的负载均衡器不支持 websocket。
有没有可能的方法来规避这个?或者我们是否需要在我们的频道中添加我们自己的加密来满足要求。
解决方案
我相信您可以使用应用程序负载均衡器 (ALB) 做的最好的事情是将其配置为使用 FIPS ELBSecurityPolicy-FS-1-2-Res-2020-10安全策略,但是仍然可以协商ECDHE- ECDSA-AES128-GCM-SHA256和ECDHE-RSA-AES128-GCM-SHA256。基于文档中的表格,该表格将允许 AES-128 作为加密方法。
另一种选择是放置一个 WebSocket API 网关,但密码几乎相同,在这种情况下您可能需要处理节流问题,考虑到物联网客户端,这可能不是最好的做法。
将 CloudFront 放在 ALB 之前也不会削减它,因为它具有相同的方法,并且它的安全策略中的密码基本相同
网络负载均衡器 (NLB) 的安全策略实际上与 ALB 的安全策略相同。
基本上所有可能的 AWS 服务都依赖于相同的安全策略。
这导致我们有两个最终选择:
- 试图以某种方式强制它在客户端,这很可能是不可能的
- 或按照@Mark B 的建议用网络负载均衡器(支持WebSockets)替换ALB,在其上设置TCP侦听器并在您的EB应用程序中自己处理SSL服务器端,这取决于您的应用程序平台,但您应该能够执行更严格的(AES256)密码。
推荐阅读
- sorting - 如何在 solr 查询中进行嵌套排序?
- xamarin - 找不到 API 级别的 android.jar。赛马林
- java - Spring Boot 在运行测试时不允许可选 Bean 是惰性的
- amazon-redshift - 由于红移内部错误,不支持这种类型的相关子查询模式
- leaflet - 传单地图在平移和缩放时发送多个 geojson 请求 - 设置超时?
- r - 如何使用变量创建循环
- javascript - 当节点网站提供非 exe 文件时,如何在 Windows 中安装节点 v8?
- python - 无法使用 tf.stack 合并二维数组
- java - 用特殊字符分割字符串
- excel - 错误 13,在 Worksheet_Change 中删除行后类型不匹配