本主題概述了在 vSphere Replication 應用裝置上啟用聯邦資訊處理標準 (FIPS) 模式必須執行的必要工作。

備註: FIPS 模式下的憑證組態不支援憑證檔案格式 PKCS#12PKCS#12 檔案格式使用不符合 FIPS 標準的演算法作為標準規格。

必要條件

確保在部署環境時使用受信任的憑證。

程序

  1. 以嚴格模式啟動 vSphere Replication 管理伺服器。
    1. 導覽至 /opt/vmware/hms/conf/hms-fips.conf,開啟檔案並變更以下設定。
       "appl_system_cryptography" : true
    2. 移除任何失效的 BCFKS 存放區。
      rm /opt/vmware/hms/security/*.bks
    3. 重新啟動 vSphere Replication 管理伺服器服務。
      systemctl restart hms
  2. 以嚴格模式啟動 vSphere Replication
    1. 導覽至 /etc/vmware/hbrsrv.xml,開啟檔案並變更以下設定。
      <Config>
          <vmacore>
              <ssl>
                  <fips>true</fips>
              </ssl>
          </vmacore>
          </Config>
    2. 編輯 /usr/lib/vmware/lib/ssl/openssl.cnf,取消以下行 # .include /usr/lib/vmware/lib/ssl/fipsmodule.cnf 的註解,然後將行 default_properties = "fips=no” 變更為 default_properties = "fips=yes”
      檔案片段必須如下所示:
      # Refer to the OpenSSL security policy for more information.
      # In ESX this will be generated at boot time.
      .include /usr/lib/vmware/lib/ssl/fipsmodule.cnf
      ...
      [algorithm_sect]
      # Since we use both default and FIPS provider, we need to be specific
      # about which algorithm implementation to use as default.
      default_properties = "fips=yes"
    3. 重新啟動 HBR 服務。
      systemctl restart hbrsrv
  3. 以嚴格模式啟動 dr-configurator 服務。
    1. 導覽至 /opt/vmware/dr/conf/drconfig.xml,開啟檔案並變更以下設定。
      <Config>
          <vmacore>
              <ssl>
                  <fips>true</fips>
              </ssl>
          </vmacore>
          </Config>
    2. 編輯 /usr/lib/systemd/system/dr-configurator.service。取消 # Uncomment to enable FIPS 下各行的註解。
      檔案片段必須如下所示。
      # Uncomment to enable FIPS
              Environment=OPENSSL_MODULES=/opt/vmware/dr/lib/ossl-modules
              Environment=OPENSSL_CONF=/opt/vmware/etc/dr/ssl/openssl.cnf
    3. 重新啟動 dr-configrator 服務。
      systemctl daemon-reload
             systemctl restart dr-configurator
  4. root 使用者身分登入應用裝置,然後編輯核心 cmdline。
    1. 開啟 /boot/grub/grub.cfg
    2. 找到 menuentry 項目。
    3. 在每個以 linux 開頭的 menuentry 的行末附加以下內容。
      fips=1
    4. 儲存檔案。
  5. 以嚴格模式啟動 Config UI。
    1. 編輯 /usr/lib/systemd/system/drconfigui.service。註解掉現有 Environment='CATALINA_OPTS=-Xms768m -Xmx1024m’ 並取消 # Uncomment to enable FIPS 下各行的註解。
      檔案片段必須如下所示。
      Environment=JRE_HOME=/usr/java/jre-vmware
      # Comment when enable FIPS
      # Environment='CATALINA_OPTS=-Xms768m -Xmx1024m'
      # Uncomment to enable FIPS
      Environment='SERVICE_CLASSPATH=$CATALINA_BASE/lib/ext/*'
      Environment='CATALINA_OPTS=-Xms768m -Xmx1024m -Djava.security.properties==/opt/vmware/dr-client/conf/vmware-override-java.security -Dorg.bouncycastle.jca.enable_jks=true -Dorg.bouncycastle.fips.approved_only=true'
      
    2. 取消 /opt/vmware/drconfigui/conf/context.xml 檔案中 <Manager> 標籤的註解。
      帶有標籤的檔案片段必須如下所示。
      <!-- Uncomment to enable FIPS mode.          -->
      <Manager pathname="" secureRandomAlgorithm=""/>
    3. (選擇性) 如果已為應用裝置啟用 FIPS,請重新啟動 drconfigui 服務。
      systemctl daemon-reload; systemctl restart drconfigui
  6. 以嚴格模式啟動 UI。
    1. 編輯 /usr/lib/systemd/system/dr-client.service。註解掉現有 Environment='CATALINA_OPTS=-Xms768m -Xmx1024m’ 並取消 # Uncomment to enable FIPS 下各行的註解。
      檔案片段必須如下所示。
      Environment=JRE_HOME=/usr/java/jre-vmware
      # Comment when enable FIPS
      # Environment='CATALINA_OPTS=-Xms768m -Xmx1024m'
      # Uncomment to enable FIPS
      Environment='SERVICE_CLASSPATH=$CATALINA_BASE/lib/ext/*'
      Environment='CATALINA_OPTS=-Xms768m -Xmx1024m -Djava.security.properties==/opt/vmware/dr-client/conf/vmware-override-java.security -Dorg.bouncycastle.jca.enable_jks=true -Dorg.bouncycastle.fips.approved_only=true'
      
    2. 取消 /opt/vmware/dr-client/conf/context.xml 檔案中 <Manager> 標籤的註解。
      帶有標籤的檔案片段必須如下所示。
      <!-- Uncomment to enable FIPS mode.              -->
      <Manager pathname="" secureRandomAlgorithm=""/>
    3. 編輯 /opt/vmware/dr-client/lib/h5dr.properties 檔案,並修改參數以指向 BCFKS 格式的金鑰儲存區和具有根 CA 憑證的信任存放區。
      內容必須如下所示。
      drTrustStorePass=<same as keyStorePass>
      drTrustStoreName=h5dr.truststore.bks
      keyStoreName=h5dr.keystore.bks
      如果選擇使用預設信任存放區以外的其他信任存放區,則必須在 /opt/vmware/dr-client/lib//opt/vmware/dr-client/webapps/dr/WEB-INF/classes/ 中新增信任存放區的連結。金鑰儲存區格式必須為 BCFKS。若要從 JKS 格式匯入該檔案,請使用以下命令。
      $JAVA_HOME/bin/keytool -importkeystore -srckeystore <path-to-jks-keystore> -srcstoretype JKS -srcstorepass <keystorepass> -destkeystore <path-to-target-bks-keystore> -deststoretype BCFKS -deststorepass <keystorepass> -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath /opt/vmware/dr-client/lib/ext/bc-fips-1.0.2.3.jar
      備註: 使用的金鑰儲存區和信任存放區檔案必須具有 其他:讀取權限。重新設定應用裝置後,必須根據上述規則重新編輯檔案 /opt/vmware/dr-client/lib/h5dr.properties
    4. (選擇性) 如果已為應用裝置啟用 FIPS,請重新啟動 dr-client 服務。
      systemctl daemon-reload; systemctl restart dr-client
  7. 以嚴格模式啟用 UI 外掛程式 (dr-client-plugin)。
    1. 編輯 /usr/lib/systemd/system/dr-client-plugin.service。註解掉現有 Environment='CATALINA_OPTS=-Xms768m -Xmx1024m’ 並取消 # Uncomment to enable FIPS 下各行的註解。
      檔案片段必須如下所示。
      Environment=JRE_HOME=/usr/java/jre-vmware
      # Comment when enable FIPS
      # Environment='CATALINA_OPTS=-Xms768m -Xmx1024m'
      # Uncomment to enable FIPS
      Environment='SERVICE_CLASSPATH=$CATALINA_BASE/lib/ext/*'
      Environment='CATALINA_OPTS=-Xms768m -Xmx1024m -Djava.security.properties==/opt/vmware/dr-client/conf/vmware-override-java.security -Dorg.bouncycastle.jca.enable_jks=true -Dorg.bouncycastle.fips.approved_only=true'
    2. 取消 /opt/vmware/dr-client-plugin/conf/context.xml 檔案中 <Manager> 標籤的註解。
      帶有標籤的檔案片段必須如下所示。
      <!-- Uncomment to enable FIPS mode.          -->
      <Manager pathname="" secureRandomAlgorithm=""/>
    3. (選擇性) 如果已為應用裝置啟用 FIPS,請重新啟動 dr-client-plugin 服務。
      systemctl daemon-reload; systemctl restart dr-client-plugin
  8. 以嚴格模式啟動 REST API 服務 (dr-rest)。
    1. 編輯 /usr/lib/systemd/system/dr-rest.service。註解掉現有 Environment='CATALINA_OPTS=-Xms768m -Xmx1024m’ 並取消 # Uncomment to enable FIPS 下各行的註解。
      檔案片段必須如下所示。
      Environment=JRE_HOME=/usr/java/jre-vmware
      # Comment when enable FIPS
      # Environment='CATALINA_OPTS=-Xms768m -Xmx1024m'
      # Uncomment to enable FIPS
      Environment='SERVICE_CLASSPATH=$CATALINA_BASE/lib/ext/*'
      Environment='CATALINA_OPTS=-Xms768m -Xmx1024m -Djava.security.properties==/opt/vmware/dr-client/conf/vmware-override-java.security -Dorg.bouncycastle.jca.enable_jks=true -Dorg.bouncycastle.fips.approved_only=true'
      
    2. 取消 /opt/vmware/dr-rest/conf/context.xml 檔案中 <Manager> 標籤的註解。
      帶有標籤的檔案片段必須如下所示。
      <!-- Uncomment to enable FIPS mode.          -->
      <Manager pathname="" secureRandomAlgorithm=""/>
    3. (選擇性) 如果已為應用裝置啟用 FIPS,請重新啟動 dr-rest 服務。
      systemctl daemon-reload; systemctl restart dr-rest
  9. 將應用裝置重新開機。
    確保在修改後和應用裝置重新開機之前至少執行一次 systemctl daemon-reload 命令。
    備註: SSHD 將顯示核心已啟用 FIPS 模式,並也將啟用該模式。無需在 sshd 組態中編輯任何內容。

下一步

驗證 FIPS 模式是否已啟用。