21장. 전체 IdM 배포에서 만료된 경우 웹 서버 및 LDAP 서버 인증서 교체
시스템 기능을 복원하려면 관리자가 만료된 HTTP 및 LDAP 인증서를 수동으로 교체해야 합니다. 이 복구 프로세스에는 새 서명 요청을 생성하고, 외부 서명을 가져오고, 토폴로지 내의 모든 복제본에 새로 업데이트된 자격 증명을 설치하는 작업이 포함됩니다.
통합 인증 기관(CA)이 없는 IdM 배포에서 certmonger 서비스는 기본적으로 IdM 서비스 인증서를 추적하거나 만료 경고를 제공하지 않습니다. IdM 시스템 관리자가 인증서 추적을 수동으로 구성하거나 알림을 설정하지 않으면 사전 통지 없이 인증서가 만료될 수 있습니다.
다음 절차에 따라 server.idm.example.com IdM 서버에서 실행 중인 httpd 및 LDAP 서비스에 대해 만료된 인증서를 유효한 인증서 체인으로 교체하십시오.
httpd 및 LDAP 서비스 인증서에는 다른 IdM 서버의 키 쌍과 제목 이름이 다릅니다. 따라서 각 IdM 서버에서 인증서를 개별적으로 갱신해야 합니다.
사전 요구 사항
-
토폴로지의 모든 IdM 복제본에
httpd및 LDAP 인증서가 만료되었습니다. 그렇지 않은 경우 IdM 복제본에서 아직 만료되지 않은 경우 웹 서버 및 LDAP 서버 인증서 교체를 참조하십시오. -
IdM 서버 및 복제본에 대한
루트액세스 권한이 있습니다. -
Directory Manager암호를 알고 있습니다. 다음 디렉터리 및 파일의 백업을 생성했습니다.
-
/etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -
/etc/httpd/alias -
/var/lib/certmonger -
/var/lib/ipa/certs/
-
-
새
httpd/LDAP 인증서가 이전 CA와 다른 외부 CA에서 서명하거나 이미 설치된 CA 인증서 인증서가 더 이상 유효하지 않은 경우 외부 CA의 CA 인증서 체인을 저장하는 파일에 액세스할 수 있습니다.
프로세스
-
선택 사항:
/var/lib/ipa/private및 /var/lib/ipa/passwds의백업을 수행합니다. 새 인증서에 서명하기 위해 동일한 CA(인증 기관)를 사용하지 않거나 이미 설치된 CA 인증서가 더 이상 유효하지 않은 경우 외부 CA의 유효한 CA 인증서 체인이 포함된 파일로 로컬 데이터베이스의 외부 CA에 대한 정보를 업데이트합니다. 파일은 PEM 및 DER 인증서, PKCS#7 인증서 체인, PKCS#8 및 원시 개인 키 및 PKCS#12 형식으로 허용됩니다.
CA 인증서를 설치합니다.
# ipa-cacert-manage install /path/to/ca.crt중요새 외부 CA 인증서의 주체가 이전 키와 동일하지만 다른 키를 사용하는 경우 다음 조건을 충족한 경우에만 사용할 수 있습니다.
- 두 인증서에는 동일한 신뢰 플래그가 있습니다.
- CA는 동일한 닉네임을 공유합니다.
-
인증서에 나열된 X509 확장에는 AKI(
Authority Key Identifier) 확장이 포함됩니다.
나머지 인증서 체인을 IdM에 추가 CA 인증서로 설치합니다.
ipa-cacert-manage install명령은 파일에서 첫 번째 인증서만 읽기 때문에 한 번에 하나의 전체 CA 체인을 설치해야 합니다. 예를 들어 체인에 두 개의 인증서가 포함된 경우 각각 인증서를 별도의 파일에 저장하고 각 파일에 대해ipa-cacert-manage install을 개별적으로 실행합니다.# ipa-cacert-manage install /path/to/intermediate-ca.crt# ipa-cacert-manage install /path/to/root-ca.crt인증서 체인의 인증서로 로컬 IdM 인증서 데이터베이스를 업데이트합니다.
# ipa-certupdate
httpd및 LDAP에 대한 인증서를 요청합니다.OpenSSL유틸리티를 사용하여 IdM 인스턴스에서 타사 CA로 실행되는 Apache 웹 서버에 대한 CSR(인증서 서명 요청)을 생성합니다.새 개인 키 생성은 선택 사항입니다. 원래 개인 키가 여전히 있는 경우
openssl req명령과 함께-in옵션을 사용하여 요청을 읽을 입력 파일 이름을 지정할 수 있습니다.$ openssl req -new -nodes -in /var/lib/ipa/private/httpd.key -out /tmp/http.csr -addext 'subjectAltName = DNS:_server.idm.example.com_, otherName:1.3.6.1.4.1.311.20.2.3;UTF8:HTTP/server.idm.example.com@IDM.EXAMPLE.COM' -subj '/O=IDM.EXAMPLE.COM/CN=server.idm.example.com'새 키를 생성하려면 다음을 수행합니다.
$ openssl req -new -newkey rsa:2048 -nodes -keyout /var/lib/ipa/private/httpd.key -out /tmp/http.csr -addext 'subjectAltName = DNS:server.idm.example.com, otherName:1.3.6.1.4.1.311.20.2.3;UTF8:HTTP/server.idm.example.com@IDM.EXAMPLE.COM' -subj '/O=IDM.EXAMPLE.COM/CN=server.idm.example.com'
OpenSSL유틸리티를 사용하여 IdM 인스턴스에서 타사 CA로 실행되는 LDAP 서버에 대한 CSR(인증서 서명 요청)을 생성합니다.$ openssl req -new -newkey rsa:2048 -nodes -keyout ~/ldap.key -out /tmp/ldap.csr -addext 'subjectAltName = DNS:server.idm.example.com, otherName:1.3.6.1.4.1.311.20.2.3;UTF8:ldap/server.idm.example.com@IDM.EXAMPLE.COM' -subj '/O=IDM.EXAMPLE.COM/CN=server.idm.example.com'-
CSR, /tmp/http.csr 및 tmp/ldap.csr 를 외부 CA에 제출하고
httpd의 인증서와 LDAP의 인증서를 가져옵니다. 이 프로세스는 외부 CA로 사용할 서비스에 따라 다릅니다.
httpd에 대한 인증서를 설치합니다.# cp /path/to/httpd.crt /var/lib/ipa/certs/LDAP 인증서를 NSS 데이터베이스에 설치합니다.
선택 사항: 사용 가능한 인증서를 나열합니다.
# certutil -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -LCertificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI Server-Cert u,u,u기본 인증서 닉네임은 Server-Cert 이지만 다른 이름을 적용할 수 있습니다.
이전 단계의 인증서 닉네임을 사용하여 NSS 데이터베이스(
NSSDB)에서 이전 유효하지 않은 인증서를 제거합니다.# certutil -D -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -n 'Server-Cert' -f /etc/dirsrv/slapd-IDM-EXAMPLE-COM/pwdfile.txtNSSDB로 가져오기 프로세스를 쉽게 수행할 수 있도록 PKCS12 파일을 생성합니다.# openssl pkcs12 -export -in ldap.crt -inkey ldap.key -out ldap.p12 -name Server-Cert생성된 PKCS#12 파일을
NSSDB에 설치합니다.# pk12util -i ldap.p12 -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -k /etc/dirsrv/slapd-IDM-EXAMPLE-COM/pwdfile.txt새 인증서를 가져왔는지 확인합니다.
# certutil -L -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/
httpd서비스를 다시 시작합니다.# systemctl restart httpd.serviceDirectory서비스를 다시 시작하십시오.# systemctl restart dirsrv@IDM-EXAMPLE-COM.service-
모든 IdM 복제본에서 이전 단계를 모두 수행합니다. 이는 복제본 간
TLS연결을 설정하기 위한 사전 요구 사항입니다. LDAP 스토리지에 새 인증서를 등록합니다.
Apache 웹 서버의 이전 개인 키와 인증서를 새 키 및 새로 서명된 인증서로 바꿉니다.
# ipa-server-certinstall -w --pin=password /var/lib/ipa/private/httpd.key /var/lib/ipa/certs/httpd.crt위의 명령에서 다음을 수행합니다.
-
w옵션은 웹 서버에 인증서를 설치하도록 지정합니다. -
--pin옵션은 개인 키를 보호하는 암호를 지정합니다.
-
-
메시지가 표시되면
Directory Manager암호를 입력합니다. LDAP 서버의 이전 개인 키와 인증서를 새 키 및 새로 서명된 인증서로 교체합니다.
# ipa-server-certinstall -d --pin=password /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ldap.key /path/to/ldap.crt위의 명령에서 다음을 수행합니다.
-
d옵션은 LDAP 서버에 인증서를 설치하도록 지정합니다. -
--pin옵션은 개인 키를 보호하는 암호를 지정합니다.
-
-
메시지가 표시되면
Directory Manager암호를 입력합니다. httpd서비스를 다시 시작합니다.# systemctl restart httpd.serviceDirectory서비스를 다시 시작하십시오.# systemctl restart dirsrv@IDM-EXAMPLE-COM.service
- 영향을 받는 다른 모든 복제본에서 이전 단계의 명령을 실행합니다.