部署 vCloud Usage Meter 后,设备会生成自签名 SSL 证书。首次通过 HTTPS 访问 vCloud Usage Meter Web 界面时,系统会提示手动信任自签名证书。

通过将 vCloud Usage Meter 自签名证书替换为外部或内部证书颁发机构 (CA) 签名证书,可以保护与 vCloud Usage Meter 的连接。

运行时,所有 vCloud Usage Meter 应用程序都使用相同的密钥库和 CA 证书存储。NGINX 证书会在操作系统启动时更新。除非明确说明,否则可以在 vCloud Usage Meter 控制台上以 usagemeter 用户身份运行命令。

要允许与 vCloud Usage Meter 控制台进行远程交互,您可以在 vSphere Web 控制台中激活 SSH 或调用命令。

vCloud Usage Meter 设备将证书存储在 Java 密钥库中,该密钥库位于 /opt/vmware/cloudusagemetering/platform/security/keystore 中。

CA 证书密钥库位于 /opt/vmware/cloudusagemetering/platform/security/cacerts 中。

导入内部证书颁发机构 (CA) 签名证书

如果要将 vCloud Usage Meter 证书替换为内部证书颁发机构 (CA) 签名的证书,则必须先将该 CA 导入到 vCloud Usage Meter 设备中。

前提条件

  • 确认您能够以 usagemeter 用户身份访问 vCloud Usage Meter 控制台。
  • 确认您能够以 root 用户身份访问 vCloud Usage Meter 控制台

过程

  1. usagemeter 用户身份登录到 vCloud Usage Meter 控制台,然后停止所有设备服务。
    cd /opt/vmware/cloudusagemetering
    ./scripts/stop.sh All
  2. 导出环境变量。
    export $(grep -v '^#' "/opt/vmware/cloudusagemetering/platform/conf/env.properties" | xargs)
  3. vCloud Usage Meter 设备与内部证书颁发机构签名的证书之间建立信任关系。
    在以下命令的 alias 属性下输入用于在密钥库中标识证书的名称。
    keytool -import -trustcacerts -file filepath-to-the-certificate -alias custom-internal-certificate-authority -keystore /opt/vmware/cloudusagemetering/platform/security/cacerts -storetype BCFKS -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath /opt/vmware/cloudusagemetering/platform/lib/bc-fips-1.0.2.1.jar -storepass "${TRUST_STORE_PASSWORD}"
  4. root 用户身份登录并重新引导 vCloud Usage Meter 设备。
    reboot

安装证书颁发机构 (CA) 签名证书

要与 vCloud Usage Meter Web 界面建立安全的网络连接,可以在 vCloud Usage Meter 设备上安装 CA 签名的 SSL 证书。

要获取 CA 签名证书和私钥,必须生成证书签名请求。证书颁发机构使用该请求生成官方证书。

前提条件

  • 确认您能够以 usagemeter 用户身份访问 vCloud Usage Meter 控制台。
  • 从证书颁发机构获取私钥和签名证书。这两个文件都必须采用 PEM 格式。
  • 如果证书由内部证书颁发机构签名,则必须先在 vCloud Usage Meter 设备中导入该证书颁发机构。有关信息,请参见导入内部证书颁发机构 (CA) 签名证书

过程

  1. usagemeter 用户身份登录到 vCloud Usage Meter 控制台,然后停止所有设备服务。
    cd /opt/vmware/cloudusagemetering
    ./scripts/stop.sh All
  2. 导出环境变量。
    export $(grep -v '^#' "/opt/vmware/cloudusagemetering/platform/conf/env.properties" | xargs)
  3. 备份现有 vCloud Usage Meter 设备证书。
    1. 备份现有密钥库。
      mv /opt/vmware/cloudusagemetering/platform/security/keystore /opt/vmware/cloudusagemetering/platform/security/keystore.backup
    2. 将现有密钥库条目从指定的别名移至 destalias 参数下的新别名。
      keytool -changealias -alias "usage-meter-platform" -destalias "usage-meter-platform-backup" -keystore /opt/vmware/cloudusagemetering/platform/security/cacerts -storetype BCFKS -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath /opt/vmware/cloudusagemetering/platform/lib/bc-fips-1.0.2.1.jar -storepass "${TRUST_STORE_PASSWORD}"
  4. 将 CA 签名证书和私钥导入到 vCloud Usage Meter 设备。
    1. 创建一个临时目录,并将该目录路径设置为 NGINX_FOLDER 环境变量。
      export NGINX_FOLDER=$(mktemp -d)
    2. 在该临时目录下创建两个临时子目录。
      mkdir ${NGINX_FOLDER}/private
      mkdir ${NGINX_FOLDER}/certs
    3. 将 CA 签名证书上载到 ${NGINX_FOLDER}/certs/ 文件夹,并将该文件重命名为 nginx-selfsigned.crt
    4. 将 CA 签名私钥上载到 ${NGINX_FOLDER}/private/ 文件夹,并将该文件重命名为 nginx-selfsigned.key
  5. 为 CA 签名证书创建新的密钥库。
    ./platform/bin/create-keystore.sh
  6. (可选) 移除所有临时和备份文件夹,然后删除旧的 vCloud Usage Meter 证书。
    rm -rf $NGINX_FOLDER
    rm /opt/vmware/cloudusagemetering/platform/security/keystore.backup
    keytool -delete -alias "usage-meter-platform-backup" -keystore /opt/vmware/cloudusagemetering/platform/security/cacerts -storetype BCFKS -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath /opt/vmware/cloudusagemetering/platform/lib/bc-fips-1.0.2.1.jar -storepass "${TRUST_STORE_PASSWORD}"
  7. 配置密钥库的权限。
    chmod 0640 /opt/vmware/cloudusagemetering/platform/security/keystore
  8. 重新引导 vCloud Usage Meter 设备。
    如果在 vCloud Usage Meter 设备上成功安装了 CA 签名的 SSL 证书,则下次登录到 vCloud Usage Meter Web 界面时不会显示安全警告。

