步骤 1:设置先决条件 - AWS CloudHSM

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

步骤 1:设置先决条件

不同的平台需要不同的先决条件。请使用以下与您的平台匹配的先决条件部分。

客户端软件开发工具包 5 的先决条件

要使用客户端软件开发工具包 5 设置 Web 服务器 SSL/TLS 分载,需要满足以下条件:

  • 具有至少两个硬件安全模块 (HSM) 的活动 AWS CloudHSM 集群

    注意

    您可以使用单个 HSM 集群,但您必须首先禁用客户端密钥持久性。有关更多信息,请参阅管理客户端密钥持久性设置客户端软件开发工具包 5 配置工具

  • 一个运行已安装以下软件的 Linux 操作系统的 Amazon EC2 实例:

    • Web 服务器(NGINX 或 Apache)

    • 使用适用于客户端软件开发工具包 5 的 OpenSSL 动态引擎

  • 一个加密用户(CU),该用户拥有和管理 HSM 上的 Web 服务器的私有密钥。

在 HSM 上设置 Linux Web 服务器实例并创建 CU
  1. 为安装和配置 OpenSSL 动态引擎。 AWS CloudHSM有关安装 OpenSSL 动态引擎的更多信息,请参阅适用于客户端软件开发工具包 5 的 OpenSSL 动态引擎

  2. 在可以访问您的集群的 EC2 Linux 实例上,安装 NGINX 或 Apache Web 服务器:

    Amazon Linux
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd24 mod24_ssl
    Amazon Linux 2
    • 有关如何在 Amazon Linux 2 上下载最新版本的 NGINX 的信息,请访问 NGINX 网站

      适用于 Amazon Linux 2 最新版本的 NGINX 所使用的 OpenSSL 版本比 OpenSSL 的系统版本更新。安装 NGINX 后,你需要创建一个从 OpenSSL 动态引擎库到此版本的 AWS CloudHSM OpenSSL 所期望位置的符号链接

      $ sudo ln -sf /opt/cloudhsm/lib/libcloudhsm_openssl_engine.so /usr/lib64/engines-1.1/cloudhsm.so
    • Apache

      $ sudo yum install httpd mod_ssl
    CentOS 7
    • 有关如何在 CentOS 7 上下载最新版本 NGINX 的信息,请访问 NGINX 网站

      适用于 CentOS 7 的最新版本 NGINX 所使用的 OpenSSL 版本比 OpenSSL 的系统版本更新。安装 NGINX 后,你需要创建一个从 OpenSSL 动态引擎库到此版本的 AWS CloudHSM OpenSSL 所期望位置的符号链接

      $ sudo ln -sf /opt/cloudhsm/lib/libcloudhsm_openssl_engine.so /usr/lib64/engines-1.1/cloudhsm.so
    • Apache

      $ sudo yum install httpd mod_ssl
    Red Hat 7
    • 有关如何在 Red Hat 7 上下载最新版本 NGINX 的信息,请访问 NGINX 网站

      适用于 Red Hat 7 的最新版本 NGINX 所使用的 OpenSSL 版本比 OpenSSL 的系统版本更新。安装 NGINX 后,你需要创建一个从 OpenSSL 动态引擎库到此版本的 AWS CloudHSM OpenSSL 所期望位置的符号链接

      $ sudo ln -sf /opt/cloudhsm/lib/libcloudhsm_openssl_engine.so /usr/lib64/engines-1.1/cloudhsm.so
    • Apache

      $ sudo yum install httpd mod_ssl
    CentOS 8
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd mod_ssl
    Red Hat 8
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd mod_ssl
    Ubuntu 18.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
    Ubuntu 20.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
    Ubuntu 22.04

    尚不支持 OpenSSL 动态引擎。

  3. 使用 CloudHSM CLI 创建加密用户(CU)。有关管理 HSM 用户的更多信息,请参阅使用 CloudHSM CLI 管理 HSM 用户

    提示

    跟踪 CU 用户名和密码。您稍后为 Web 服务器生成或导入 HTTPS 私有密钥和证书时需要它们。

完成这些步骤后,请转到 步骤 2:生成或导入私有密钥和 SSL/TLS 证书

注意

  • 要使用安全增强型 Linux (SELinux) 和 Web 服务器,必须允许端口 2223 上的出站 TCP 连接,这是客户端软件开发工具包 5 用于与 HSM 通信的端口。

  • 要创建和激活集群并授予 EC2 实例访问该集群的权限,请完成入门 AWS CloudHSM的步骤。入门 step-by-step 指南提供了使用一个 HSM 和 Amazon EC2 客户端实例创建活动集群的说明。您可使用此客户端实例作为您的 Web 服务器。

  • 为避免禁用客户端密钥持久性,请向集群添加多个 HSM。有关更多信息,请参阅 添加 HSM

  • 要连接到客户端实例,可以使用 SSH 或 PuTTY。有关更多信息,请参阅 Amazon EC2 文档中的使用 SSH 连接到您的 Linux 实例使用 PuTTY 从 Windows 连接到您的 Linux 实例

客户端软件开发工具包 3 的先决条件

要使用客户端软件开发工具包 3 设置 Web 服务器 SSL/TLS 分载,需要满足以下条件:

  • 至少有一个 HSM 的活动 AWS CloudHSM 集群。

  • 一个运行已安装以下软件的 Linux 操作系统的 Amazon EC2 实例:

    • AWS CloudHSM 客户端和命令行工具。

    • NGINX 或 Apache Web 服务器应用程序。

    • Open AWS CloudHSM SSL 的动态引擎。

  • 一个加密用户(CU),该用户拥有和管理 HSM 上的 Web 服务器的私有密钥。

在 HSM 上设置 Linux Web 服务器实例并创建 CU
  1. 完成开始使用中的步骤。您随后将拥有一个带一个 HSM 的活动集群以及一个 Amazon EC2 客户端实例。您的 EC2 实例将用命令行工具进行配置。使用此客户端实例作为您的 Web 服务器。

  2. 连接到您的客户端实例。有关更多信息,请参阅 Amazon EC2 文档中的使用 SSH 连接到您的 Linux 实例使用 PuTTY 从 Windows 连接到您的 Linux 实例

  3. 在可以访问您的集群的 EC2 Linux 实例上,安装 NGINX 或 Apache Web 服务器:

    Amazon Linux
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd24 mod24_ssl
    Amazon Linux 2
    CentOS 7
    Red Hat 7
    Ubuntu 16.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
    Ubuntu 18.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
  4. (可选) 向您的集群添加更多 HSM。有关更多信息,请参阅 添加 HSM

  5. 使用 cloudhsm_mgmt_util 创建 CU。有关更多信息,请参阅 管理 HSM 用户。跟踪 CU 用户名和密码。您稍后为 Web 服务器生成或导入 HTTPS 私有密钥和证书时需要它们。

完成这些步骤后,请转到 步骤 2:生成或导入私有密钥和 SSL/TLS 证书