이 항목에서는 Site Recovery Manager 장치에서 FIPS(Federal Information Processing Standard) 모드를 활성화하기 위해 수행해야 하는 작업을 간략하게 설명합니다.
참고: 인증서 파일 형식
PKCS#12는 FIPS 모드의 인증서 구성에서 지원되지 않습니다.
PKCS#12 파일 형식은 FIPS를 준수하지 않는 알고리즘을 표준 규격으로 사용합니다.
사전 요구 사항
환경을 배포할 때 신뢰할 수 있는 인증서를 사용해야 합니다.
프로시저
- Site Recovery Manager 서비스에 대한 구성 파일을 편집합니다.
- /opt/vmware/dr/conf/drconfig.xml로 이동하여 파일을 열고 다음 설정을 변경합니다.
<Config> <vmacore> <ssl> <fips>true</fips> </ssl> </vmacore> </Config>
- /opt/vmware/srm/conf/vmware-dr.template.xml로 이동하여 파일을 열고 다음 설정을 변경합니다.
<Config> <vmacore> <ssl> <fips>true</fips> </ssl> </vmacore> </Config>
- (선택 사항) 장치가 구성되면 /opt/vmware/srm/conf/vmware-dr.xml 파일을 편집합니다.
<Config> <vmacore> <ssl> <fips>true</fips> </ssl> </vmacore> </Config>
- /opt/vmware/dr/conf/drconfig.xml로 이동하여 파일을 열고 다음 설정을 변경합니다.
- 엄격 모드에서 Site Recovery Manager 서비스를 시작합니다.
- /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
- /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
- dr-configurator 및 srm-server를 다시 시작합니다. 다음 명령을 실행합니다.
systemctl daemon-reload systemctl restart dr-configurator systemctl restart srm-server
- /usr/lib/systemd/system/dr-configurator.service를 편집합니다. # Uncomment to enable FIPS 아래의 줄에서 주석을 제거합니다.
- 장치에 루트 사용자로 로그인하고 커널 cmdline을 편집합니다.
- /boot/grub/grub.cfg를 엽니다.
- menuentry 항목을 찾습니다.
- linux로 시작하는 각 menuentry의 줄 끝에 다음을 추가합니다.
fips=1
- 파일을 저장합니다.
- 엄격 모드에서 구성 UI를 시작합니다.
- /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'
- /opt/vmware/drconfigui/conf/context.xml 파일의 <Manager> 태그에서 주석을 제거합니다.
태그가 있는 파일 조각은 다음과 같아야 합니다.
<!-- Uncomment to enable FIPS mode. --> <Manager pathname="" secureRandomAlgorithm=""/>
- (선택 사항) 장치에 대해 FIPS가 이미 사용되도록 설정된 경우 drconfigui 서비스를 다시 시작합니다.
systemctl daemon-reload; systemctl restart drconfigui
- /usr/lib/systemd/system/drconfigui.service를 편집합니다. 기존 Environment='CATALINA_OPTS=-Xms768m -Xmx1024m'을 주석 처리하고 # Uncomment to enable FIPS 아래의 줄에서 주석을 제거합니다.
- 엄격 모드에서 UI를 시작합니다.
- /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'
- /opt/vmware/dr-client/conf/context.xml 파일의 <Manager> 태그에서 주석을 제거합니다.
태그가 있는 파일 조각은 다음과 같아야 합니다.
<!-- Uncomment to enable FIPS mode. --> <Manager pathname="" secureRandomAlgorithm=""/>
- /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 파일을 다시 편집해야 합니다. - (선택 사항) 장치에 대해 FIPS가 이미 사용되도록 설정된 경우 dr-client 서비스를 다시 시작합니다.
systemctl daemon-reload; systemctl restart dr-client
- /usr/lib/systemd/system/dr-client.service를 편집합니다. 기존 Environment='CATALINA_OPTS=-Xms768m -Xmx1024m'을 주석 처리하고 # Uncomment to enable FIPS 아래의 줄에서 주석을 제거합니다.
- 엄격 모드에서 UI 플러그인(dr-client-plugin)을 시작합니다.
- /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'
- /opt/vmware/dr-client-plugin/conf/context.xml 파일의 <Manager> 태그에서 주석을 제거합니다.
태그가 있는 파일 조각은 다음과 같아야 합니다.
<!-- Uncomment to enable FIPS mode. --> <Manager pathname="" secureRandomAlgorithm=""/>
- (선택 사항) 장치에 대해 FIPS가 이미 사용되도록 설정된 경우 dr-client 플러그인 서비스를 다시 시작합니다.
systemctl daemon-reload; systemctl restart dr-client-plugin
- /usr/lib/systemd/system/dr-client-plugin.service를 편집합니다. 기존 Environment='CATALINA_OPTS=-Xms768m -Xmx1024m'을 주석 처리하고 # Uncomment to enable FIPS 아래의 줄에서 주석을 제거합니다.
- 엄격 모드에서 REST API 서비스(dr-rest)를 시작합니다.
- /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'
- /opt/vmware/dr-rest/conf/context.xml 파일의 <Manager> 태그에서 주석을 제거합니다.
태그가 있는 파일 조각은 다음과 같아야 합니다.
<!-- Uncomment to enable FIPS mode. --> <Manager pathname="" secureRandomAlgorithm=""/>
- (선택 사항) 장치에 대해 FIPS가 이미 사용되도록 설정된 경우 dr-rest 서비스를 다시 시작합니다.
systemctl daemon-reload; systemctl restart dr-rest
- /usr/lib/systemd/system/dr-rest.service를 편집합니다. 기존 Environment='CATALINA_OPTS=-Xms768m -Xmx1024m'을 주석 처리하고 # Uncomment to enable FIPS 아래의 줄에서 주석을 제거합니다.
- 장치를 재부팅합니다.
수정한 후 장치를 재부팅하기 전에
systemctl daemon-reload
명령이 한 번 이상 실행되었는지 확인합니다.참고: SSHD는 커널이 FIPS 모드를 사용하도록 설정했음을 확인하고 이를 활성화합니다. sshd 구성에서는 아무것도 편집할 필요가 없습니다.
다음에 수행할 작업
FIPS 모드가 활성화되었는지 검증합니다.