启用双向认证 AWS Client VPN - AWS Client VPN

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

启用双向认证 AWS Client VPN

你可以在 Linux/macOS 或 Window VPN s 的客户端中启用双向身份验证。

Linux/macOS

以下过程使用 Op VPN en easy-rsa 生成服务器和客户端证书和密钥,然后将服务器证书和密钥上传到。ACM有关更多信息,请参阅 E asy-RSA 3 快速入门README

生成服务器和客户端证书和密钥并将其上传到 ACM
  1. 将 Op VPN en easy-rsa 存储库克隆到您的本地计算机并导航到该文件夹。easy-rsa/easyrsa3

    $ git clone https://github.com/OpenVPN/easy-rsa.git
    $ cd easy-rsa/easyrsa3
  2. 初始化新PKI环境。

    $ ./easyrsa init-pki
  3. 要构建新的证书颁发机构 (CA),请运行此命令并按照提示进行操作。

    $ ./easyrsa build-ca nopass
  4. 生成服务器证书和密钥。

    $ ./easyrsa --san=DNS:server build-server-full server nopass
  5. 生成客户端证书和密钥。

    请务必保存客户端证书和客户端私有密钥,因为您配置客户端时需要这些信息。

    $ ./easyrsa build-client-full client1.domain.tld nopass

    您可以选择为需要客户端证书和密钥的每个客户端(最终用户)重复此步骤。

  6. 将服务器证书和密钥和客户端证书和密钥复制到自定义文件夹,然后导航到此自定义文件夹。

    复制证书和密钥之前,请使用 mkdir 命令创建自定义文件夹。以下示例在您的主目录中创建自定义文件夹。

    $ mkdir ~/custom_folder/ $ cp pki/ca.crt ~/custom_folder/ $ cp pki/issued/server.crt ~/custom_folder/ $ cp pki/private/server.key ~/custom_folder/ $ cp pki/issued/client1.domain.tld.crt ~/custom_folder $ cp pki/private/client1.domain.tld.key ~/custom_folder/ $ cd ~/custom_folder/
  7. 将服务器证书和密钥以及客户端证书和密钥上传到ACM。请务必将它们上传到您打算创建客户端VPN终端节点的同一区域。以下命令使用 AWS CLI 上传证书。要改用ACM控制台上传证书,请参阅AWS Certificate Manager 用户指南中的导入证书

    $ aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt
    $ aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt

    您不一定需要将客户端证书上传到ACM。如果服务器和客户端证书是由同一个证书颁发机构 (CA) 颁发的,则可以在创建客户端VPN端点时将服务器证书同时ARN用于服务器和客户端。在上述步骤中,使用了相同 CA 来创建两个证书。但是,为了完整起见,其中包括上传客户端证书的步骤。

Windows

以下过程安装 Easy-RSA 3.x 软件并使用它来生成服务器和客户端证书和密钥。

生成服务器和客户端证书和密钥并将其上传到 ACM
  1. 打开 “简易RSA发布” 页面,下载适用于您的 Windows 版本ZIP的文件并解压缩。

  2. 打开命令提示符,然后导航到 EasyRSA-3.x 文件夹解压缩到的位置。

  3. 运行以下命令打开 Easy RSA 3 外壳。

    C:\Program Files\EasyRSA-3.x> .\EasyRSA-Start.bat
  4. 初始化新PKI环境。

    # ./easyrsa init-pki
  5. 要构建新的证书颁发机构 (CA),请运行此命令并按照提示进行操作。

    # ./easyrsa build-ca nopass
  6. 生成服务器证书和密钥。

    # ./easyrsa --san=DNS:server build-server-full server nopass
  7. 生成客户端证书和密钥。

    # ./easyrsa build-client-full client1.domain.tld nopass

    您可以选择为需要客户端证书和密钥的每个客户端(最终用户)重复此步骤。

  8. 退出 Easy RSA 3 外壳。

    # exit
  9. 将服务器证书和密钥和客户端证书和密钥复制到自定义文件夹,然后导航到此自定义文件夹。

    复制证书和密钥之前,请使用 mkdir 命令创建自定义文件夹。以下示例在您的 C:\ 驱动器中创建自定义文件夹。

    C:\Program Files\EasyRSA-3.x> mkdir C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\ca.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\issued\server.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\private\server.key C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\issued\client1.domain.tld.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\private\client1.domain.tld.key C:\custom_folder C:\Program Files\EasyRSA-3.x> cd C:\custom_folder
  10. 将服务器证书和密钥以及客户端证书和密钥上传到ACM。请务必将它们上传到您打算创建客户端VPN终端节点的同一区域。以下命令 AWS CLI 使用上传证书。要改用ACM控制台上传证书,请参阅AWS Certificate Manager 用户指南中的导入证书

    aws acm import-certificate \ --certificate fileb://server.crt \ --private-key fileb://server.key \ --certificate-chain fileb://ca.crt
    aws acm import-certificate \ --certificate fileb://client1.domain.tld.crt \ --private-key fileb://client1.domain.tld.key \ --certificate-chain fileb://ca.crt

    您不一定需要将客户端证书上传到ACM。如果服务器和客户端证书是由同一个证书颁发机构 (CA) 颁发的,则可以在创建客户端VPN端点时将服务器证书同时ARN用于服务器和客户端。在上述步骤中,使用了相同 CA 来创建两个证书。但是,为了完整起见,其中包括上传客户端证书的步骤。