![在客户端通信上强制执行 TLS V1.2?](https://linux22.com/image/163902/%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%80%9A%E4%BF%A1%E4%B8%8A%E5%BC%BA%E5%88%B6%E6%89%A7%E8%A1%8C%20TLS%20V1.2%EF%BC%9F.png)
我正在进行健全性检查,以确保我被要求调查的内容实际上是可以实现的。
我目前正在构建 Centos7 服务器,它将用于通过 AWS CLI 或 Boto3 api 调用将文件传送到 AWS S3。从外部来看,这是该服务器要做的唯一工作。
在与 AWS 通信时,我被要求“确保仅使用 TLS V1.2 或更高版本”。
从我的 Linux 服务器端,是否可以设置此限制?
谢谢
答案1
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
?