Red Hat Training

A Red Hat training course is available for RHEL 8

76.2. certmonger를 사용하여 서비스에 대한 IdM 인증서 가져오기

IdM(Identity Management) 클라이언트에서 실행되는 브라우저와 웹 서비스 간의 통신이 안전하고 암호화되었는지 확인하려면 TLS 인증서를 사용합니다. IdM CA(인증 기관)에서 웹 서비스의 TLS 인증서를 가져옵니다.

IdM 클라이언트에서 실행 중인 서비스의 IdM 인증서(HTTP/my_company.idm.example.com@IDM.EXAMPLE.COM)를 받으려면 certmonger 를 사용하십시오.

certmonger 를 사용하여 인증서를 자동으로 요청하면 certmonger 가 갱신될 때 인증서를 관리하고 갱신합니다.

certmonger 가 서비스 인증서를 요청할 때 발생하는 내용을 시각적으로 표현하려면 서비스 인증서를 요청하는 certmonger에 대한 통신 흐름을 참조하십시오.

사전 요구 사항

  • 웹 서버가 IdM 클라이언트로 등록되었습니다.
  • 프로시저를 실행 중인 IdM 클라이언트에 대한 루트 액세스 권한이 있습니다.
  • 인증서를 요청하는 서비스는 IdM에 기존 존재하지 않아도 됩니다.

절차

  1. HTTP 서비스가 실행 중인 my_company.idm.example.com IdM 클라이언트에서 HTTP /my_company.idm.example.com@IDM.EXAMPLE.COM 주체에 해당하는 서비스에 대한 인증서를 요청하고 다음을 지정합니다.

    • 인증서는 로컬 /etc/pki/tls/certs/httpd.pem 파일에 저장해야 합니다.
    • 개인 키는 로컬 /etc/pki/tls/private/httpd.key 파일에 저장해야 합니다.
    • my_company.idm.example.com의 DNS 이름을 사용하여 서명 요청에 SubjectAltName 의 extensionRequest를 추가합니다.

      # ipa-getcert request -K HTTP/my_company.idm.example.com -k /etc/pki/tls/private/httpd.key -f /etc/pki/tls/certs/httpd.pem -g 2048 -D my_company.idm.example.com -C "systemctl restart httpd"
      New signing request "20190604065735" added.

      위의 명령에서 다음을 수행합니다.

      • ipa-getcert request 명령은 인증서를 IdM CA에서 가져오도록 지정합니다. ipa-getcert request 명령은 getcert request -c IPA 의 바로 가기입니다.
      • g 옵션은 아직 배치되지 않은 경우 생성할 키 크기를 지정합니다.
      • D 옵션은 요청에 추가할 SubjectAltName DNS 값을 지정합니다.
      • C 옵션은 인증서를 가져온 후 certmongerhttpd 서비스를 다시 시작하도록 지시합니다.
      • 인증서를 특정 프로필과 함께 발행하도록 지정하려면 -T 옵션을 사용합니다.
      • 지정된 CA에서 명명된 발급자를 사용하여 인증서를 요청하려면 -X ISSUER 옵션을 사용합니다.
      참고

      RHEL 8에서는 RHEL 7에 사용된 모듈과 Apache에서 다른 SSL 모듈을 사용합니다. SSL 모듈은 NSS 대신 OpenSSL을 사용합니다. 따라서 RHEL 8에서는 NSS 데이터베이스를 사용하여 HTTPS 인증서 및 개인 키를 저장할 수 없습니다.

  2. 선택적으로 요청 상태를 확인하려면 다음을 수행합니다.

    # ipa-getcert list -f /etc/pki/tls/certs/httpd.pem
    Number of certificates and requests being tracked: 3.
    Request ID '20190604065735':
        status: MONITORING
        stuck: no
        key pair storage: type=FILE,location='/etc/pki/tls/private/httpd.key'
        certificate: type=FILE,location='/etc/pki/tls/certs/httpd.crt'
        CA: IPA
    [...]

    출력에서 요청이 MONITORING 상태에 있음을 보여줍니다. 즉, 인증서를 가져왔습니다. 키 쌍과 인증서의 위치는 요청된 값입니다.