在客户端通信上强制执行 TLS V1.2?

在客户端通信上强制执行 TLS V1.2?

我正在进行健全性检查,以确保我被要求调查的内容实际上是可以实现的。

我目前正在构建 Centos7 服务器,它将用于通过 AWS CLI 或 Boto3 api 调用将文件传送到 AWS S3。从外部来看,这是该服务器要做的唯一工作。

在与 AWS 通信时,我被要求“确保仅使用 TLS V1.2 或更高版本”。

从我的 Linux 服务器端,是否可以设置此限制?

谢谢

答案1

aws-cli GitHub 中的问题 #3688。

2018 年 10 月的原始问题timwins

PCI DSS 要求对非控制台管理访问进行“强加密”。这意味着根据 PCI SSC 指南,TLS 1.1 或更高版本。根据Python文档(https://docs.python.org/2/library/ssl.html)服务器设置最低 SSL/TLS 要求 - 我假设使用 ssl.wrap_socket 参数和服务器证书。协议参数似乎设置为 SSLv23。真的吗?这允许协商 SSLv3 和 TLS v1。

客户端配置可以强制使用 TLSv1.1 或 TLSv1.2 吗?

回复JordonPhillips

客户端和服务器将始终协商最新版本的 TLS。所有 AWS 服务都支持 TLS 1.2,因此只要您使用针对最新版本的 openssl 编译的 python 版本,您应该就可以使用。也就是说,目前没有办法将旧的 tls 版本列入黑名单,因此您需要确保您可能配置的任何非 aws 终端节点都支持最新版本。

JordonPhillips还在 2018 年 11 月将此问题标记为功能请求,因此希望未来某个时候可能会有进一步的开发。

结论timwins

谢谢。然后,我们可以告诉需要满足 PCI DSS 合规性的客户,他们有责任使用最新的 CLI,或至少 3.6.0(?) 版本的 Python。

看起来Python 3.7或更高版本和OpenSSL 1.1.0g或更高版本的组合将提供SSLContext.minimum_version这最终将允许在 Python 中以干净、向前兼容的方式以编程方式指定“TLS 1.2 或更高版本”之类的限制。

在此之前,可用选项似乎只允许指定“TLS 1.2仅有的如果您想要像“TLS 1.2”这样的开放式限制,这并不理想或更好”,可能允许底层支持 TLS 版本,但aws-cli目前尚不清楚。

也许这将有助于开发这个请求的功能aws-cli

相关内容