이 항목에서는 Site Recovery Manager 장치에서 FIPS(Federal Information Processing Standard) 모드를 활성화하기 위해 수행해야 하는 작업을 간략하게 설명합니다.

참고: 인증서 파일 형식 PKCS#12는 FIPS 모드의 인증서 구성에서 지원되지 않습니다. PKCS#12 파일 형식은 FIPS를 준수하지 않는 알고리즘을 표준 규격으로 사용합니다.

사전 요구 사항

환경을 배포할 때 신뢰할 수 있는 인증서를 사용해야 합니다.

프로시저

  1. Site Recovery Manager 서비스에 대한 구성 파일을 편집합니다.
    1. /opt/vmware/dr/conf/drconfig.xml로 이동하여 파일을 열고 다음 설정을 변경합니다.
      <Config>
          <vmacore>
              <ssl>
                  <fips>true</fips>
              </ssl>
          </vmacore>
      </Config>
    2. /opt/vmware/srm/conf/vmware-dr.template.xml로 이동하여 파일을 열고 다음 설정을 변경합니다.
      <Config>
          <vmacore>
              <ssl>
                  <fips>true</fips>
              </ssl>
          </vmacore>
      </Config>
    3. (선택 사항) 장치가 구성되면 /opt/vmware/srm/conf/vmware-dr.xml 파일을 편집합니다.
      <Config>
          <vmacore>
              <ssl>
                  <fips>true</fips>
              </ssl>
          </vmacore>
      </Config>
  2. 엄격 모드에서 Site Recovery Manager 서비스를 시작합니다.
    1. /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
    2. /usr/lib/systemd/system/srm-server.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-configuratorsrm-server를 다시 시작합니다. 다음 명령을 실행합니다.
      systemctl daemon-reload
      systemctl restart dr-configurator
      systemctl restart srm-server
  3. 장치에 루트 사용자로 로그인하고 커널 cmdline을 편집합니다.
    1. /boot/grub/grub.cfg를 엽니다.
    2. menuentry 항목을 찾습니다.
    3. linux로 시작하는 각 menuentry의 줄 끝에 다음을 추가합니다.
      fips=1
    4. 파일을 저장합니다.
  4. 엄격 모드에서 구성 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
  5. 엄격 모드에서 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 파일을 편집하고 루트 CA 인증서가 있는 BCFKS 형식 키 저장소 및 신뢰 저장소를 가리키도록 매개 변수를 수정합니다.
      속성은 다음과 같아야 합니다.
      drTrustStorePass=<same as keyStorePass>
      drTrustStoreName=h5dr.truststore.bks
      keyStoreName=h5dr.keystore.bks
      기본 신뢰 저장소 이외의 신뢰 저장소를 사용하도록 선택하는 경우 /opt/vmware/dr-client/lib/ 또는 /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
  6. 엄격 모드에서 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 플러그인 서비스를 다시 시작합니다.
      systemctl daemon-reload; systemctl restart dr-client-plugin
  7. 엄격 모드에서 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
  8. 장치를 재부팅합니다.
    수정한 후 장치를 재부팅하기 전에 systemctl daemon-reload 명령이 한 번 이상 실행되었는지 확인합니다.
    참고: SSHD는 커널이 FIPS 모드를 사용하도록 설정했음을 확인하고 이를 활성화합니다. sshd 구성에서는 아무것도 편집할 필요가 없습니다.

다음에 수행할 작업

FIPS 모드가 활성화되었는지 검증합니다.