将设备的默认自签名 SSL 证书替换为新的自签名证书

可以通过生成并安装新的自签名证书来替换 vCloud Usage Meter 设备的默认自签名证书。

前提条件

  • 确认您能够以 usagemeter 用户身份访问 vCloud Usage Meter 控制台。
  • 确认您能够以 root 用户身份访问 vCloud Usage Meter 控制台。

过程

  1. usagemeter 用户身份登录到 vCloud Usage Meter 控制台,然后停止所有设备服务。
    cd /opt/vmware/cloudusagemetering
    ./scripts/stop.sh All
  2. 导出环境变量。
    export $(grep -v '^#' "/opt/vmware/cloudusagemetering/platform/conf/env.properties" | xargs)
  3. 备份现有 vCloud Usage Meter 设备证书。
    1. 备份现有密钥库。
      mv /opt/vmware/cloudusagemetering/platform/security/keystore /opt/vmware/cloudusagemetering/platform/security/keystore.backup
    2. 将现有密钥库条目从指定的别名移至 destalias 参数下的新别名。
      keytool -changealias -alias "usage-meter-platform" -destalias "usage-meter-platform-backup" -keystore /opt/vmware/cloudusagemetering/platform/security/cacerts -storetype BCFKS -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath /opt/vmware/cloudusagemetering/platform/lib/bc-fips-1.0.2.1.jar -storepass "${TRUST_STORE_PASSWORD}"
  4. 创建一个临时目录,并将该目录路径设置为 NGINX_FOLDER 环境变量。
    export NGINX_FOLDER=$(mktemp -d)
  5. 生成新的自签名证书。
    ./platform/bin/create-keystore.sh
  6. (可选) 移除所有临时和备份文件夹,然后删除旧的 vCloud Usage Meter 证书。
    rm -rf $NGINX_FOLDER
    rm /opt/vmware/cloudusagemetering/platform/security/keystore.backup
    keytool -delete -alias "usage-meter-platform-backup" -keystore /opt/vmware/cloudusagemetering/platform/security/cacerts -storetype BCFKS -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath /opt/vmware/cloudusagemetering/platform/lib/bc-fips-1.0.2.1.jar -storepass "${TRUST_STORE_PASSWORD}"
  7. 配置密钥库的权限。
    chmod 0640 /opt/vmware/cloudusagemetering/platform/security/keystore
  8. root 用户身份登录并重新引导 vCloud Usage Meter 设备。
    reboot

将证书导入到 vCloud Usage Meter 设备密钥库

如果要添加进行计量的实例使用网络和安全配置实体(如负载均衡器、代理或防火墙),或者通过 HTTPS 使用代理,则必须将其证书导入到 vCloud Usage Meter 设备密钥库。

要将网络和安全配置实体的证书导入到 vCloud Usage Meter 设备密钥库,必须获取信任库的密码。密码位于 /opt/vmware/cloudusagemetering/conf/local.conf 中。

前提条件

  • 确认您能够以 usagemeter 用户身份访问 vCloud Usage Meter 设备。

  • 确认您能够以 root 用户身份访问 vCloud Usage Meter 设备。

过程

  1. usagemeter 用户身份登录到 vCloud Usage Meter 设备。
  2. 要提取环境变量中的信任库密码,请运行以下命令。
    export TRUSTOREPASS=$(grep "trustStorePassword" /opt/vmware/cloudusagemetering/conf/local.conf | cut -d' ' -f2-)
    
  3. 要将证书导入到 vCloud Usage Meter 设备密钥库,请运行以下命令。
    keytool -import -trustcacerts -alias certificate-alias -file certificate-file -keystore 
    /opt/vmware/cloudusagemetering/resources/cacerts.bcfks -storetype bcfks -storepass "${TRUSTOREPASS}" -providername BCFIPS -providerclass 
    org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath /opt/vmware/cloudusagemetering/jars/bc-fips-*.jar
  4. root 用户身份登录并重新引导 vCloud Usage Meter 设备。
    reboot