NetWorker: "Authc" 및 "NWUI"에 대해 인증 기관에서 서명한 인증서를 가져오거나 교체하는 방법(Linux)
Summary: 다음은 "authc" 및 "nwui" 서비스에 대해 기본 NetWorker 자체 서명 인증서를 CA(Certificate Authority) 서명 인증서로 교체하는 일반적인 단계입니다.
Instructions
이 지침에서는 기본 NetWorker 자체 서명 인증서를 CA 서명 인증서로 교체하는 방법에 대해 설명합니다. authc 및 nwui NetWorker Server
의 서비스파일 이름에는 명명 요구 사항이 없지만 파일 형식에 대한 확장명을 참조해야 합니다. 표시된 명령 예는 Linux용입니다. Windows 지침은 다음을 참조하십시오.
NetWorker: "Authc" 및 "NWUI"에 대해 인증 기관에서 서명한 인증서를 가져오거나 교체하는 방법(Windows)
인증서 파일에는 다음이 포함됩니다.
<server>.csr: NetWorker server certificate signing request <server>.key: NetWorker server private key <server>.crt: NetWorker server CA-signed certificate <CA>.crt: CA root certificate <ICA>.crt: CA intermediate certificate (optional if it is available)
키 저장소에는 다음이 포함됩니다.
authc.keystore authc.truststore cacerts nwui.keystore
CA에 제공할 개인 키 및 CSR(Certificate Signing Request) 파일을 생성합니다.
-
OpenSSL 명령줄 유틸리티를 사용하여 NetWorker Server 개인 키 파일(
<server>.key) 및 CSR 파일(<server>.csr(Flash Translation Layer)을 사용하는 데이터 저장 애플리케이션과 시스템에서 일반적으로 수행되는 반복 프로그램과 삭제 사이클로 인해 마모되기 쉽습니다.# openssl req -new -newkey rsa:4096 -nodes -out /tmp/<server>.csr -keyout /tmp/<server>.key
-
CSR 파일(
<server>.csr)을 추가하여 CA 서명 인증서 파일(<server>.crt(Flash Translation Layer)을 사용하는 데이터 저장 애플리케이션과 시스템에서 일반적으로 수행되는 반복 프로그램과 삭제 사이클로 인해 마모되기 쉽습니다. CA는 CA 서명 인증서 파일(<server>.crt), 루트 인증서(<CA>.crt) 및 중간 CA 인증서(<ICA>.crt(Flash Translation Layer)을 사용하는 데이터 저장 애플리케이션과 시스템에서 일반적으로 수행되는 반복 프로그램과 삭제 사이클로 인해 마모되기 쉽습니다.
사전 검증 단계:
다음 사항이 있는지 확인합니다.
- server.crt 파일 - 첫 번째 줄이 -----BEGIN CERTIFICATE-----이고 마지막 줄이 -----END CERTIFICATE인 PEM 인증서가 포함되어 있습니다-----
- 키 파일은 -----BEGIN RSA PRIVATE KEY-----로 시작하고 -----END RSA PRIVATE KEY로 끝납니다-----
- 다음을 실행하여 모든 인증서가 유효한 PEM 형식 파일인지 확인합니다.
openssl x509 -in <cert> -text -noout. - 올바른 인증서인지 확인하기 위해 위의 출력을 검증합니다.
- 다음 두 명령의 출력을 확인합니다.
openssl rsa -pubout -in server.key
openssl x509 -pubkey -noout -in server.crt
이 두 명령의 출력은 일치해야 합니다.
아래 설명된 단계와 명령을 용이하게 하기 위해 다음 변수를 생성합니다.
java_bin=/opt/nre/java/latest/bin nsr=<path to /nsr partition> # In case of NVE for instance this is /data01/nsr cert=<path to server crt file> key=<path to server key file> RCAcert=<path to Root CA file> ICAcert=<path to intermediate CA crt file>
중간 인증서가 두 개 이상 있는 경우 각 인증서에 대한 변수를 만듭니다. ICA1, ICA2 등
올바른 NetWorker 키 저장소 암호를 알고 있어야 합니다. 이러한 암호는 AUTHC 및 NWUI 구성 중에 설정됩니다. 확실하지 않은 경우 다음을 참조하십시오.
키 저장소 패스 변수(옵션 1)를 사용하거나 파일에 저장하여 비밀번호를 숨길 수도 있습니다(옵션 2):
옵션 1의 예:
authc_storepass='P4ssw0rd!' nwui_storepass='Password1!'
옵션 2의 예:
authc_storepass=$(cat authc_storepass_file.txt) nwui_storepass=$(cat nwui_storepass_file.txt)
시작하기 전:
업데이트된 키 저장소 및 구성 파일의 백업 복제본을 만듭니다.
tar -zcvf /tmp/NSR_$(hostname -s)_$(date -I).tar.gz $java_bin/../lib/security/cacerts $nsr/nwui/monitoring/app/conf/nwui.keystore /opt/nsr/authc-server/conf /nsr/nwui/monitoring/nwuidb/pgdata
인증 서비스 인증서 교체 단계:
이 authc 아래 절차가 작동하기 위해 서비스를 중지할 필요는 없습니다. 그러나 새 인증서를 로드하려면 시스템을 다시 시작해야 합니다.
-
인증서 가져오기
-
루트 인증서(
<CA>.crt) 및 중간 CA 인증서(<ICA>.crt)을authc.keystore.$java_bin/keytool -import -alias RCA -keystore $nsr/authc/conf/authc.keystore -file $RCAcert -storepass $authc_storepass $java_bin/keytool -import -alias RCA -keystore /opt/nsr/authc-server/conf/authc.truststore -file $RCAcert -storepass $authc_storepass $java_bin/keytool -import -alias ICA -keystore $nsr/authc/conf/authc.keystore -file $ICAcert -storepass $authc_storepass $java_bin/keytool -import -alias ICA -keystore /opt/nsr/authc-server/conf/authc.truststore -file $ICAcert -storepass $authc_storepass
-
NetWorker Server 개인 키 파일(
<server>.key) 및 새 CA 서명 인증서 파일(<server>.crt)을 클릭하여 PKCS12 저장소 파일을 만듭니다.emcauthctomcat및emcauthcsaml별명.openssl pkcs12 -export -in $cert -inkey $key -name emcauthctomcat -out /tmp/$hostname.tomcat.authc.p12 -password pass:$authc_storepass openssl pkcs12 -export -in $cert -inkey $key -name emcauthcsaml -out /tmp/$hostname.saml.authc.p12 -password pass:$authc_storepass
참고: pkcs12 파일 비밀번호는 키 저장소의 비밀번호와 반드시 일치해야 합니다. 이것이 우리가 이 경우authcstorepass입니다. -
PKCS12 저장소 파일을
authc.keystore.$java_bin/keytool -importkeystore -destkeystore /nsr/authc/conf/authc.keystore -srckeystore /tmp/$hostname.tomcat.authc.p12 -srcstoretype PKCS12 -srcstorepass $authc_storepass -deststorepass $authc_storepass $java_bin/keytool -importkeystore -destkeystore /nsr/authc/conf/authc.keystore -srckeystore /tmp/$hostname.saml.authc.p12 -srcstoretype PKCS12 -srcstorepass $authc_storepass -deststorepass $authc_storepass
-
PKCS12 저장소 파일을
authc.truststore.$java_bin/keytool -importkeystore -destkeystore /opt/nsr/authc-server/conf/authc.truststore -srckeystore /tmp/$hostname.tomcat.authc.p12 -srcstoretype PKCS12 -srcstorepass $authc_storepass -deststorepass $authc_storepass $java_bin/keytool -importkeystore -destkeystore /opt/nsr/authc-server/conf/authc.truststore -srckeystore /tmp/$hostname.saml.authc.p12 -srcstoretype PKCS12 -srcstorepass $authc_storepass -deststorepass $authc_storepass
-
기본 NetWorker 자체 서명 인증서를 삭제하고 CA 서명된 새 인증서 파일(
<server>.crt)을authc.truststore.$java_bin/keytool -delete -alias emcauthctomcat -keystore /opt/nsr/authc-server/conf/authc.truststore -storepass $authc_storepass $java_bin/keytool -import -alias emcauthctomcat -keystore /opt/nsr/authc-server/conf/authc.truststore -file $cert -storepass $authc_storepass $java_bin/keytool -delete -alias emcauthcsaml -keystore /opt/nsr/authc-server/conf/authc.truststore -storepass $authc_storepass $java_bin/keytool -import -alias emcauthcsaml -keystore /opt/nsr/authc-server/conf/authc.truststore -file $cert -storepass $authc_storepass
-
마지막으로 이 인증서를 아래의 Java cacerts 키 저장소 파일로 가져옵니다.
emcauthctomcat별명:$java_bin/keytool -delete -alias emcauthctomcat -keystore $java_bin/../lib/security/cacerts -storepass changeit $java_bin/keytool -import -alias emcauthctomcat -keystore $java_bin/../lib/security/cacerts -file $cert -storepass changeit
-
-
편집
admin_service_default_url=localhost의 값authc-cli-app.propertiesCA 서명 인증서 파일에 사용된 NetWorker Server 이름을 반영하는 파일:cat /opt/nsr/authc-server/conf/authc-cli-app.properties admin_service_default_protocol=https admin_service_default_url=<my-networker-server.my-domain.com> admin_service_default_port=9090 admin_service_default_user= admin_service_default_password= admin_service_default_tenant= admin_service_default_domain= - 다음을 위해 NetWorker 서비스를 재시작해야 합니다.
authc가져온 새 인증서를 사용합니다.
nsr_shutdown systemctl start networker
-
재설정
authcNetWorker Server에 대한 신뢰:nsrauthtrust -H <local host or Authentication_service_host> -P 9090
Authc 사후 검증:
각 "Certificate fingerprint" 별칭의 출력은 다른 키 저장소의 출력과 일치합니다.
$java_bin/keytool -list -keystore $java_bin/../lib/security/cacerts -storepass changeit | grep emcauthctomcat -A1 $java_bin/keytool -list -keystore /opt/nsr/authc-server/conf/authc.truststore -storepass $authc_storepass | grep emcauthctomcat -A1 $java_bin/keytool -list -keystore $nsr/authc/conf/authc.keystore -storepass $authc_storepass | grep emcauthctomcat -A1
출력은 다음과 비슷해야 합니다.
Certificate fingerprint (SHA-256): FD:54:B4:11:42:87:FF:CA:80:77:D2:C7:06:87:09:72:70:85:C1:70:39:32:A9:C0:14:83:D9:3A:29:AF:44:90
이 지문은 설치된 인증서에서 가져온 것입니다. 이는 다른 키 저장소에 새 인증서 도입이 올바르게 수행되었음을 나타냅니다.
openssl x509 -in $cert -fingerprint -sha256 -noout
때 authc 서비스가 실행 중이면 인바운드 연결에 제공하는 인증서가 위와 동일한지 확인할 수 있습니다.
openssl x509 -in <(openssl s_client -connect localhost:9090 -prexit 2>/dev/null </dev/null | sed -n -e '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p') -fingerprint -sha256 -noout
*위의 명령은 NetWorker Server 자체에서 실행되었으므로 localhost에 연결됩니다. 외부 사용으로부터의 연결 <nw server name>:9090
NetWorker 사용자 인터페이스(nwui) 서비스 인증서 교체 단계:
우리는 다음과 같이 가정합니다. nwui 서비스가 NetWorker Server에서 실행되고 있는지 확인합니다.
-
를 중지합니다.
nwui서비스systemctl stop nwui
-
기본 NetWorker 자체 서명 인증서를 삭제하고 CA 서명 인증서 파일(
<server>.crt)을 cacerts 키 저장소에 추가합니다. 일관성을 위해nwui-CA 서명 인증서가 있는 관련 인증서.- 다음 단계를 수행하기 전에 NRE(NetWorker Runtime Environment)를 사용하는지 JRE(Java Runtime Environment)를 사용하는지 여부를 확인해야 합니다.
- JRE를 사용하는 경우 /cacerts의 경로는
$java_bin/../lib/security/cacerts. - NRE를 사용하는 경우 /cacerts의 경로는
/opt/nre/java/latest/lib/security/cacerts.$java_bin/keytool -delete -alias emcnwuimonitoring -keystore $java_bin/../lib/security/cacerts -storepass changeit $java_bin/keytool -import -alias emcnwuimonitoring -keystore $java_bin/../lib/security/cacerts -file $cert -storepass changeit $java_bin/keytool -delete -alias emcnwuiserv -keystore $java_bin/../lib/security/cacerts -storepass changeit $java_bin/keytool -import -alias emcnwuiserv -keystore $java_bin/../lib/security/cacerts -file $cert -storepass changeit $java_bin/keytool -delete -alias emcnwuiauthc -keystore $java_bin/../lib/security/cacerts -storepass changeit $java_bin/keytool -import -alias emcnwuiauthc -keystore $java_bin/../lib/security/cacerts -file $cert -storepass changeit
-
NetWorker Server 개인 키 파일(
<server>.key) 및 새 CA 서명 인증서 파일(<server>.crt)을 클릭하여 PKCS12 저장소 파일을 만듭니다.emcauthctomcat및emcauthcsaml별칭nwui키 저장소로 가져옵니다.openssl pkcs12 -export -in $cert -inkey $key -name emcauthctomcat -out /tmp/$hostname.tomcat.nwui.p12 -password pass:$nwui_storepass openssl pkcs12 -export -in $cert -inkey $key -name emcauthcsaml -out /tmp/$hostname.saml.nwui.p12 -password pass:$nwui_storepass
참고: pkcs12 파일 비밀번호는 키 저장소의 비밀번호와 반드시 일치해야 합니다. 이것이 우리가 이 경우nwuistorepass입니다. -
.p12 파일, 루트 CA 인증서 및 중간 CA 인증서를
nwui키 저장소로 가져옵니다.$java_bin/keytool -importkeystore -destkeystore $nsr/nwui/monitoring/app/conf/nwui.keystore -srckeystore /tmp/$hostname.tomcat.nwui.p12 -srcstoretype PKCS12 -srcstorepass $nwui_storepass -deststorepass $nwui_storepass $java_bin/keytool -importkeystore -destkeystore $nsr/nwui/monitoring/app/conf/nwui.keystore -srckeystore /tmp/$hostname.saml.nwui.p12 -srcstoretype PKCS12 -srcstorepass $nwui_storepass -deststorepass $nwui_storepass $java_bin/keytool -import -alias RCA -keystore $nsr/nwui/monitoring/app/conf/nwui.keystore -file $RCAcert -storepass $nwui_storepass $java_bin/keytool -import -alias ICA -keystore $nsr/nwui/monitoring/app/conf/nwui.keystore -file $ICAcert -storepass $nwui_storepass
-
이름 바꾸기
emcnwuimonitoring,emcnwuiauthc및emcnwuiservcertificates를 선택하고 서버 인증서를 같은 이름으로 이 경로에 넣습니다.mv /nsr/nwui/monitoring/app/conf/emcnwuimonitoring.cer /nsr/nwui/monitoring/app/conf/emcnwuimonitoring.cer_orig cp $cert /nsr/nwui/monitoring/app/conf/emcnwuimonitoring.cer chown nsrnwui:nsrnwui /nsr/nwui/monitoring/app/conf/emcnwuimonitoring.cer mv /opt/nwui/conf/emcnwuiauthc.cer /opt/nwui/conf/emcnwuiauthc.cer_orig cp $cert /opt/nwui/conf/emcnwuiauthc.cer chown nsrnwui:nsrnwui /opt/nwui/conf/emcnwuiauthc.cer mv /opt/nwui/conf/emcnwuiserv.cer /opt/nwui/conf/emcnwuiserv.cer_orig cp $cert /opt/nwui/conf/emcnwuiserv.cer chown nsrnwui:nsrnwui /opt/nwui/conf/emcnwuiserv.cer
-
를 시작합니다.
nwui서비스systemctl start nwui
nwui 사후 확인:
각 "Certificate fingerprint" 별칭의 출력은 다른 키 저장소의 출력과 일치합니다.
$java_bin/keytool -list -keystore $nsr/nwui/monitoring/app/conf/nwui.keystore -storepass $nwui_storepass | grep emcauthctomcat -A1 $java_bin/keytool -list -keystore $java_bin/../lib/security/cacerts -storepass changeit | grep emcauthctomcat -A1 $java_bin/keytool -list -storepass $authc_storepass -keystore $nsr/authc/conf/authc.keystore | grep emcauthctomcat -A1
이 지문은 설치된 인증서에서 가져온 것입니다. 이는 다른 키 저장소에 새 인증서 도입이 올바르게 수행되었음을 나타냅니다.
openssl x509 -in $cert -fingerprint -sha256 -noout
nwui PostgreSQL 인증서 교체 단계
mv $nsr/nwui/monitoring/nwuidb/pgdata/server.crt /nsr/nwui/monitoring/nwuidb/pgdata/server.crt_orig mv $nsr/nwui/monitoring/nwuidb/pgdata/server.key /nsr/nwui/monitoring/nwuidb/pgdata/server.key_orig cp $cert $nsr/nwui/monitoring/nwuidb/pgdata/server.crt cp $key $nsr/nwui/monitoring/nwuidb/pgdata/server.key
<server>.crt 및 <server>.key files는 PostgreSQL 데이터베이스가 실행 중인 사용자여야 합니다.
- Linux: nsrnwui
Additional Information
CA 서명 인증서 가져오기에 대한 자세한 내용은 Dell NetWorker 보안 구성 가이드를 참조하십시오.
NMC(NetWorker Management Console) 자체 서명 인증서를 CA 서명 인증서로 교체하는 프로세스는 다음 KB에 자세히 설명되어 있습니다.