本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中强制执行最低的 TLS 版本 Amazon 适用于 Ruby 的 SDK
Amazon 适用于 Ruby 的软件开发工具包之间的通信使用安全套接字层 (SSL) 或传输层安全 (TLS) 进行保护。 Amazon 所有版本的 SSL 以及早于 1.2 的 TLS 版本都存在漏洞,这些漏洞可能会危及您与的通信安全性 Amazon。出于这个原因,你应该确保将适用于 Ruby 的 Amazon 软件开发工具包与支持 TLS 版本 1.2 或更高版本的 Ruby 版本一起使用。
Ruby 使用 OpenSSL 库来保护 HTTP 连接。通过系统程序包管理器yum、apt 等)、官方安装程序
当与支持 OpenSSL 1.0.1 或更高版本的 Ruby 版本一起使用时, Amazon 适用于 Ruby 的软件开发工具包首选 TLS 1.2,并使用客户端和服务器都支持的最新版本的 SSL 或 TLS。对于,这始终至少是 TLS 1.2 Amazon Web Services 服务。(此 SDK 将使用 use_ssl=true 的 Ruby Net::HTTP 类。)
检查 OpenSSL 版本
要确保您安装的 Ruby 使用的是 OpenSSL 1.0.1 或更高版本,请输入以下命令。
ruby -r openssl -e 'puts OpenSSL::OPENSSL_VERSION'
获取 OpenSSL 版本的另一种方法是直接查询 openssl 可执行文件。首先,使用以下命令查找适当的可执行文件。
ruby -r rbconfig -e 'puts RbConfig::CONFIG["configure_args"]'
输出应包含指示 OpenSSL 安装位置的 --with-openssl-dir=/path/to/openssl。记下此路径。要检查 OpenSSL 的版本,请输入以下命令。
cd /path/to/openssl bin/openssl version
后一种方法可能不适用于所有 Ruby 安装。
升级 TLS 支持
如果您的 Ruby 安装使用的是 1.0.1 版之前的 OpenSSL 版本,请使用系统程序包管理器、Ruby 安装程序或 Ruby 管理器升级 Ruby 或 OpenSSL 安装,如 Ruby 的安装指南./configure 时通过 --with-openssl-dir=/path/to/upgraded/openssl。