22.3. OpenPegasus에 대한 SSL 인증서 구성
OpenLMI는 HTTP 전송 계층에서 작동하는 웹 기반 엔터프라이즈 관리(WBEM) 프로토콜을 사용합니다. 표준 HTTP Basic 인증은 이 프로토콜에서 수행되는데, 이는 사용자 이름 및 암호가 요청과 함께 전송됨을 의미합니다.
보안 인증을 위해서는 통신에 HTTPS를 사용하도록 OpenPegasus CIMOM을 구성해야 합니다. 암호화된 채널을 구축하기 위해 관리 시스템에 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 인증서가 필요합니다.
시스템에서 SSL/TLS 인증서를 관리하는 방법은 다음 두 가지가 있습니다.
- 자체 서명된 인증서는 인프라를 덜 사용해야 하지만 클라이언트에 배포하는 것이 더 어려워지고 안전하게 관리하기가 더 어렵습니다.
- 권한이 서명된 인증서는 설정한 후 고객에게 더 쉽게 배포할 수 있지만 초기 비용이 더 필요할 수 있습니다.
기관 서명 인증서를 사용하는 경우 클라이언트 시스템에서 신뢰할 수 있는 인증 기관을 구성해야 합니다. 그러면 권한이 모든 관리 시스템의 CIMOM 인증서에 서명하는 데 사용할 수 있습니다. 인증서는 인증서 체인의 일부일 수 있으므로 관리 시스템 인증서에 서명하는 데 사용되는 인증서는 다른 기관(예: RuntimeClass, CAcert, RSA 등)에 의해 서명될 수 있습니다.
파일 시스템의 기본 인증서 및 신뢰 저장소 위치는 표 22.2. “인증서 및 신뢰 저장소 위치” 에 나열됩니다.
구성 옵션 | 위치 | 설명 |
---|---|---|
|
| CIMOM의 공용 인증서입니다. |
|
| CIMOM에서만 알려진 개인 키입니다. |
|
| 신뢰할 수 있는 인증 기관 목록을 제공하는 파일 또는 디렉터리입니다. |
표 22.2. “인증서 및 신뢰 저장소 위치” 에 언급된 파일을 수정하는 경우 tog-pegasus
서비스를 다시 시작하여 새 인증서를 인식하는지 확인합니다. 서비스를 다시 시작하려면 root
로 쉘 프롬프트에 다음을 입력합니다.
systemctl restart tog-pegasus.service
Red Hat Enterprise Linux 7에서 시스템 서비스를 관리하는 방법에 대한 자세한 내용은 10장. systemd를 사용하여 서비스 관리 를 참조하십시오.
22.3.1. 자체 서명된 인증서 관리
자체 서명된 인증서는 자체 개인 키를 사용하여 자체에 서명하고 신뢰 체인과 연결되지 않습니다. 관리 시스템에서 tog-pegasus
서비스가 처음 시작되기 전에 관리자가 인증서를 제공하지 않은 경우 자체 서명된 인증서 세트가 시스템의 기본 호스트 이름을 인증서 제목으로 사용하여 자동으로 생성됩니다.
자동으로 생성된 자체 서명 인증서는 기본적으로 10년 동안 유효하지만 자동 갱신 기능은 없습니다. 이러한 인증서를 수정하려면 주체의 OpenSSL 또는 Mozilla NSS 문서에서 제공하는 지침에 따라 새 인증서를 수동으로 생성해야 합니다.
자체 서명된 인증서를 신뢰하도록 클라이언트 시스템을 구성하려면 다음 단계를 완료합니다.
관리 시스템에서 클라이언트 시스템의
/etc/Pegasus/server.pem
인증서를 클라이언트 시스템의/etc/pki/ca-trust/source/anchors/
디렉터리로 복사합니다. 이렇게 하려면 쉘 프롬프트에서root
로 다음을 입력합니다.scp root@hostname:/etc/Pegasus/server.pem /etc/pki/ca-trust/source/anchors/pegasus-hostname.pem
hostname 을 관리 시스템의 호스트 이름으로 교체합니다. 이 명령은
sshd
서비스가 관리 시스템에서 실행되고 있고root
사용자가 SSH 프로토콜을 통해 시스템에 로그인할 수 있도록 구성된 경우에만 작동합니다.sshd
서비스를 설치 및 구성하고scp
명령을 사용하여 SSH 프로토콜을 통해 파일을 전송하는 방법에 대한 자세한 내용은 12장. OpenSSH 을 참조하십시오.검사 합계를 원본 파일의 검사 합계와 비교하여 클라이언트 시스템에서 인증서의 무결성을 확인합니다. 관리 시스템에서
/etc/Pegasus/server.pem
파일의 검사 합계를 계산하려면 해당 시스템에서root
로 다음 명령을 실행합니다.sha1sum /etc/Pegasus/server.pem
클라이언트 시스템에서
/etc/pki/ca-trust/source/anchors/pegasus-hostname.pem
파일의 검사 합계를 계산하려면 이 시스템에서 다음 명령을 실행합니다.sha1sum /etc/pki/ca-trust/source/anchors/pegasus-hostname.pem
hostname 을 관리 시스템의 호스트 이름으로 교체합니다.
다음 명령을
root
로 실행하여 클라이언트 시스템에서 신뢰 저장소를 업데이트합니다.update-ca-trust extract
22.3.2. ID 관리를 사용하여 기관 서명 인증서 관리(권장)
Red Hat Enterprise Linux의 Identity Management 기능은 도메인에 연결된 시스템 내의 SSL 인증서 관리를 간소화하는 도메인 컨트롤러를 제공합니다. 그 외에는 ID 관리 서버는 포함된 인증 기관을 제공합니다. 클라이언트 및 관리형 시스템을 도메인에 조인하는 방법에 대한 정보는 Red Hat Enterprise Linux 7 Linux 7 Linux 도메인 ID, 인증 및 정책 가이드 또는 FreeIPA 설명서를 참조하십시오.
관리 시스템을 Identity Management에 등록해야 합니다. 클라이언트 시스템의 경우 등록은 선택 사항입니다.
관리 시스템에서 다음 단계가 필요합니다.
- ipa-client 패키지를 설치하고 Red Hat Enterprise Linux 7 Linux 7 Linux 도메인 ID, 인증 및 정책 가이드에 설명된 대로 Identity Management에 시스템을 등록합니다.
root
로 다음 명령을 입력하여 ID 관리 서명 인증서를 신뢰할 수 있는 저장소로 복사합니다.cp /etc/ipa/ca.crt /etc/pki/ca-trust/source/anchors/ipa.crt
다음 명령을
root
로 실행하여 신뢰 저장소를 업데이트합니다.update-ca-trust extract
권한 있는 도메인 사용자로 다음 명령을 실행하여 ID 관리 도메인에서 Pegasus를 서비스로 등록합니다.
ipa service-add CIMOM/hostname
hostname 을 관리 시스템의 호스트 이름으로 교체합니다.
이 명령은 ipa-admintools 패키지가 설치된 Identity Management 도메인의 모든 시스템에서 실행할 수 있습니다. 서명된 SSL 인증서를 생성하는 데 사용할 수 있는 ID 관리에 서비스 항목을 생성합니다.
-
/etc/Pegasus/
디렉터리에 있는 PEM 파일을 백업합니다(권장). root
로 다음 명령을 실행하여 서명된 인증서를 검색합니다.ipa-getcert request -f /etc/Pegasus/server.pem -k /etc/Pegasus/file.pem -N CN=hostname -K CIMOM/hostname
hostname 을 관리 시스템의 호스트 이름으로 교체합니다.
이제 인증서와 키 파일이 적절한 위치에 유지됩니다.
ipa-client-install
스크립트를 통해 관리 시스템에 설치된certmonger
데몬을 사용하면 필요한 경우 인증서를 최신 상태로 유지하고 갱신할 수 있습니다.자세한 내용은 Red Hat Enterprise Linux 7 Linux 도메인 ID, 인증 및 정책 가이드 를 참조하십시오.
클라이언트 시스템을 등록하고 신뢰 저장소를 업데이트하려면 아래 단계를 따르십시오.
- ipa-client 패키지를 설치하고 Red Hat Enterprise Linux 7 Linux 7 Linux 도메인 ID, 인증 및 정책 가이드에 설명된 대로 Identity Management에 시스템을 등록합니다.
root
로 다음 명령을 입력하여 ID 관리 서명 인증서를 신뢰할 수 있는 저장소로 복사합니다.cp /etc/ipa/ca.crt /etc/pki/ca-trust/source/anchors/ipa.crt
다음 명령을
root
로 실행하여 신뢰 저장소를 업데이트합니다.update-ca-trust extract
클라이언트 시스템을 Identity Management에 등록하지 않으려면 다음 단계를 완료하여 신뢰 저장소를 업데이트합니다.
-
동일한 ID 관리 도메인에 연결된 다른 시스템에서
/etc/ipa/ca.crt
파일을root
로 신뢰할 수 있는 저장소/etc/pki/ca-trust/source/anchors/
디렉터리에 안전하게 복사합니다. 다음 명령을
root
로 실행하여 신뢰 저장소를 업데이트합니다.update-ca-trust extract
22.3.3. 수동으로 권한 서명 인증서 관리
ID 관리 이외의 다른 메커니즘을 사용하여 권한 서명 인증서를 관리하려면 더 많은 수동 구성이 필요합니다.
모든 클라이언트가 관리 시스템 인증서에 서명할 기관의 인증서를 신뢰하도록 해야 합니다.
- 기본적으로 인증 기관을 신뢰하는 경우 이를 수행하기 위해 특정 단계를 수행할 필요가 없습니다.
기본적으로 인증 기관을 신뢰할 수 없는 경우 인증서를 클라이언트 및 관리 시스템에서 가져와야 합니다.
다음 명령을
root
로 입력하여 신뢰할 수 있는 저장소에 인증서를 복사합니다.cp /path/to/ca.crt /etc/pki/ca-trust/source/anchors/ca.crt
다음 명령을
root
로 실행하여 신뢰 저장소를 업데이트합니다.update-ca-trust extract
관리 시스템에서 다음 단계를 완료합니다.
인증서에 대한 정보를 저장하기 위해 새 SSL 구성 파일
/etc/Pegasus/ssl.cnf
를 만듭니다. 이 파일의 내용은 다음 예와 유사해야 합니다.[ req ] distinguished_name = req_distinguished_name prompt = no [ req_distinguished_name ] C = US ST = Massachusetts L = Westford O = Fedora OU = Fedora OpenLMI CN = hostname
hostname 을 관리형 시스템의 정규화된 도메인 이름으로 교체합니다.
다음 명령을
root
로 사용하여 관리 시스템에서 개인 키를 생성합니다.openssl genrsa -out /etc/Pegasus/file.pem 1024
이 명령을
root
로 실행하여 CSR(인증서 서명 요청)을 생성합니다.openssl req -config /etc/Pegasus/ssl.cnf -new -key /etc/Pegasus/file.pem -out /etc/Pegasus/server.csr
-
/etc/Pegasus/server.csr
파일을 서명을 위한 인증 기관에 보냅니다. 파일을 제출하는 자세한 절차는 특정 인증 기관에 따라 다릅니다. -
서명된 인증서가 인증 기관에서 수신되면 이를
/etc/Pegasus/server.pem
으로 저장합니다. 신뢰할 수 있는 기관의 인증서를 Pegasus 신뢰 저장소에 복사하여 Pegasus를
root
로 실행하여 자체 인증서를 신뢰할 수 있습니다.cp /path/to/ca.crt /etc/Pegasus/client.pem
설명된 모든 단계를 완료한 후 서명 기관을 신뢰하는 클라이언트는 관리형 서버의 CIMOM과 성공적으로 통신할 수 있습니다.
ID 관리 솔루션과 달리 인증서를 갱신해야 하는 경우 설명된 모든 수동 단계를 다시 수행해야 합니다. 인증서가 만료되기 전에 인증서를 갱신하는 것이 좋습니다.