升级 stunnel - Amazon Elastic File System
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

升级 stunnel

要将传输中的数据加密与 Amazon EFS 挂载帮助程序一起使用,需要使用 OpenSSL 1.0.2 或更高版本以及支持在线证书状态协议 (OCSP) 和证书主机名检查的 stunnel 版本。亚马逊 EFS 装载帮助程序使用stunnel程序提供 TLS 功能。请注意,某些版本的 Linux 不包含stunnel,默认情况下支持这些 TLS 功能。在使用这些 Linux 发行版之一时,使用 TLS 挂载 Amazon EFS 文件系统将失败。

在安装 Amazon EFS 挂载帮助程序后,您可以按照以下说明升级您的系统的 stunnel 版本。

要升级 Amazon Linux 2 和其他支持的 Linux 发行版(除了SLES 12)

  1. 在 Web 浏览器中,转到 stunnel 下载页面 https://stunnel.org/downloads.html

  2. 找到以 tar.gz 格式提供的最新 stunnel 版本。记下该文件的名称,因为您在接下来的步骤中将需要用到。

  3. 在 Linux 客户端上打开一个终端,然后按提供的顺序运行以下命令。

    1. 对于 RPM:

      sudo yum install -y gcc openssl-devel tcp_wrappers-devel

      对于 DEB:

      sudo apt-get install build-essential libwrap0-dev libssl-dev
    2. Replace latest-stunnel-version 替换为之前在步骤 2 中记下的文件的名称。

      sudo curl -o latest-stunnel-version.tar.gz https://www.stunnel.org/downloads/latest-stunnel-version.tar.gz
    3. sudo tar xvfz latest-stunnel-version.tar.gz
    4. cd latest-stunnel-version/
    5. sudo ./configure
    6. sudo make
    7. 当前stunnel软件包安装在bin/stunnel。请使用以下命令删除该目录,以便可以安装新版本。

      sudo rm /bin/stunnel
    8. 安装最新版本:

      sudo make install
    9. 注意

      默认 CentOS shell 为 csh,它使用与 bash shell 不同的语法。以下代码先调用 bash,然后将 bash/bin/stunnel/root

      bash
      if [[ -f /bin/stunnel ]]; then sudo mv /bin/stunnel /root fi
    10. 创建符号链接:

      sudo ln -s /usr/local/bin/stunnel /bin/stunnel

在 macOS 大苏尔上升级特技

  • 在 EC2 Mac 实例上打开终端,然后运行以下命令以升级到最新版本的 stunnel。

    brew upgrade stunnel

为 SLES 12 升级特斗牛犬

  • 运行以下命令,并按照 zypper 软件包管理器的说明在运行 SLES12 的计算实例上升级特技。

    sudo zypper addrepo https://download.opensuse.org/repositories/security:Stunnel/SLE_12_SP5/security:Stunnel.repo sudo zypper refresh sudo zypper install -y stunnel

在安装具有所需功能的 stunnel 版本后,您可以使用 TLS 和 Amazon EFS 建议的设置挂载文件系统。

禁用证书主机名检查

如果无法安装所需的依赖项,您可以选择在 Amazon EFS 挂载帮助程序配置中禁用证书主机名检查。我们建议您不要在生产环境中禁用此功能。要禁用证书主机名检查,请执行以下操作:

  1. 使用所选的文本编辑器打开 /etc/amazon/efs/efs-utils.conf 文件。

  2. stunnel_check_cert_hostname 值设置为 false。

  3. 保存对该文件的更改,然后关闭该文件。

有关使用传输中的数据加密的更多信息,请参阅挂载 EFS 文件系统

启用在线证书状态协议

为了在无法从您的 VPC 访问 CA 的情况下最大限度提高文件系统可用性,当您选择加密传输中的数据时,默认情况下不会启用在线证书状态协议 (OCSP)。Amazon EFS 使用Amazon 證书颁发机构(CA) 颁发和签署其 TLS 证书,CA 指示客户端使用 OCSP 检查吊销的证书。必须可以通过 Internet 从 Virtual Private Cloud 访问 OCSP 终端节点,以检查证书的状态。在该服务中,EFS 持续监视证书状态,并颁发新证书以替换它检测到的任何已撤销证书。

为了提供最高安全性,您可以启用 OCSP,以便 Linux 客户端可以检查撤销的证书。OCSP 可防止恶意使用已撤销的证书,这种情况不太可能发生在您的 VPC 中。如果撤销 EFS TLS 证书,Amazon 将发布安全公告,并发布拒绝已撤销的证书的新版 EFS 挂载帮助程序。

在 Linux 客户端上启用 OCSP,以便将来都可以与 EFS 建立 TLS 连接

  1. 打开 Linux 客户端上的一个终端。

  2. 使用所选的文本编辑器打开 /etc/amazon/efs/efs-utils.conf 文件。

  3. stunnel_check_cert_validity 值设置为 true。

  4. 保存对该文件的更改,然后关闭该文件。

mount 命令中启用 OCSP

  • 使用以下挂载命令在挂载文件系统时启用 OCSP。

    $ sudo mount -t efs -o tls,ocsp fs-12345678:/ /mnt/efs