IdM에서 인증서 관리
인증서 발행, 인증서 기반 인증 구성 및 인증서 유효성 제어
초록
certmonger 서비스, certutil 툴 또는 Ansible 플레이북을 사용하여 인증서를 요청 및 갱신할 수 있습니다. IdM 서버의 웹 서버 및 LDAP 서버 인증서를 교체하려면 수동 작업을 수행해야 합니다.
Red Hat 문서에 관한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
문서 개선을 위한 의견에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.
Jira를 통해 피드백 제출 (등록 필요)
- Jira 웹 사이트에 로그인합니다.
- 상단 탐색 모음에서 생성 을 클릭합니다.
- 요약 필드에 설명 제목을 입력합니다.
- 설명 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
- 대화 상자 하단에서 생성 을 클릭합니다.
1장. Identity Management의 공개 키 인증서 링크 복사링크가 클립보드에 복사되었습니다!
X.509 공개 키 인증서는 IdM(Identity Management)에서 사용자, 호스트 및 서비스를 인증하는 데 사용됩니다. 인증 외에도 X.509 인증서는 디지털 서명 및 암호화를 통해 개인 정보 보호, 무결성 및 비결합을 제공할 수 있습니다.
인증서에는 다음 정보가 포함되어 있습니다.
- 인증서가 인증하는 주체입니다.
- 인증서에 서명한 CA입니다.
- 인증서의 유효성의 시작 및 종료 날짜입니다.
- 인증서의 유효한 사용입니다.
- 주체의 공개 키입니다.
공개 키로 암호화된 메시지는 해당 개인 키로만 암호를 해독할 수 있습니다. 포함된 인증서 및 공개 키는 공개적으로 사용할 수 있지만 사용자, 호스트 또는 서비스는 개인 키 시크릿을 유지해야 합니다.
1.1. IdM의 인증 기관 링크 복사링크가 클립보드에 복사되었습니다!
인증 기관은 신뢰 계층 구조로 작동합니다. 내부 CA(인증 기관)가 있는 IdM 환경에서 모든 IdM 호스트, 사용자 및 서비스 신뢰 인증서는 CA에서 서명한 인증서를 신뢰합니다. 이 루트 CA 외에도 IdM은 루트 CA에 인증서를 서명하는 기능을 부여하는 하위 CA를 지원합니다. 이러한 하위 CA가 서명할 수 있는 인증서는 특정 종류의 인증서(예: VPN 인증서)입니다. 마지막으로 IdM은 외부 CA 사용을 지원합니다. 아래 표는 IdM에서 개별 CA 유형을 사용하는 세부 사항을 보여줍니다.
| CA 이름 | 설명 | 사용 | 유용한 링크 |
|---|---|---|---|
|
| Dogtag 업스트림 프로젝트를 기반으로 하는 통합 CA | 통합 CA는 사용자, 호스트 및 서비스에 대한 인증서를 생성, 취소 및 발행할 수 있습니다. | |
| IdM 하위 CA |
|
IdM 하위 보안은 | |
| 외부 CA | 외부 CA는 통합된 IdM CA 또는 해당 하위 CA 이외의 CA입니다. | IdM 툴을 사용하여 이러한 CA에서 발급한 인증서를 사용자, 서비스 또는 호스트에 추가하고 제거할 수 있습니다. |
인증서 관점에서는 자체 서명된 IdM CA에서 서명하고 외부적으로 서명하는 것 사이에 차이가 없습니다.
CA의 역할에는 다음과 같은 용도가 포함됩니다.
- 이는 디지털 인증서를 발급합니다.
- 인증서에 서명하면 인증서에서 이름이 지정된 주체가 공개 키를 소유하고 있음을 증명합니다. 주체는 사용자, 호스트 또는 서비스일 수 있습니다.
- 인증서를 해지할 수 있으며 인증서 해지 목록(CRL) 및 OCSP(Online Certificate Status Protocol)를 통해 해지 상태를 제공할 수 있습니다.
1.2. 인증서 및 Kerberos 비교 링크 복사링크가 클립보드에 복사되었습니다!
인증서는 Kerberos 티켓에서 수행하는 것과 유사한 기능을 수행합니다. Kerberos는 티켓에 따라 작동하는 컴퓨터 네트워크 인증 프로토콜로, 보안되지 않은 네트워크를 통해 통신하는 노드가 안전한 방식으로 자신의 ID를 서로 증명할 수 있도록 합니다. 다음 표에서는 Kerberos 및 X.509 인증서의 비교를 보여줍니다.
| 특성 | Kerberos | X.509 |
|
| 있음 | 있음 |
|
| 선택 사항 | 있음 |
|
| 선택 사항 | 있음 |
|
| symmetrical | symmetrical |
|
| 짧은 (1일) | long(2년) |
기본적으로 Identity Management의 Kerberos는 통신 당사자의 ID만 보장합니다.
1.3. 인증서를 사용하여 IdM의 사용자를 인증하는 프록시 및 제한 사항 링크 복사링크가 클립보드에 복사되었습니다!
IdM에서 사용자를 인증하기 위해 인증서를 사용할 때의 이점은 다음과 같습니다.
- 스마트 카드에서 개인 키를 보호하는 PIN은 일반적으로 덜 복잡하고 일반 암호보다 쉽게 기억할 수 있습니다.
- 장치에 따라 스마트 카드에 저장된 개인 키를 내보낼 수 없습니다. 이는 추가 보안을 제공합니다.
- 스마트 카드는 logout automatic을 수행할 수 있습니다. 리더에서 스마트 카드를 제거할 때 사용자를 로그아웃하도록 IdM을 구성할 수 있습니다.
- 개인 키를 훔치려면 스마트 카드에 대한 실제 물리적 액세스 권한이 필요하므로 해킹 공격으로부터 스마트 카드를 안전하게 보호할 수 있습니다.
- 스마트 카드 인증은 2 단계 인증의 예입니다. 즉, 카드 및 사용자가 알고있는 것 (POP)이 모두 필요합니다.
- 스마트 카드는 이메일 암호화와 같은 다른 용도로 사용할 수 있는 키를 제공하기 때문에 암호보다 유연합니다.
- IdM 클라이언트인 공유 시스템에서 스마트 카드를 사용하면 일반적으로 시스템 관리자에게 추가 구성 문제가 발생하지 않습니다. 실제로 스마트 카드 인증은 공유 시스템에 이상적인 옵션입니다.
IdM의 사용자를 인증하기 위해 인증서를 사용하는 단점은 다음과 같습니다.
- 사용자는 스마트 카드 또는 인증서를 가져오고 효과적으로 잠글 수 있습니다.
- Pinstyping을 여러 번 수행하면 카드가 잠길 수 있습니다.
- 일반적으로 일종의 보안 담당자 또는 승인자의 요청과 승인 사이에 중간 단계가 있습니다. IdM에서 보안 담당자 또는 관리자는 ipa cert-request 명령을 실행해야 합니다.
- 스마트 카드 및 독자는 벤더와 드라이버별 경향이 있습니다: 많은 독자가 다른 카드에 사용될 수 있지만 특정 공급 업체의 스마트 카드는 다른 공급 업체의 독자 또는 설계되지 않은 리더의 유형에서 작동하지 않을 수 있습니다.
- 인증서 및 스마트 카드에는 관리자를 위한 맞춤형 학습 곡선이 있습니다.
2장. 통합된 IdM CA를 사용하여 사용자, 호스트 및 서비스의 인증서 관리 링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 통합 CA, ipa CA 및 해당 하위 CA를 사용하여 IdM(Identity Management)의 인증서 관리에 대해 설명합니다.
2.1. IdM 웹 UI를 사용하여 사용자, 호스트 또는 서비스에 대한 새 인증서 요청 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 웹 UI를 사용하여 ipa CA 또는 해당 하위 CA에서 통합된 IdM 인증 기관(CA)의 새 인증서를 요청합니다.
IdM 엔티티는 다음과 같습니다.
- 사용자
- 호스트
- 서비스
일반적으로 서비스는 개인 키가 저장된 전용 서비스 노드에서 실행됩니다. 서비스의 개인 키를 IdM 서버에 복사하는 것은 안전하지 않은 것으로 간주됩니다. 따라서 서비스에 대한 인증서를 요청할 때 서비스 노드에 인증서 서명 요청(CSR)을 생성합니다.
사전 요구 사항
- IdM 배포에는 통합 CA가 포함되어 있습니다.
- IdM 관리자로 IdM 웹 UI에 로그인되어 있습니다.
절차
-
Identity(ID) 탭에서Users,Hosts(호스트) 또는Services(서비스) 하위 탭을 선택합니다. 사용자, 호스트 또는 서비스의 이름을 클릭하여 구성 페이지를 엽니다.
그림 2.1. 호스트 목록
- → 을 클릭합니다.
- 선택 사항: 발행 CA 및 프로필 ID를 선택합니다.
-
화면에서
certutil명령줄(CLI) 유틸리티 사용 지침을 따릅니다. - 를 클릭합니다.
2.2. certutil을 사용하여 IdM CA에서 사용자, 호스트 또는 서비스에 대한 새 인증서 요청 링크 복사링크가 클립보드에 복사되었습니다!
certutil 유틸리티를 사용하여 표준 IdM 상황에서 IdM(Identity Management) 사용자, 호스트 또는 서비스에 대한 인증서를 요청할 수 있습니다. 호스트 또는 서비스 Kerberos 별칭에서 인증서를 사용할 수 있도록 하려면 openssl 유틸리티를 사용하여 인증서를 요청합니다.
certutil 을 사용하여 ipa, IdM 인증 기관(CA)에서 IdM 사용자, 호스트 또는 서비스에 대한 인증서를 요청하려면 다음 절차를 따르십시오.
일반적으로 서비스는 개인 키가 저장된 전용 서비스 노드에서 실행됩니다. 서비스의 개인 키를 IdM 서버에 복사하는 것은 안전하지 않은 것으로 간주됩니다. 따라서 서비스에 대한 인증서를 요청할 때 서비스 노드에 인증서 서명 요청(CSR)을 생성합니다.
사전 요구 사항
- IdM 배포에는 통합 CA가 포함되어 있습니다.
- IdM 관리자로서 IdM(명령줄 인터페이스)에 로그인되어 있습니다.
절차
인증서 데이터베이스의 임시 디렉터리를 생성합니다.
mkdir ~/certdb/
# mkdir ~/certdb/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 임시 인증서 데이터베이스를 새로 생성합니다. 예를 들면 다음과 같습니다.
certutil -N -d ~/certdb/
# certutil -N -d ~/certdb/Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR을 생성하고 출력을 파일로 리디렉션합니다. 예를 들어 4096비트 인증서에 대한 CSR을 생성하고 제목을 CN=server.example.com,O=EXAMPLE.COM:
certutil -R -d ~/certdb/ -a -g 4096 -s "CN=server.example.com,O=EXAMPLE.COM" -8 server.example.com > certificate_request.csr
# certutil -R -d ~/certdb/ -a -g 4096 -s "CN=server.example.com,O=EXAMPLE.COM" -8 server.example.com > certificate_request.csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 서버에서 실행 중인 CA에 인증서 요청 파일을 제출합니다. 새로 발급된 인증서와 연결할 Kerberos 주체를 지정합니다.
ipa cert-request certificate_request.csr --principal=host/server.example.com
# ipa cert-request certificate_request.csr --principal=host/server.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM의
ipa cert-request명령은 다음 기본값을 사용합니다.caIPAserviceCert인증서 프로필사용자 정의 프로필을 선택하려면
--profile-id옵션을 사용합니다.통합 IdM 루트 CA,
ipa하위 서비스를 선택하려면
--ca옵션을 사용합니다.
2.3. openssl을 사용하여 IdM CA에서 사용자, 호스트 또는 서비스에 대한 새 인증서 요청 링크 복사링크가 클립보드에 복사되었습니다!
호스트 또는 서비스의 Kerberos 별칭이 인증서를 사용할 수 있도록 하려면 openssl 유틸리티를 사용하여 IdM(Identity Management) 호스트 또는 서비스에 대한 인증서를 요청할 수 있습니다. 표준 상황에서는 certutil 유틸리티를 사용하여 새 인증서를 요청하는 것이 좋습니다.
openssl 을 사용하여 ipa, IdM 인증 기관에서 IdM 호스트 또는 서비스에 대한 인증서를 요청하려면 다음 절차를 따르십시오.
일반적으로 서비스는 개인 키가 저장된 전용 서비스 노드에서 실행됩니다. 서비스의 개인 키를 IdM 서버에 복사하는 것은 안전하지 않은 것으로 간주됩니다. 따라서 서비스에 대한 인증서를 요청할 때 서비스 노드에 인증서 서명 요청(CSR)을 생성합니다.
사전 요구 사항
- IdM 배포에는 통합 CA가 포함되어 있습니다.
- IdM 관리자로서 IdM(명령줄 인터페이스)에 로그인되어 있습니다.
절차
- Kerberos 주체 test/server.example.com 에 대한 별칭을 하나 이상 생성합니다. 예를 들어 test1/server.example.com 및 test2/server.example.com.
CSR에서 dnsName(server.example.com) 및 otherName(test2/server.example.com)의 subjectAltName을 추가합니다. 이렇게 하려면 UPN otherName 및 subjectAltName을 지정하는 다음 행을 포함하도록
openssl.conf파일을 구성합니다.otherName=1.3.6.1.4.1.311.20.2.3;UTF8:test2/server.example.com@EXAMPLE.COM DNS.1 = server.example.com
otherName=1.3.6.1.4.1.311.20.2.3;UTF8:test2/server.example.com@EXAMPLE.COM DNS.1 = server.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow openssl을 사용하여 인증서 요청 생성 :openssl req -new -newkey rsa:2048 -keyout test2service.key -sha256 -nodes -out certificate_request.csr -config openssl.conf
openssl req -new -newkey rsa:2048 -keyout test2service.key -sha256 -nodes -out certificate_request.csr -config openssl.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 서버에서 실행 중인 CA에 인증서 요청 파일을 제출합니다. 새로 발급된 인증서와 연결할 Kerberos 주체를 지정합니다.
ipa cert-request certificate_request.csr --principal=host/server.example.com
# ipa cert-request certificate_request.csr --principal=host/server.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM의
ipa cert-request명령은 다음 기본값을 사용합니다.caIPAserviceCert인증서 프로필사용자 정의 프로필을 선택하려면
--profile-id옵션을 사용합니다.통합 IdM 루트 CA,
ipa하위 서비스를 선택하려면
--ca옵션을 사용합니다.
3장. IdM 사용자, 호스트 및 서비스용 외부 서명된 인증서 관리 링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 IdM(Identity Management) 명령줄 인터페이스(CLI)와 IdM 웹 UI를 사용하여 외부 인증 기관(CA)에서 발급한 사용자, 호스트 또는 서비스 인증서를 추가하거나 제거하는 방법을 설명합니다.
3.1. IdM CLI를 사용하여 외부 CA에서 발급한 인증서 추가, IdM 사용자, 호스트 또는 서비스 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 관리자는 IdM(Identity Management) CLI를 사용하여 IdM 사용자, 호스트 또는 서비스 계정에 외부 서명된 인증서를 추가할 수 있습니다.
사전 요구 사항
- 관리 사용자의 티켓 개발 티켓이 있습니다.
절차
IdM 사용자에게 인증서를 추가하려면 다음을 입력합니다.
ipa user-add-cert user --certificate=MIQTPrajQAwg...
$ ipa user-add-cert user --certificate=MIQTPrajQAwg...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령을 사용하려면 다음 정보를 지정해야 합니다.
- 사용자의 이름
- Base64로 인코딩된 DER 인증서
인증서 내용을 명령줄에 복사하고 붙여넣는 대신 인증서를 DER 형식으로 변환한 다음 Base64로 다시 코딩할 수 있습니다. 예를 들어 user_cert.pem 인증서를 사용자 에 추가하려면 다음을 입력합니다.
ipa user-add-cert user --certificate="$(openssl x509 -outform der -in user_cert.pem | base64 -w 0)"
$ ipa user-add-cert user --certificate="$(openssl x509 -outform der -in user_cert.pem | base64 -w 0)"
옵션을 추가하지 않고 ipa user-add-cert 명령을 실행할 수 있습니다.
IdM 호스트에 인증서를 추가하려면 다음을 입력합니다.
-
ipa host-add-cert
IdM 서비스에 인증서를 추가하려면 다음을 입력합니다.
-
ipa service-add-cert
3.2. IdM 웹 UI를 사용하여 IdM 사용자, 호스트 또는 서비스에 외부 CA에서 발급한 인증서 추가 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 관리자는 IdM(Identity Management) 웹 UI를 사용하여 IdM 사용자, 호스트 또는 서비스 계정에 외부 서명된 인증서를 추가할 수 있습니다.
사전 요구 사항
- IdM(Identity Management) 웹 UI에 관리자로 로그인되어 있습니다.
절차
-
Identity탭을 열고사용자,호스트또는서비스하위 탭을 선택합니다. - 사용자, 호스트 또는 서비스의 이름을 클릭하여 구성 페이지를 엽니다.
Certificates(인증서) 항목 옆에 있는 (추가)를 클릭합니다.그림 3.1. 사용자 계정에 인증서 추가
- Base64 또는 PEM으로 인코딩된 형식으로 인증서를 붙여넣고 텍스트 필드에 인증서를 붙여넣고 클릭합니다.
- 클릭하여 변경 사항을 저장합니다.
3.3. IdM CLI를 사용하여 IdM 사용자, 호스트 또는 서비스 계정에서 외부 CA에서 발급한 인증서 제거 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 관리자는 IdM(Identity Management) CLI를 사용하여 IdM 사용자, 호스트 또는 서비스의 계정에서 외부 서명된 인증서를 제거할 수 있습니다.
사전 요구 사항
- 관리 사용자의 티켓 개발 티켓이 있습니다.
절차
IdM 사용자의 인증서를 제거하려면 다음을 입력합니다.
ipa user-remove-cert user --certificate=MIQTPrajQAwg...
$ ipa user-remove-cert user --certificate=MIQTPrajQAwg...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령을 사용하려면 다음 정보를 지정해야 합니다.
- 사용자의 이름
- Base64로 인코딩된 DER 인증서
인증서 내용을 명령줄에 복사하고 붙여넣는 대신 인증서를 DER 형식으로 변환한 다음 Base64로 다시 코딩할 수 있습니다. 예를 들어 사용자 에서 user_cert.pem 인증서를 제거하려면 다음을 입력합니다.
ipa user-remove-cert user --certificate="$(openssl x509 -outform der -in user_cert.pem | base64 -w 0)"
$ ipa user-remove-cert user --certificate="$(openssl x509 -outform der -in user_cert.pem | base64 -w 0)"
옵션을 추가하지 않고 ipa user-remove-cert 명령을 대화형으로 실행할 수 있습니다.
IdM 호스트에서 인증서를 제거하려면 다음을 입력합니다.
-
ipa host-remove-cert
IdM 서비스에서 인증서를 제거하려면 다음을 입력합니다.
-
ipa service-remove-cert
3.4. IdM 웹 UI를 사용하여 IdM 사용자, 호스트 또는 서비스 계정에서 외부 CA에서 발급한 인증서 제거 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 관리자는 IdM(Identity Management) 웹 UI를 사용하여 IdM 사용자, 호스트 또는 서비스의 계정에서 외부 서명된 인증서를 제거할 수 있습니다.
사전 요구 사항
- IdM(Identity Management) 웹 UI에 관리자로 로그인되어 있습니다.
절차
-
Identity탭을 열고사용자,호스트또는서비스하위 탭을 선택합니다. - 사용자, 호스트 또는 서비스의 이름을 클릭하여 구성 페이지를 엽니다.
- 삭제할 인증서 옆에 있는 클릭하고 삭제를 선택합니다.
- 클릭하여 변경 사항을 저장합니다.
4장. IdM으로 인증서 형식 변환 링크 복사링크가 클립보드에 복사되었습니다!
이 사용자 스토리는 IdM 시스템 관리자로서 특정 IdM 명령이 있는 인증서 형식을 올바르게 사용하고 있는지 확인하는 방법을 설명합니다. 예를 들어 다음과 같은 경우 유용합니다.
- 외부 인증서를 사용자 프로필에 로드하고 있습니다. 자세한 내용은 IdM 사용자 계정에 로드할 외부 인증서 변환을 참조하십시오.
- 스마트 카드 인증에 대해 IdM 서버를 구성하거나 스마트 카드 인증을 위해 IdM 클라이언트를 구성할 때 외부 CA 인증서를 사용하고 있어 사용자가 외부 인증 기관에서 발급한 인증서와 함께 스마트 카드를 사용하여 IdM을 인증할 수 있습니다.
- NSS 데이터베이스의 인증서를 인증서와 개인 키를 모두 포함하는 pkcs #12 형식으로 내보내고 있습니다. 자세한 내용은 NSS 데이터베이스에서 PKCS #12 파일로 인증서 및 개인 키 내보내기를 참조하십시오.
4.1. IdM의 인증서 형식 및 인코딩 링크 복사링크가 클립보드에 복사되었습니다!
IdM의 스마트 카드 인증을 포함한 인증서 인증은 사용자가 사용자의 IdM 프로필에 저장된 인증서 또는 인증서 데이터와 함께 제공하는 인증서를 비교하여 진행됩니다.
시스템 구성
IdM 프로필에 저장된 데이터는 해당 개인 키가 아닌 인증서일 뿐입니다. 인증 중에는 사용자가 해당 개인 키를 소유하고 있음을 표시해야합니다. 사용자는 인증서와 개인 키를 둘 다 포함하는 PKCS #12 파일을 제공하거나 인증서가 포함된 파일과 개인 키를 포함하는 다른 파일 중 하나를 제공합니다.
따라서 사용자 프로필에 인증서를 로드하는 등의 프로세스는 개인 키가 포함되지 않은 인증서 파일만 허용합니다.
마찬가지로 시스템 관리자가 외부 CA 인증서를 제공하면 개인 키가 없는 인증서인 공개 데이터만 제공합니다. IdM 서버 또는 스마트 카드 인증에 대한 IdM 클라이언트를 구성하기 위한 ipa-advise 유틸리티에는 입력 파일에 외부 CA의 인증서가 포함되지만 개인 키는 포함되지 않습니다.
인증서 인코딩
두 가지 일반적인 인증서 인코딩이 있습니다. 개인 정보 보호 규정 (PEM) 및 Distinguished octets 규칙 (DER). base64 형식은 PEM 형식과 거의 동일하지만 ---- BEGINCERTIFICATE--------END CERTIFICATE------------- header 및 footer는 포함되어 있지 않습니다.
DER 를 사용하여 인코딩된 인증서는 바이너리 X509 디지털 인증서 파일입니다. 바이너리 파일로, 인증서는 사람이 읽을 수 없습니다. DER 파일에는 .der 파일 이름 확장자를 사용하는 경우가 있지만 .crt 및 .cer 파일 이름 확장자가 있는 파일에 DER 인증서도 포함되어 있는 경우가 있습니다. 키가 포함된 DER 파일의 이름은 .key . key일 수 있습니다.
PEM Base64를 사용하여 인코딩된 인증서는 사람이 읽을 수 있는 파일입니다. 파일에는 ASCII(Base64)가 "-----BEGIN" 행이 접두사로 붙은 데이터가 포함됩니다. PEM 파일에는 .pem 파일 이름 확장자를 사용하는 경우가 있지만 .crt 및 .cer 파일 이름 확장자가 있는 파일에도 PEM 인증서가 포함되어 있는 경우가 있습니다. 키가 포함된 PEM 파일의 이름은 .key . key일 수 있습니다.
ipa 명령과 다른 ipa 명령에는 허용되는 인증서 유형과 관련하여 다른 제한 사항이 있습니다. 예를 들어 ipa user-add-cert 명령은 base64 형식으로 인코딩된 인증서만 허용하지만 ipa-server-certinstall 은 PEM, DER, PKCS #7, PKCS #8 및 PKCS #12 인증서를 수락합니다.
| 인코딩 형식 | 사용자가 읽을 수 있는 | 일반적인 파일 이름 확장 | 인코딩 형식을 수락하는 샘플 IdM 명령 |
|---|---|---|---|
| PEM/base64 | 있음 | .pem, .crt, .cer | ipa user-add-cert, ipa-server-certinstall, … |
| DER | 없음 | .der, .crt, .cer | ipa-server-certinstall, … |
IdM의 인증서 관련 명령 및 형식에는 명령이 허용하는 인증서 형식과 함께 추가 ipa 명령이 나열됩니다.
사용자 인증
웹 UI를 사용하여 IdM에 액세스하는 경우 사용자는 브라우저의 데이터베이스에 모두 저장되어 있는 개인 키의 인증서가 해당 개인 키임을 증명합니다.
CLI를 사용하여 IdM에 액세스하는 경우 사용자는 다음 방법 중 하나로 인증서에 해당하는 개인 키의 소유임을 증명합니다.
사용자는
kinit -X명령의X509_user_identity매개변수 값으로, 인증서와 키가 모두 포함된 스마트 카드 모듈에 연결된 스마트 카드 모듈의 경로로 추가합니다.kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' idm_user
$ kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' idm_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자는
kinit -X명령의X509_user_identity매개변수 값으로 두 개의 파일을 추가하고 다른 하나는 인증서를 포함하는 개인 키입니다.kinit -X X509_user_identity='FILE:`/path/to/cert.pem,/path/to/cert.key`' idm_user
$ kinit -X X509_user_identity='FILE:`/path/to/cert.pem,/path/to/cert.key`' idm_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow
유용한 인증서 명령
주체 및 발급자와 같은 인증서 데이터를 보려면 다음을 수행합니다.
openssl x509 -noout -text -in ca.pem
$ openssl x509 -noout -text -in ca.pem
두 개의 인증서가 다른 행을 비교하려면 다음을 수행합니다.
diff cert1.crt cert2.crt
$ diff cert1.crt cert2.crt
두 개의 인증서가 두 열에 표시된 출력과 다른 행을 비교하려면 다음을 수행합니다.
diff cert1.crt cert2.crt -y
$ diff cert1.crt cert2.crt -y
4.2. 외부 인증서를 IdM 사용자 계정으로 로드하도록 변환 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 사용자 항목에 추가하기 전에 외부 인증서가 올바르게 인코딩되고 포맷되었는지 확인하는 방법에 대해 설명합니다.
4.2.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
-
Active Directory 인증 기관에서 인증서를 발급하고
PEM인코딩을 사용하는 경우PEM파일이UNIX형식으로 변환되었는지 확인합니다. 파일을 변환하려면 eponymous 패키지에서 제공하는dos2unix유틸리티를 사용하십시오.
4.2.2. IdM CLI에서 외부 인증서를 변환하고 IdM 사용자 계정에 로드 링크 복사링크가 클립보드에 복사되었습니다!
IdM CLI 는 첫 번째 행과 마지막 줄(-----BEGINassRTIFICATE-----) 및 ----ENDCERTIFICATE---------)이 제거된 PEM 인증서만 허용합니다.
다음 절차에 따라 외부 인증서를 PEM 형식으로 변환하고 IdM CLI를 사용하여 IdM 사용자 계정에 추가합니다.
절차
인증서를
PEM형식으로 변환합니다.인증서 형식이
DER인 경우:openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
$ openssl x509 -in cert.crt -inform der -outform pem -out cert.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일이
PKCS #12형식인 경우 일반 파일 이름 확장자가.pfx및.p12이고 인증서, 개인 키 및 기타 데이터를 포함하는 경우openssl pkcs12유틸리티를 사용하여 인증서를 추출합니다. 메시지가 표시되면 파일에 저장된 개인 키를 보호하는 암호를 입력합니다.openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem
$ openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem Enter Import Password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
관리자의 자격 증명을 가져옵니다.
kinit admin
$ kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 방법 중 하나를 통해
IdM CLI를 사용하여 사용자 계정에 인증서를 추가합니다.ipa user-add-cert명령에 문자열을 추가하기 전에sed유틸리티를 사용하여PEM파일의 첫 번째 및 마지막 줄(----BEGINCEIFICATE----- 및 ------)을 제거합니다.ipa user-add-cert some_user --certificate="$(sed -e '/BEGIN CERTIFICATE/d;/END CERTIFICATE/d' cert.pem)"
$ ipa user-add-cert some_user --certificate="$(sed -e '/BEGIN CERTIFICATE/d;/END CERTIFICATE/d' cert.pem)"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 첫 번째 및 마지막 줄(-----BEGINassRTIFICATE------) 없이 인증서 파일의 콘텐츠를 복사하여 붙여 넣습니다.
ipa user-add-cert명령에 다음 명령을 실행합니다.ipa user-add-cert some_user --certificate=MIIDlzCCAn+gAwIBAgIBATANBgkqhki...
$ ipa user-add-cert some_user --certificate=MIIDlzCCAn+gAwIBAgIBATANBgkqhki...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고인증서가 포함된
PEM파일을ipa user-add-cert명령에 직접 전달할 수 없습니다. 첫 번째 행과 마지막 줄(-----BEGIN CERTIFICATE------------------------)을 먼저 제거하지 않고도 ipa user-add-cert 명령에 직접 PEM 파일을 전달할 수 없습니다.ipa user-add-cert some_user --cert=some_user_cert.pem
$ ipa user-add-cert some_user --cert=some_user_cert.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령을 실행하면 "ipa: ERROR: Base64 디코딩에 실패했습니다. 오류 메시지가 잘못되었습니다.
인증서가 시스템에서 수락되었는지 확인하려면 다음을 수행합니다.
ipa user-show some_user
[idm_user@r8server]$ ipa user-show some_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2.3. IdM 사용자 계정으로 로드하기 위해 IdM 웹 UI의 외부 인증서 변환 링크 복사링크가 클립보드에 복사되었습니다!
외부 인증서를 PEM 형식으로 변환한 후 IdM 웹 UI의 IdM 사용자 계정에 추가하려면 다음 절차를 따르십시오.
절차
CLI를 사용하여 인증서를PEM형식으로 변환합니다.인증서 형식이
DER인 경우:openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
$ openssl x509 -in cert.crt -inform der -outform pem -out cert.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일이
PKCS #12형식인 경우 일반 파일 이름 확장자가.pfx및.p12이고 인증서, 개인 키 및 기타 데이터를 포함하는 경우openssl pkcs12유틸리티를 사용하여 인증서를 추출합니다. 메시지가 표시되면 파일에 저장된 개인 키를 보호하는 암호를 입력합니다.openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem
$ openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem Enter Import Password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
편집기에서 인증서를 열고 콘텐츠를 복사합니다. "-----BEGINCERTIFICATE-----" 및 "---ENDCERTIFICATE----" 헤더와 피터 라인을 포함할 수 있지만, 사용자는 IdM 웹 UI에서
PEM및base64형식을 모두 수락할 수 있습니다. - IdM 웹 UI에서 보안 담당자로 로그인합니다.
-
Identity→Users→some_user으로 이동합니다. -
인증서옆에 있는추가를 클릭합니다. - 인증서의 PEM 형식의 콘텐츠를 열리는 창에 붙여넣습니다.
-
추가를 클릭합니다.
시스템에서 인증서를 승인한 경우 사용자 프로필의 인증서 중 나열되는 내용을 확인할 수 있습니다.
4.3. 브라우저에 인증서 로드 준비 링크 복사링크가 클립보드에 복사되었습니다!
브라우저로 사용자 인증서를 가져오기 전에 인증서와 해당 개인 키가 PKCS #12 형식이어야 합니다. 추가 준비 작업이 필요한 두 가지 일반적인 상황이 있습니다.
- 인증서는 NSS 데이터베이스에 있습니다. 이 상황에서 진행하는 방법에 대한 자세한 내용은 NSS 데이터베이스에서 PKCS #12 파일로 인증서 및 개인 키 내보내기를 참조하십시오.
-
인증서와 개인 키는 두 개의 개별
PEM파일에 있습니다. 이 상황에서 진행하는 방법에 대한 자세한 내용은 인증서 및 개인 키 PEM 파일을 PKCS #12 파일로 결합을 참조하십시오.
나중에 PKCS #12 형식의 PKCS #12 형식의 CA 인증서와 사용자 인증서를 모두 브라우저로 가져오려면 브라우저 구성의 절차에 따라 인증서 인증 및 인증서를 ID 관리 사용자로 사용하는 ID 관리 웹 UI를 인증 하십시오.
4.3.1. NSS 데이터베이스에서 인증서 및 개인 키 내보내기를 PKCS #12 파일로 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
절차
pk12util명령을 사용하여 NSS 데이터베이스에서PKCS12형식으로 인증서를 내보냅니다. 예를 들어~/certdb디렉터리에 저장된 NSS 데이터베이스에서some_usernickname을 사용하여 인증서를~/some_user.p12파일로 내보내려면 다음을 실행합니다.pk12util -d ~/certdb -o ~/some_user.p12 -n some_user
$ pk12util -d ~/certdb -o ~/some_user.p12 -n some_user Enter Password or Pin for "NSS Certificate DB": Enter password for PKCS12 file: Re-enter password: pk12util: PKCS12 EXPORT SUCCESSFULCopy to Clipboard Copied! Toggle word wrap Toggle overflow .p12파일에 적절한 권한을 설정합니다.chmod 600 ~/some_user.p12
# chmod 600 ~/some_user.p12Copy to Clipboard Copied! Toggle word wrap Toggle overflow PKCS #12파일에는 개인 키가 포함되어 있으므로 다른 사용자가 파일을 사용하지 못하도록 보호해야 합니다. 그렇지 않으면 사용자를 가장할 수 있습니다.
4.3.2. 인증서와 개인 키 PEM 파일을 PKCS #12 파일로 결합 링크 복사링크가 클립보드에 복사되었습니다!
인증서와 별도의 PEM 파일에 저장된 해당 키를 PKCS #12 파일로 결합하려면 다음 절차를 따르십시오.
절차
certfile.cer에 저장된 인증서와certfile.key에 저장된 키를 인증서와 키가 모두 포함된certfile.p12파일로 결합하려면 다음을 실행합니다.openssl pkcs12 -export -in certfile.cer -inkey certfile.key -out certfile.p12
$ openssl pkcs12 -export -in certfile.cer -inkey certfile.key -out certfile.p12Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4. IdM의 인증서 관련 명령 및 형식 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에는 허용 가능한 형식이 있는 IdM의 인증서 관련 명령이 표시되어 있습니다.
| 명령 | 허용 가능한 형식 | 참고 |
|---|---|---|
|
| base64 PEM 인증서 | |
|
| PEM 및 DER 인증서, PKCS#7 인증서 체인, PKCS#8 및 원시 개인 키; PKCS#12 인증서 및 개인 키 | |
|
| DER; PEM; PKCS#7 | |
|
| PEM 및 DER 인증서; PKCS#7 인증서 체인 | |
|
| PEM 및 DER 인증서; PKCS#7 인증서 체인 | |
|
| 해당 없음 |
|
|
| 해당 없음 |
|
|
| 해당 없음 |
새 인증서를 사용하여 PEM 형식으로 |
|
| 해당 없음 |
새 인증서를 사용하여 PEM 형식으로 |
5장. Identity Management에서 인증서 프로필 생성 및 관리 링크 복사링크가 클립보드에 복사되었습니다!
인증서 프로필은 인증서에 서명하여 CSR(인증서 서명 요청)이 허용되는지, 인증서 및 확장 기능이 인증서에 있는지 확인하는 경우 CA(인증 기관)에서 사용합니다. 인증서 프로필은 특정 유형의 인증서를 발급하는 것과 관련이 있습니다. 인증서 프로필과 ACL(액세스 제어 목록)을 결합하면 사용자 정의 인증서 프로필에 대한 액세스를 정의하고 제어할 수 있습니다.
인증서 프로필을 생성하는 방법을 설명할 때 프로시저는 S/journal 인증서를 예제로 사용합니다. 일부 이메일 프로그램은 S/octets(Secure Multipurpose Internet mail Extension) 프로토콜을 사용하여 디지털 서명되고 암호화된 이메일을 지원합니다. S/mtls를 사용하여 이메일 메시지에 서명하거나 암호화하려면 메시지 발신자가 S/octets 인증서를 보유해야 합니다.
5.1. 인증서 프로필이란 무엇입니까? 링크 복사링크가 클립보드에 복사되었습니다!
인증서 프로필을 사용하여 다음과 같은 인증서를 발행하기 위한 제약 조건 및 인증서 내용을 확인할 수 있습니다.
- 인증서 서명 요청을 처리하는 데 사용할 서명 알고리즘입니다.
- 인증서의 기본 유효성입니다.
- 인증서를 취소하는 데 사용할 수 있는 해지 이유.
- 주체의 공통 이름이 주체 대체 이름 필드에 복사되는 경우.
- 인증서에 제공해야 하는 기능 및 확장입니다.
단일 인증서 프로필은 특정 유형의 인증서를 발급하는 것과 관련이 있습니다. IdM에서 사용자, 서비스 및 호스트에 대한 다양한 인증서 프로필을 정의할 수 있습니다. IdM에는 기본적으로 다음 인증서 프로필이 포함되어 있습니다.
-
caIPAserviceCert -
IECUserRoles -
mtlss_PKINIT_Certs(내부에서 사용됨)
또한 특정 용도로 인증서를 발급할 수 있는 사용자 정의 프로필을 생성하고 가져올 수 있습니다. 예를 들어 특정 프로필의 사용을 하나의 사용자 또는 하나의 그룹으로만 제한하여 다른 사용자와 그룹이 해당 프로필을 사용하여 인증에 대한 인증서를 발급하지 못하도록 할 수 있습니다. 사용자 정의 인증서 프로필을 생성하려면 ipa certprofile 명령을 사용합니다.
5.2. 인증서 프로필 생성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 S/MIME 인증서를 요청하기 위한 프로파일 구성 파일을 생성하여 명령줄을 통해 인증서 프로필을 생성합니다.
절차
기존 기본 프로필을 복사하여 사용자 정의 프로필을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 텍스트 편집기에서 새로 생성된 프로필 구성 파일을 엽니다.
vi smime.cfg
$ vi smime.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 프로필 ID를 프로필 사용량을 반영하는 이름으로 변경합니다(예:smime).참고새로 생성된 프로필을 가져오는 경우,
profileId필드는 명령줄에 지정된 ID와 일치해야 합니다.확장 키 사용량 구성을 업데이트합니다. 기본 확장 키 사용량 확장 프로그램은 TLS 서버 및 클라이언트 인증을 위한 것입니다. 예를 들어 S/octets의 경우 이메일 보호를 위해 확장 키 사용을 구성해야 합니다.
policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.4
policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 프로필을 가져옵니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
새 인증서 프로필을 가져왔는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. CA 액세스 제어 목록이란 무엇입니까? 링크 복사링크가 클립보드에 복사되었습니다!
CA ACL(인증 기관 액세스 제어 목록) 규칙은 보안 주체의 인증서를 발급하는 데 사용할 수 있는 프로필을 정의합니다. 다음과 같이 CA ACL을 사용하여 이 작업을 수행할 수 있습니다.
- 특정 프로필이 있는 인증서를 발급할 수 있는 사용자, 호스트 또는 서비스를 결정합니다.
- 인증서를 발급할 수 있는 IdM 인증 기관 또는 하위 CA 확인
예를 들어, CA ACL을 사용하면 런던에 위치한 사무실에서 런던 사무실 관련 IdM 사용자 그룹의 멤버인 사용자에게만 사용할 수 있는 프로필 사용을 제한할 수 있습니다.
CA ACL 규칙 관리를 위한 ipa caacl 유틸리티를 사용하면 권한 있는 사용자가 지정된 CA ACL을 추가, 표시, 수정 또는 삭제할 수 있습니다.
5.4. 인증서 프로필에 대한 액세스를 제어하기 위한 CA ACL 정의 링크 복사링크가 클립보드에 복사되었습니다!
caacl 유틸리티를 사용하여 ACL(CA Access Control List) 규칙을 정의하여 그룹의 사용자가 사용자 정의 인증서 프로필에 액세스할 수 있도록 하려면 다음 절차를 따르십시오. 이 경우 절차에서는 S/octets 사용자 그룹 및 CA ACL을 생성하여 해당 그룹의 사용자가 smime 인증서 프로필에 액세스할 수 있도록 하는 방법을 설명합니다.
사전 요구 사항
- IdM 관리자의 자격 증명을 취득했는지 확인합니다.
절차
인증서 프로필의 사용자에 대한 새 그룹을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow smime_user_group그룹에 추가할 새 사용자를 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow smime_user를smime_users_group그룹에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 그룹의 사용자가 인증서 프로필에 액세스할 수 있도록 CA ACL을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 그룹을 CA ACL에 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA ACL에 인증서 프로필을 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
생성한 CA ACL의 세부 정보를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.5. 인증서 프로필 및 CA ACL을 사용하여 인증서 발급 링크 복사링크가 클립보드에 복사되었습니다!
CA ACL(인증 기관 액세스 제어 목록)에서 허용하는 경우 인증서 프로필을 사용하여 인증서를 요청할 수 있습니다. CA ACL을 통해 액세스 권한이 부여된 사용자 정의 인증서 프로필을 사용하여 사용자에 대한 S/MIME 인증서를 요청하려면 다음 절차를 따르십시오.
사전 요구 사항
- 인증서 프로필이 생성되었습니다.
- 사용자가 필수 인증서 프로필을 사용하여 인증서를 요청할 수 있는 CA ACL이 생성되었습니다.
cert-request 명령을 수행하는 사용자가 CA ACL 검사를 바이패스할 수 있습니다.
-
admin사용자입니다. -
CA ACL 권한을 무시하는 요청 인증서가있습니다.
절차
사용자에 대한 인증서 요청을 생성합니다. 예를 들어 OpenSSL을 사용합니다.
openssl req -new -newkey rsa:2048 -days 365 -nodes -keyout private.key -out cert.csr -subj '/CN=smime_user'
$ openssl req -new -newkey rsa:2048 -days 365 -nodes -keyout private.key -out cert.csr -subj '/CN=smime_user'Copy to Clipboard Copied! Toggle word wrap Toggle overflow IdM CA에서 사용자에 대한 새 인증서를 요청합니다.
ipa cert-request cert.csr --principal=smime_user --profile-id=smime
$ ipa cert-request cert.csr --principal=smime_user --profile-id=smimeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: --ca sub-CA_name 옵션을 명령에 전달하여 루트 CA 대신 하위 CA에서 인증서를 요청합니다.
검증
새로 발급된 인증서가 사용자에게 할당되었는지 확인합니다.
ipa user-show user
$ ipa user-show user User login: user ... Certificate: MIICfzCCAWcCAQA... ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.6. 인증서 프로필 수정 링크 복사링크가 클립보드에 복사되었습니다!
ipa certprofile-mod 명령을 사용하여 명령줄을 통해 인증서 프로필을 직접 수정하려면 다음 절차를 따르십시오.
절차
수정하려는 인증서 프로필의 인증서 프로필 ID를 확인합니다. 현재 IdM에 저장된 모든 인증서 프로필을 표시하려면 다음을 수행하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서 프로필 설명을 수정합니다. 예를 들어 기존 프로필을 사용하여 S/hiera 인증서에 대한 사용자 정의 인증서 프로필을 생성한 경우 새 사용법에 따라 설명을 변경합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 텍스트 편집기에서 고객 인증서 프로필 파일을 열고 요구 사항에 맞게 수정합니다.
vi smime.cfg
# vi smime.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서 프로필 구성 파일에서 구성할 수 있는 옵션에 대한 자세한 내용은 인증서 프로필 구성 매개 변수를 참조하십시오.
기존 인증서 프로필 구성 파일을 업데이트합니다.
ipa certprofile-mod _profile_ID_ --file=smime.cfg
# ipa certprofile-mod _profile_ID_ --file=smime.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
인증서 프로필이 업데이트되었는지 확인합니다.
ipa certprofile-show smime
$ ipa certprofile-show smime Profile ID: smime Profile description: New certificate profile description Store issued certificates: TRUECopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.7. 인증서 프로필 구성 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
인증서 프로필 구성 매개변수는 CA 프로필 디렉터리의 profile_name.cfg 파일에 저장됩니다. /var/lib/pki/pki-tomcat/ca/profiles/ca. 프로필의 모든 매개변수(기본값, 입력, 출력 및 제약 조건)는 단일 정책 세트 내에서 구성됩니다. 인증서 프로필에 설정된 정책에는 name policyset.policyName.policyNumber 가 있습니다. 예를 들어 정책 set serverCertSet 은 다음과 같습니다.
각 정책 세트에는 평가해야 하는 순서대로 정책 ID 번호별로 인증서 프로필에 대해 구성된 정책 목록이 포함되어 있습니다. 서버는 수신하는 각 요청에 대해 각 정책 세트를 평가합니다. 단일 인증서 요청이 수신되면 하나의 집합이 평가되고 프로필의 다른 세트가 무시됩니다. 이중 키 쌍이 발행되면 첫 번째 정책 세트가 첫 번째 인증서 요청에 대해 평가되고 두 번째 세트는 두 번째 인증서 요청에 대해 평가됩니다. 듀얼 키 쌍을 발행할 때 단일 인증서 또는 두 개 이상의 세트를 발행할 때 두 개 이상의 정책 세트가 필요하지 않습니다.
| 매개변수 | 설명 |
|---|---|
| desc |
인증서 프로필에 대한 무료 텍스트 설명(end-entities) 페이지에 표시됩니다. 예를 들어 |
| enable |
엔드 포인트 페이지를 통해 액세스할 수 있도록 프로필을 활성화합니다. 예를 들면 |
| auth.instance_id |
인증서 요청을 인증하는 데 사용할 인증 관리자 플러그인을 설정합니다. 자동 등록의 경우 인증에 성공하면 CA에서 즉시 인증서를 발행합니다. 인증이 실패하거나 인증 플러그인이 지정되지 않은 경우 요청이 에이전트에서 수동으로 승인하도록 큐에 큐에 추가됩니다. 예를 들면 |
| authz.acl |
권한 부여 제약 조건을 지정합니다. 이 기능은 ACL(그룹 평가 액세스 제어 목록)을 설정하는 데 주로 사용됩니다. 예를 들어
디렉터리 기반 사용자 인증서 업데이트에서 이 옵션은 원래 요청자 및 현재 인증 된 사용자가 동일한지 확인하는 데 사용됩니다. 권한 부여를 평가하기 전에 엔터티에서 인증(바인딩 또는, 기본적으로 시스템에 로그인)해야 합니다. |
| name |
인증서 프로필의 이름입니다. 예를 들어 |
| input.list |
이름별로 인증서 프로필에 허용된 입력을 나열합니다. 예를 들면 |
| input.input_id.class_id |
입력 ID로 입력의 java 클래스 이름을 나타냅니다( input.list에 나열된 입력의 이름). 예를 들어 |
| output.list |
인증서 프로필에 사용 가능한 출력 형식을 이름으로 나열합니다. 예를 들면 |
| output.output_id.class_id |
output.list에 이름이 지정된 출력 형식의 java 클래스 이름을 지정합니다. 예를 들어 |
| policyset.list |
구성된 인증서 프로필 규칙을 나열합니다. 이중 인증서의 경우 하나의 규칙 세트가 서명 키에 적용되며 다른 규칙 세트가 암호화 키에 적용됩니다. 단일 인증서는 하나의 인증서 프로필 규칙 세트만 사용합니다. 예를 들어 |
| policyset.policyset_id.list |
평가해야 하는 순서에 따라 인증서 프로필에 대해 구성된 정책 프로필 내의 정책을 정책 ID 번호로 나열합니다. 예를 들어 |
| policyset.policyset_id.policy_number.constraint.class_id | 프로필 규칙에 구성된 기본값에 대해 제약 조건 플러그인 세트의 java 클래스 이름을 나타냅니다. 예를 들어 policyset.serverCertSet.1.constraint.class_id=subjectNameConstraintImpl입니다. |
| policyset.policyset_id.policy_number.constraint.name | 제약 조건의 사용자 정의 이름을 제공합니다. 예를 들어 policyset.serverCertSet.1.constraint.name=Subject Name Constraint입니다. |
| policyset.policyset_id.policy_number.constraint.params.attribute | 제약 조건에 대해 허용되는 속성에 대한 값을 지정합니다. 사용 가능한 속성은 제약 조건 유형에 따라 달라집니다. 예를 들어 policyset.serverCertSet.1.octets.params.octets=CN=.*입니다. |
| policyset.policyset_id.policy_number.default.class_id | 프로필 규칙에 기본 세트에 대한 java 클래스 이름을 제공합니다. For example, policyset.serverCertSet.1.default.class_id=userSubjectNameDefaultImpl |
| policyset.policyset_id.policy_number.default.name | 기본값의 사용자 정의 이름을 지정합니다. 예를 들어 policyset.serverCertSet.1.default.name=Subject Name Default |
| policyset.policyset_id.policy_number.default.params.attribute | 기본값에 대해 허용된 속성의 값을 지정합니다. 가능한 속성은 기본값 유형에 따라 다릅니다. For example, policyset.serverCertSet.1.default.params.name=CN=(Name)$request.requestor_name$. |
6장. IdM에서 인증서의 유효성 관리 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management)에서는 향후 발급하려는 기존 인증서와 인증서의 유효성을 모두 관리할 수 있지만 방법은 다릅니다.
6.1. IdM CA에서 발급한 기존 인증서의 유효성 관리 링크 복사링크가 클립보드에 복사되었습니다!
IdM에서 인증서 만료 날짜를 확인하는 다음 방법을 사용할 수 있습니다.
다음과 같은 방법으로 IdM CA에서 발급한 기존 인증서의 유효성을 관리할 수 있습니다.
원래 CSR(인증서 서명 요청) 또는 개인 키에서 생성된 새 CSR을 사용하여 새 인증서를 요청하여 인증서를 갱신합니다. 다음 유틸리티를 사용하여 새 인증서를 요청할 수 있습니다.
- certmonger
-
certmonger를 사용하여 서비스 인증서를 요청할 수 있습니다. 인증서가 만료되기 전에certmonger는 인증서를 자동으로 갱신하여 서비스 인증서의 유효성을 계속 확인합니다. 자세한 내용은 certmonger를 사용하여 서비스에 대한 IdM 인증서 가져오기를 참조하십시오. - certutil
-
certutil을 사용하여 사용자, 호스트 및 서비스 인증서를 갱신할 수 있습니다. 사용자 인증서 요청에 대한 자세한 내용은 새 사용자 인증서 요청 및 클라이언트로 내보내기를 참조하십시오. - OpenSSL
-
openssl을 사용하여 사용자, 호스트 및 서비스 인증서를 갱신할 수 있습니다.
인증서를 취소합니다. 자세한 내용은 다음을 참조하십시오.
인증서가 일시적으로 해지된 경우 복원하십시오. 자세한 내용은 다음을 참조하십시오.
6.2. IdM CA에서 발급한 향후 인증서의 유효성 관리 링크 복사링크가 클립보드에 복사되었습니다!
IdM CA에서 발급한 향후 인증서의 유효성을 관리하려면 인증서 프로필을 수정, 가져오기 또는 생성합니다. 자세한 내용은 Identity Management에서 인증서 프로필 생성 및 관리를 참조하십시오.
6.3. IdM WebUI에서 인증서 만료일 보기 링크 복사링크가 클립보드에 복사되었습니다!
IdM WebUI를 사용하여 IdM CA에서 발행한 모든 인증서의 만료 날짜를 확인할 수 있습니다.
사전 요구 사항
- 관리자의 자격 증명을 확보했는지 확인합니다.
절차
-
인증메뉴에서인증서>인증서를클릭합니다. 인증서의 일련 번호를 클릭하여 인증서 정보 페이지를 엽니다.
그림 6.1. 인증서 목록
-
인증서 정보 페이지에서
Expires On정보를 찾습니다.
6.4. CLI에서 인증서 만료일 보기 링크 복사링크가 클립보드에 복사되었습니다!
CLI(명령줄)를 사용하여 인증서의 만료 날짜를 볼 수 있습니다.
절차
openssl유틸리티를 사용하여 사람이 읽을 수 있는 형식으로 파일을 엽니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.5. 통합된 IdM CA를 사용하여 인증서 해지 링크 복사링크가 클립보드에 복사되었습니다!
6.5.1. 인증서 해지 이유 링크 복사링크가 클립보드에 복사되었습니다!
해지된 인증서는 유효하지 않으며 인증에 사용할 수 없습니다. 6을 제외한 모든 취소는 영구적입니다. 인증서 보유.
기본 해지 이유는 0: 지정되지 않은 것입니다.
| ID | 이유 | 설명 |
|---|---|---|
| 0 | 지정되지 않음 | |
| 1 | 키 완료 | 인증서를 발급한 키는 더 이상 신뢰할 수 없습니다. 가능한 원인: 토큰 손실, 부적절하게 액세스 가능한 파일. |
| 2 | ca Compromised | 인증서를 발급한 CA는 더 이상 신뢰되지 않습니다. |
| 3 | 영향을 받는 기능 변경 | 가능한 원인은 다음과 같습니다. * 한 사람이 퇴사했거나 다른 부서로 이동했습니다. * 호스트 또는 서비스가 폐지되고 있습니다. |
| 4 | superseded | 최신 인증서가 현재 인증서를 대체했습니다. |
| 5 | 작업 종료 | 호스트 또는 서비스가 해제되고 있습니다. |
| 6 | 인증서 보유 | 인증서가 일시적으로 취소되었습니다. 나중에 인증서를 복원할 수 있습니다. |
| 8 | CRL에서 제거 | 인증서 해지 목록(CRL)에 포함되어 있지 않습니다. |
| 9 | 권한 삭제 | 사용자, 호스트 또는 서비스가 더 이상 인증서를 사용할 수 없습니다. |
| 10 | Property Authority (AA) Compromise | AA 인증서는 더 이상 신뢰되지 않습니다. |
6.5.2. IdM WebUI를 사용하여 통합 IdM CA로 인증서 해지 링크 복사링크가 클립보드에 복사되었습니다!
인증서의 개인 키를 손실했음을 알고 있는 경우 인증서를 해지하여 악용을 방지해야 합니다. IdM WebUI를 사용하여 IdM CA에서 발급한 인증서를 취소하려면 이 절차를 완료합니다.
절차
-
인증>인증서>인증서를 클릭합니다. 인증서의 일련 번호를 클릭하여 인증서 정보 페이지를 엽니다.
그림 6.2. 인증서 목록
- 인증서 정보 페이지에서 → 을 클릭합니다.
- 취소 이유를 선택하고 를 클릭합니다. 자세한 내용은 인증서 취소 이유를 참조하십시오.
6.5.3. IdM CLI를 사용하여 통합 IdM CA로 인증서 해지 링크 복사링크가 클립보드에 복사되었습니다!
인증서의 개인 키를 손실했음을 알고 있는 경우 인증서를 해지하여 악용을 방지해야 합니다. IdM CLI를 사용하여 IdM CA에서 발급한 인증서를 취소하려면 이 절차를 완료합니다.
절차
ipa cert-revoke명령을 사용하여 다음을 지정합니다.- 인증서 일련 번호
- 취소 사유의 ID 번호; 자세한 내용은 인증서 취소 사유 를 참조하십시오.
예를 들어 이유 1로 인해 일련 번호가 1032 인 인증서를 취소하려면 다음을 수행합니다. 키 완료 .를 입력합니다.
ipa cert-revoke 1032 --revocation-reason=1
$ ipa cert-revoke 1032 --revocation-reason=1
새 인증서를 요청하는 방법에 대한 자세한 내용은 다음 설명서를 참조하십시오.
6.6. 통합된 IdM CA로 인증서 복원 링크 복사링크가 클립보드에 복사되었습니다!
6 이유로 인해 인증서를 취소한 경우: 인증서 보유, 인증서의 개인 키가 손상되지 않은 경우 다시 복원할 수 있습니다. 인증서를 복원하려면 다음 절차 중 하나를 사용합니다.
6.6.1. IdM WebUI를 사용하여 통합 IdM CA로 인증서 복원 링크 복사링크가 클립보드에 복사되었습니다!
IdM WebUI를 사용하여 이유 6로 인해 해지된 IdM 인증서를 복원하려면 이 절차를 완료합니다. 인증서 보유.
절차
-
인증메뉴에서인증서>인증서를클릭합니다. 인증서의 일련 번호를 클릭하여 인증서 정보 페이지를 엽니다.
그림 6.3. 인증서 목록
- 인증서 정보 페이지에서 클릭합니다.
6.6.2. IdM CLI를 사용하여 통합 IdM CA로 인증서 복원 링크 복사링크가 클립보드에 복사되었습니다!
IdM CLI를 사용하여 이유 6로 인해 해지된 IdM 인증서를 복원하려면 이 절차를 완료합니다. 인증서 보유.
절차
ipa cert-remove-hold명령을 사용하고 인증서 일련 번호를 지정합니다. 예를 들면 다음과 같습니다.ipa cert-remove-hold 1032
$ ipa cert-remove-hold 1032Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7장. 스마트 카드 인증에 대한 ID 관리 구성 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management)은 다음을 사용하여 스마트 카드 인증을 지원합니다.
- IdM 인증 기관에서 발급한 사용자 인증서
- 외부 인증 기관에서 발급한 사용자 인증서
두 가지 유형의 인증서에 대해 IdM에서 스마트 카드 인증을 구성할 수 있습니다. 이 시나리오에서 rootca.pem CA 인증서는 신뢰할 수 있는 외부 인증 기관의 인증서를 포함하는 파일입니다.
현재 IdM은 동일한 Subject Distinguished Name(DN)을 공유하는 여러 CA 가져오기를 지원하지 않지만 암호화 방식으로 다릅니다.
7.1. 스마트 카드 인증을 위한 IdM 서버 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 IdM(Identity Management) CA가 신뢰하는 <EXAMPLE.ORG> 도메인의 CA(인증 기관)에서 발급한 인증서에 대해 스마트 카드 인증을 활성화하는 방법을 설명합니다.
사전 요구 사항
- IdM 서버에 대한 루트 액세스 권한이 있습니다.
루트 CA 인증서와 모든 중간 CA 인증서가 있습니다.
- <EXAMPLE.ORG> CA 인증서를 직접 발급했거나 하위 CA 중 하나 이상을 통해 발급한 루트 CA의 인증서입니다. 기관에서 인증서를 발급한 웹 페이지에서 인증서 체인을 다운로드할 수 있습니다. 자세한 내용은 인증서 인증을 사용하도록 브라우저 구성에서 1-4a 단계를 참조하십시오.
-
IdM CA 인증서입니다. IdM CA 인스턴스가 실행 중인 IdM 서버의
/etc/ipa/ca.crt파일에서 CA 인증서를 가져올 수 있습니다. - 모든 중간 CA의 인증서입니다. 즉 <EXAMPLE.ORG> CA와 IdM CA 사이입니다.
절차
구성을 수행할 디렉터리를 생성합니다.
mkdir ~/SmartCard/
[root@server]# mkdir ~/SmartCard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리로 이동합니다.
cd ~/SmartCard/
[root@server]# cd ~/SmartCard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow PEM 형식의 파일에 저장된 관련 CA 인증서를 가져옵니다. CA 인증서가 DER와 같은 다른 형식의 파일에 저장된 경우 PEM 형식으로 변환합니다. IdM 인증 기관 인증서는 PEM 형식이며
/etc/ipa/ca.crt파일에 있습니다.DER 파일을 PEM 파일로 변환합니다.
openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEM
# openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEMCopy to Clipboard Copied! Toggle word wrap Toggle overflow 편의를 위해 구성을 수행하려는 디렉터리에 인증서를 복사합니다.
cp /tmp/rootca.pem ~/SmartCard/ cp /tmp/subca.pem ~/SmartCard/ cp /tmp/issuingca.pem ~/SmartCard/
[root@server SmartCard]# cp /tmp/rootca.pem ~/SmartCard/ [root@server SmartCard]# cp /tmp/subca.pem ~/SmartCard/ [root@server SmartCard]# cp /tmp/issuingca.pem ~/SmartCard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 외부 인증 기관의 인증서를 사용하는 경우
openssl x509유틸리티를 사용하여PEM형식의 파일 내용을 보고발급자 및주체값이 올바른지 확인합니다.openssl x509 -noout -text -in rootca.pem | more
[root@server SmartCard]# openssl x509 -noout -text -in rootca.pem | moreCopy to Clipboard Copied! Toggle word wrap Toggle overflow 관리자 권한으로 내장
ipa-advise유틸리티를 사용하여 구성 스크립트를 생성합니다.kinit admin ipa-advise config-server-for-smart-card-auth > config-server-for-smart-card-auth.sh
[root@server SmartCard]# kinit admin [root@server SmartCard]# ipa-advise config-server-for-smart-card-auth > config-server-for-smart-card-auth.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow config-server-for-smart-card-auth.sh스크립트는 다음 작업을 수행합니다.- IdM Apache HTTP 서버를 구성합니다.
- KDC (Key Distribution Center)에서 Kerberos (PKINIT)에서 초기 인증의 공개 키 암호화를 활성화합니다.
- 스마트 카드 권한 부여 요청을 수락하도록 IdM 웹 UI를 구성합니다.
스크립트를 실행하고 루트 CA 및 하위 CA 인증서가 포함된 PEM 파일을 인수로 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고하위 CA 인증서보다 먼저 루트 CA의 인증서를 인수로 추가하고 CA 또는 하위 CA 인증서가 만료되지 않았는지 확인합니다.
선택 사항: 사용자 인증서를 발급한 인증 기관이 OCSP(Online Certificate Status Protocol) 응답자를 제공하지 않는 경우 IdM 웹 UI에 대한 인증을 위해 OCSP 검사를 비활성화해야 할 수 있습니다.
/etc/httpd/conf.d/ssl.conf파일에서SSLOCSPEnable매개변수를off로 설정합니다.SSLOCSPEnable off
SSLOCSPEnable offCopy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 즉시 적용하려면 Apache 데몬(httpd)을 다시 시작합니다.
systemctl restart httpd
[root@server SmartCard]# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
주의IdM CA에서 발급한 사용자 인증서만 사용하는 경우 OCSP 검사를 비활성화하지 마십시오. OCSP 응답자는 IdM의 일부입니다.
OCSP 검사를 계속 활성화하는 방법에 대한 지침은 Apache mod_ssl 구성 옵션에서
SSLOCSPDefaultResponder지시문을 참조하십시오.
이제 서버가 스마트 카드 인증용으로 구성되어 있습니다.
전체 토폴로지에서 스마트 카드 인증을 활성화하려면 각 IdM 서버에서 절차를 실행합니다.
7.2. Ansible을 사용하여 스마트 카드 인증을 위해 IdM 서버 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 IdM(Identity Management) CA가 신뢰하는 <EXAMPLE.ORG> 도메인의 인증 기관(CA)이 발급한 인증서에 대해 Ansible을 사용하여 스마트 카드 인증을 활성화합니다.
사전 요구 사항
-
IdM 서버에 대한
루트액세스 권한이 있습니다. -
IdM
관리자암호를 알고 있습니다. 루트 CA 인증서, IdM CA 인증서 및 모든 중간 CA 인증서가 있습니다.
- <EXAMPLE.ORG> CA 인증서를 직접 발급했거나 하위 CA 중 하나 이상을 통해 발급한 루트 CA의 인증서입니다. 기관에서 인증서를 발급한 웹 페이지에서 인증서 체인을 다운로드할 수 있습니다. 자세한 내용은 Configuring a browser to enable certificate authentication 을 참조하십시오.
-
IdM CA 인증서입니다. IdM CA 서버의
/etc/ipa/ca.crt파일에서 CA 인증서를 가져올 수 있습니다. - <EXAMPLE.ORG> CA와 IdM CA 사이에 있는 모든 CA의 인증서입니다.
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.13 이상을 사용하고 있습니다.
-
ansible-freeipa패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password를 저장하는 것으로 가정합니다.
-
ansible-freeipa모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
절차
CA 인증서가
DER와 같은 다른 형식의 파일에 저장된 경우PEM형식으로 변환합니다.openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEM
# openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEMCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 인증 기관 인증서는
PEM형식이며/etc/ipa/ca.crt파일에 있습니다.선택 사항:
openssl x509유틸리티를 사용하여PEM형식의 파일 내용을 보고발급자 및주체값이 올바른지 확인합니다.openssl x509 -noout -text -in root-ca.pem | more
# openssl x509 -noout -text -in root-ca.pem | moreCopy to Clipboard Copied! Toggle word wrap Toggle overflow ~/MyPlaybook/ 디렉토리로 이동합니다.
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA 인증서 전용 하위 디렉터리를 생성합니다.
mkdir SmartCard/
$ mkdir SmartCard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 편의를 위해 필요한 모든 인증서를 ~/MyPlaybook/SmartCard/ 디렉터리에 복사합니다.
cp /tmp/root-ca.pem ~/MyPlaybooks/SmartCard/ cp /tmp/intermediate-ca.pem ~/MyPlaybooks/SmartCard/ cp /etc/ipa/ca.crt ~/MyPlaybooks/SmartCard/ipa-ca.crt
# cp /tmp/root-ca.pem ~/MyPlaybooks/SmartCard/ # cp /tmp/intermediate-ca.pem ~/MyPlaybooks/SmartCard/ # cp /etc/ipa/ca.crt ~/MyPlaybooks/SmartCard/ipa-ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 인벤토리 파일에서 다음을 지정합니다.
- 스마트 카드 인증을 위해 구성할 IdM 서버입니다.
- IdM 관리자 암호입니다.
다음 순서로 CA 인증서의 경로입니다.
- 루트 CA 인증서 파일
- 중간 CA 인증서 파일
- IdM CA 인증서 파일
파일은 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여
install-smartcard-server.yml플레이북을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 파일을 저장합니다.
Ansible 플레이북을 실행합니다. Playbook 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일, 인벤토리 파일을 지정합니다.
ansible-playbook --vault-password-file=password_file -v -i inventory install-smartcard-server.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory install-smartcard-server.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ipasmartcard_serverAnsible 역할은 다음 작업을 수행합니다.- IdM Apache HTTP 서버를 구성합니다.
- KDC (Key Distribution Center)에서 Kerberos (PKINIT)에서 초기 인증의 공개 키 암호화를 활성화합니다.
- 스마트 카드 권한 부여 요청을 수락하도록 IdM 웹 UI를 구성합니다.
선택 사항: 사용자 인증서를 발급한 인증 기관이 OCSP(Online Certificate Status Protocol) 응답자를 제공하지 않는 경우 IdM 웹 UI에 대한 인증을 위해 OCSP 검사를 비활성화해야 할 수 있습니다.
root로 IdM 서버에 연결합니다.ssh root@ipaserver.idm.example.com
ssh root@ipaserver.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/httpd/conf.d/ssl.conf파일에서SSLOCSPEnable매개변수를off로 설정합니다.SSLOCSPEnable off
SSLOCSPEnable offCopy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 즉시 적용하려면 Apache 데몬(httpd)을 다시 시작합니다.
systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
주의IdM CA에서 발급한 사용자 인증서만 사용하는 경우 OCSP 검사를 비활성화하지 마십시오. OCSP 응답자는 IdM의 일부입니다.
OCSP 검사를 계속 활성화하는 방법에 대한 지침은 Apache mod_ssl 구성 옵션에서
SSLOCSPDefaultResponder지시문을 참조하십시오.
인벤토리 파일에 나열된 서버가 스마트 카드 인증을 위해 구성되어 있습니다.
전체 토폴로지에서 스마트 카드 인증을 활성화하려면 Ansible 플레이북의 hosts 변수를 ipacluster 로 설정합니다.
--- - name: Playbook to setup smartcard for IPA server and replicas hosts: ipacluster [...]
---
- name: Playbook to setup smartcard for IPA server and replicas
hosts: ipacluster
[...]
7.3. 스마트 카드 인증을 위한 IdM 클라이언트 구성 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드 인증을 위해 IdM 클라이언트를 구성할 수 있습니다. 절차는 인증에 스마트 카드를 사용하는 동안 연결하려는 각 IdM 시스템, 클라이언트 또는 서버에서 실행해야 합니다. 예를 들어 호스트 A에서 호스트 B로 ssh 연결을 활성화하려면 호스트 B에서 스크립트를 실행해야 합니다.
관리자는 다음을 사용하여 스마트 카드 인증을 사용하도록 이 절차를 실행하십시오.
ssh프로토콜자세한 내용은 스마트 카드 인증을 사용하여 SSH 액세스 구성 을 참조하십시오.
- 콘솔 로그인
- GNOME 디스플레이 관리자(GDM)
-
su명령
IdM 웹 UI로 인증하는 데는 이 절차가 필요하지 않습니다. IdM 웹 UI에 인증하려면 두 개의 호스트가 필요합니다. 이 호스트 중 어느 것도 IdM 클라이언트여야 합니다.
- 브라우저가 실행 중인 시스템입니다. 시스템이 IdM 도메인 외부에 있을 수 있습니다.
-
httpd가 실행 중인 IdM 서버입니다.
다음 절차에서는 IdM 서버가 아닌 IdM 클라이언트에서 스마트 카드 인증을 구성하는 것으로 가정합니다. 따라서 구성 스크립트를 생성하는 IdM 서버와 스크립트를 실행하는 IdM 클라이언트라는 두 개의 컴퓨터가 필요합니다.
사전 요구 사항
- 스마트 카드 인증을 위해 IdM 서버 구성에 설명된 대로 IdM 서버가 스마트 카드 인증을 위해 구성되어 있습니다.
- IdM 서버와 IdM 클라이언트에 대한 루트 액세스 권한이 있습니다.
- 루트 CA 인증서와 모든 중간 CA 인증서가 있습니다.
-
원격 사용자가 성공적으로 로그인할 수 있도록
--mkhomedir옵션으로 IdM 클라이언트를 설치했습니다. 홈 디렉터리를 생성하지 않으면 기본 로그인 위치는 디렉터리 구조의 루트입니다./.
절차
IdM 서버에서 관리자 권한을 사용하여
ipa-advise를 사용하여 구성 스크립트를 생성합니다.kinit admin ipa-advise config-client-for-smart-card-auth > config-client-for-smart-card-auth.sh
[root@server SmartCard]# kinit admin [root@server SmartCard]# ipa-advise config-client-for-smart-card-auth > config-client-for-smart-card-auth.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow config-client-for-smart-card-auth.sh스크립트는 다음 작업을 수행합니다.- 스마트 카드 데몬을 구성합니다.
- 시스템 전체 신뢰 저장소를 설정합니다.
- 사용자가 사용자 이름과 암호 또는 스마트 카드로 인증할 수 있도록 SSSD(System Security Services Daemon)를 구성합니다. 스마트 카드 인증에 대한 SSSD 프로필 옵션에 대한 자세한 내용은 RHEL의 스마트 카드 인증 옵션을 참조하십시오.
IdM 서버에서 IdM 클라이언트 시스템에서 선택한 디렉터리에 스크립트를 복사합니다.
scp config-client-for-smart-card-auth.sh root@client.idm.example.com:/root/SmartCard/
[root@server SmartCard]# scp config-client-for-smart-card-auth.sh root@client.idm.example.com:/root/SmartCard/ Password: config-client-for-smart-card-auth.sh 100% 2419 3.5MB/s 00:00Copy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 서버에서 이전 단계에서 사용된 IdM 클라이언트 시스템의 동일한 디렉터리에 편의를 위해 PEM 형식의 CA 인증서 파일을 복사합니다.
scp {rootca.pem,subca.pem,issuingca.pem} root@client.idm.example.com:/root/SmartCard/[root@server SmartCard]# scp {rootca.pem,subca.pem,issuingca.pem} root@client.idm.example.com:/root/SmartCard/ Password: rootca.pem 100% 1237 9.6KB/s 00:00 subca.pem 100% 2514 19.6KB/s 00:00 issuingca.pem 100% 2514 19.6KB/s 00:00Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클라이언트 시스템에서 스크립트를 실행하고 CA 인증서가 포함된 PEM 파일을 인수로 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고하위 CA 인증서보다 먼저 루트 CA의 인증서를 인수로 추가하고 CA 또는 하위 CA 인증서가 만료되지 않았는지 확인합니다.
이제 클라이언트가 스마트 카드 인증용으로 구성되어 있습니다.
7.4. Ansible을 사용하여 스마트 카드 인증을 위해 IdM 클라이언트 구성 링크 복사링크가 클립보드에 복사되었습니다!
IdM 사용자가 스마트 카드로 인증할 수 있도록 ansible-freeipa ipasmartcard_client 모듈을 사용하여 특정 IdM(Identity Management) 클라이언트를 구성하려면 다음 절차를 따르십시오. 다음 절차를 실행하여 IdM에 액세스하는 데 다음을 사용하는 IdM 사용자의 스마트 카드 인증을 활성화합니다.
ssh프로토콜자세한 내용은 스마트 카드 인증을 사용하여 SSH 액세스 구성 을 참조하십시오.
- 콘솔 로그인
- GNOME 디스플레이 관리자(GDM)
-
su명령
IdM 웹 UI로 인증하는 데는 이 절차가 필요하지 않습니다. IdM 웹 UI에 인증하려면 두 개의 호스트가 필요합니다. 이 호스트 중 어느 것도 IdM 클라이언트여야 합니다.
- 브라우저가 실행 중인 시스템입니다. 시스템이 IdM 도메인 외부에 있을 수 있습니다.
-
httpd가 실행 중인 IdM 서버입니다.
사전 요구 사항
- Ansible을 사용하여 스마트 카드 인증을 위해 IdM 서버를 구성하는 데 설명된 대로 IdM 서버는 스마트 카드 인증을 위해 구성되어 있습니다.
- IdM 서버와 IdM 클라이언트에 대한 루트 액세스 권한이 있습니다.
- 루트 CA 인증서, IdM CA 인증서 및 모든 중간 CA 인증서가 있습니다.
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.13 이상을 사용하고 있습니다.
-
ansible-freeipa패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password를 저장하는 것으로 가정합니다.
-
ansible-freeipa모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
절차
CA 인증서가
DER와 같은 다른 형식의 파일에 저장된 경우PEM형식으로 변환합니다.openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEM
# openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEMCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM CA 인증서는
PEM형식이며/etc/ipa/ca.crt파일에 있습니다.선택 사항:
openssl x509유틸리티를 사용하여PEM형식의 파일 내용을 보고발급자 및주체값이 올바른지 확인합니다.openssl x509 -noout -text -in root-ca.pem | more
# openssl x509 -noout -text -in root-ca.pem | moreCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 제어 노드에서 ~/MyPlaybook/ 디렉터리로 이동합니다.
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA 인증서 전용 하위 디렉터리를 생성합니다.
mkdir SmartCard/
$ mkdir SmartCard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 편의를 위해 필요한 모든 인증서를 ~/MyPlaybook/SmartCard/ 디렉터리에 복사합니다. 예를 들면 다음과 같습니다.
cp /tmp/root-ca.pem ~/MyPlaybooks/SmartCard/ cp /tmp/intermediate-ca.pem ~/MyPlaybooks/SmartCard/ cp /etc/ipa/ca.crt ~/MyPlaybooks/SmartCard/ipa-ca.crt
# cp /tmp/root-ca.pem ~/MyPlaybooks/SmartCard/ # cp /tmp/intermediate-ca.pem ~/MyPlaybooks/SmartCard/ # cp /etc/ipa/ca.crt ~/MyPlaybooks/SmartCard/ipa-ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 인벤토리 파일에서 다음을 지정합니다.
- 스마트 카드 인증을 위해 구성할 IdM 클라이언트입니다.
- IdM 관리자 암호입니다.
다음 순서로 CA 인증서의 경로입니다.
- 루트 CA 인증서 파일
- 중간 CA 인증서 파일
- IdM CA 인증서 파일
파일은 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여
install-smartcard-clients.yml플레이북을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 파일을 저장합니다.
Ansible 플레이북을 실행합니다. Playbook 및 인벤토리 파일을 지정합니다.
ansible-playbook --vault-password-file=password_file -v -i inventory install-smartcard-clients.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory install-smartcard-clients.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ipasmartcard_clientAnsible 역할은 다음 작업을 수행합니다.- 스마트 카드 데몬을 구성합니다.
- 시스템 전체 신뢰 저장소를 설정합니다.
- 사용자가 사용자 이름 및 암호 또는 스마트 카드로 인증할 수 있도록 SSSD(System Security Services Daemon)를 구성합니다. 스마트 카드 인증에 대한 SSSD 프로필 옵션에 대한 자세한 내용은 RHEL의 스마트 카드 인증 옵션을 참조하십시오.
인벤토리 파일의 ipaclients 섹션에 나열된 클라이언트가 스마트 카드 인증을 위해 구성됩니다.
--mkhomedir 옵션을 사용하여 IdM 클라이언트를 설치한 경우 원격 사용자가 홈 디렉터리에 로그인할 수 있습니다. 그렇지 않으면 기본 로그인 위치는 디렉터리 구조의 루트입니다. /.
7.5. IdM 웹 UI의 사용자 항목에 인증서 추가 링크 복사링크가 클립보드에 복사되었습니다!
IdM 웹 UI의 사용자 항목에 외부 인증서를 추가할 수 있습니다.
전체 인증서를 업로드하는 대신 IdM의 사용자 항목에 인증서 매핑 데이터를 업로드할 수도 있습니다. 전체 인증서 또는 인증서 매핑 데이터를 포함하는 사용자 항목을 해당 인증서 매핑 규칙과 함께 사용하여 시스템 관리자를 위한 스마트 카드 인증을 쉽게 구성할 수 있습니다. 자세한 내용은 다음을 참조하십시오.
IdM 인증 기관에서 사용자 인증서를 발급한 경우 인증서가 이미 사용자 항목에 저장되어 있으며 이 절차를 따를 필요가 없습니다.
사전 요구 사항
- 사용 중인 사용자 항목에 추가할 인증서가 있습니다.
절차
- 다른 사용자에게 인증서를 추가하려면 IdM 웹 UI에 관리자로 로그인합니다. 자체 프로필에 인증서를 추가하려면 관리자의 자격 증명이 필요하지 않습니다.
-
사용자 → 활성사용자→sc_user로 이동합니다. -
인증서옵션을 찾아추가를 클릭합니다. 명령줄에서
cat유틸리티 또는 텍스트 편집기를 사용하여PEM형식으로 인증서를 표시합니다.cat testuser.crt
[user@client SmartCard]$ cat testuser.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow - CLI에서 인증서를 복사하여 웹 UI에서 연 창에 붙여넣습니다.
-
추가를 클릭합니다.
이제 sc_user 항목에 외부 인증서가 포함되어 있습니다.
7.6. IdM CLI의 사용자 항목에 인증서 추가 링크 복사링크가 클립보드에 복사되었습니다!
IdM CLI의 사용자 항목에 외부 인증서를 추가할 수 있습니다.
전체 인증서를 업로드하는 대신 IdM의 사용자 항목에 인증서 매핑 데이터를 업로드할 수도 있습니다. 전체 인증서 또는 인증서 매핑 데이터를 포함하는 사용자 항목을 해당 인증서 매핑 규칙과 함께 사용하여 시스템 관리자를 위한 스마트 카드 인증을 쉽게 구성할 수 있습니다. 자세한 내용은 인증 구성을 위한 인증서 매핑 규칙을 참조하십시오.
IdM 인증 기관에서 사용자 인증서를 발급한 경우 인증서가 이미 사용자 항목에 저장되어 있으며 이 절차를 따를 필요가 없습니다.
사전 요구 사항
- 사용 중인 사용자 항목에 추가할 인증서가 있습니다.
절차
다른 사용자에게 인증서를 추가하려면 IdM CLI에 관리자로 로그인합니다.
kinit admin
[user@client SmartCard]$ kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 자체 프로필에 인증서를 추가하려면 관리자의 자격 증명이 필요하지 않습니다.
kinit <smartcard_user>
[user@client SmartCard]$ kinit <smartcard_user>Copy to Clipboard Copied! Toggle word wrap Toggle overflow header 및 footer가 제거된 인증서가 포함된 환경 변수를 생성하고 단일 행에 연결합니다.
ipa user-add-cert명령에서 예상되는 형식입니다.export CERT=`openssl x509 -outform der -in testuser.crt | base64 -w0 -`
[user@client SmartCard]$ export CERT=`openssl x509 -outform der -in testuser.crt | base64 -w0 -`Copy to Clipboard Copied! Toggle word wrap Toggle overflow testuser.crt파일의 인증서는PEM형식이어야 합니다.ipa user-add-cert명령을 사용하여 < smartcard_user >의 프로필에 인증서를 추가합니다.ipa user-add-cert <smartcard_user> --certificate=$CERT
[user@client SmartCard]$ ipa user-add-cert <smartcard_user> --certificate=$CERTCopy to Clipboard Copied! Toggle word wrap Toggle overflow
& lt;smartcard_user& gt; 항목에 외부 인증서가 포함되어 있습니다.
7.7. 스마트 카드를 관리하고 사용하기 위한 도구 설치 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 구성하려면 인증서를 생성하고 pscd 서비스를 시작할 수 있는 해당 툴을 설치해야 합니다.
사전 요구 사항
-
root권한이 있습니다.
절차
opensc및gnutls-utils패키지를 설치합니다.yum -y install opensc gnutls-utils
# yum -y install opensc gnutls-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcscd서비스를 시작합니다.systemctl start pcscd
# systemctl start pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
pcscd서비스가 실행 중인지 확인합니다.systemctl status pcscd
# systemctl status pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.8. 스마트 카드 준비 및 스마트 카드에 인증서 및 키 업로드 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 구성하는 데 도움이 되는 pkcs15-init 도구를 사용하여 스마트 카드를 구성합니다.
- 스마트 카드 삭제
- 새로운 PINs 설정 및 PUK (선택 사항적인 Pin Unblocking Keys)
- 스마트 카드에 새 슬롯 만들기
- 슬롯에 인증서, 개인 키 및 공개 키 저장
- 필요한 경우 특정 스마트 카드에 따라 스마트 카드 설정을 잠금하려면 이러한 유형의 종료가 필요합니다.
pkcs15-init 도구는 모든 스마트 카드에서 작동하지 않을 수 있습니다. 사용 중인 스마트 카드로 작동하는 도구를 사용해야 합니다.
사전 요구 사항
pkcs15-init도구를 포함하는opensc패키지가 설치됩니다.자세한 내용은 스마트 카드 관리 및 사용을 위한 툴 설치를 참조하십시오.
- 카드가 리더에 삽입되어 컴퓨터에 연결되어 있습니다.
-
개인 키, 공개 키 및 스마트 카드에 저장할 인증서가 있습니다. 이 절차에서는
testuser.key,testuserpublic.key,testuser.crt는 개인 키, 공개 키 및 인증서에 사용되는 이름입니다. - 현재 SO-PIN(SO-PIN)의 스마트 카드 사용자 column 및 Security officer 4.6.1(SO-PIN)이 있습니다.
절차
스마트 카드를 지우고 PIN으로 인증합니다.
pkcs15-init --erase-card --use-default-transport-keys
$ pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 카드가 삭제되었습니다.
스마트 카드를 초기화하고, 사용자 PIN 및 PUK, 보안 지사 및 PUK를 설정합니다.
pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123$ pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow PCks15-init툴은 스마트 카드에 새 슬롯을 생성합니다.슬롯의 라벨 및 인증 ID를 설정합니다.
pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478$ pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 레이블은 사람이 읽을 수 있는 값(이 경우
testuser)으로 설정됩니다.auth-id는 두 개의 16진수 값이어야 합니다. 이 경우01로 설정됩니다.개인 키를 스마트 카드의 새 슬롯에 저장하고 레이블을 지정합니다.
pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214$ pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고개인 키를 저장하고 다음 단계에 인증서를 저장할 때
--id에 지정하는 값은 동일해야 합니다. 도구에서 더 복잡한 값을 계산하므로--id에 고유한 값을 지정하는 것이 좋습니다.스마트 카드의 새 슬롯에 인증서를 저장하고 레이블을 지정합니다.
pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214$ pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 스마트 카드의 새 슬롯에 공개 키를 저장하고 레이블을 지정합니다.
pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214$ pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고공개 키가 개인 키 또는 인증서에 해당하는 경우 개인 키 또는 인증서의 ID와 동일한 ID를 지정합니다.
선택 사항: 특정 스마트 카드에서는 설정을 잠그는 방식으로 카드를 완료해야합니다.
pkcs15-init -F
$ pkcs15-init -FCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 단계에서 스마트 카드에 새로 생성된 슬롯에 인증서, 개인 키 및 공개 키가 포함되어 있습니다. 또한 사용자 PIN 및 PUK 및 Security Officer PIN 및 PUK를 생성했습니다.
7.9. 스마트 카드를 사용하여 IdM에 로그인 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 사용하여 IdM 웹 UI에 로그인할 수 있습니다.
사전 요구 사항
- 웹 브라우저가 스마트 카드 인증을 사용하도록 구성되어 있습니다.
- IdM 서버는 스마트 카드 인증을 위해 구성됩니다.
- 스마트 카드에 설치된 인증서는 IdM 서버에서 발행하거나 IdM의 사용자 항목에 추가되었습니다.
- 스마트 카드의 잠금을 해제하는 데 필요한 DestinationRule을 알고 있습니다.
- 스마트 카드가 리더에 삽입되었습니다.
절차
- 브라우저에서 IdM 웹 UI를 엽니다.
- 인증서를 사용하여 로그인을 클릭합니다.
암호 필요 대화 상자가 열리면 스마트 카드의 잠금을 해제하고 확인 버튼을 클릭합니다.
사용자 ID 요청 대화 상자가 열립니다.
스마트 카드에 두 개 이상의 인증서가 포함된 경우 드롭다운 목록에서 인증에 사용할 인증서를 선택하여 ID로 표시할 인증서 선택.
- OK 버튼을 클릭합니다.
이제 IdM 웹 UI에 로그인했습니다.
7.10. IdM 클라이언트에서 스마트 카드 인증을 사용하여 GDM에 로그인 링크 복사링크가 클립보드에 복사되었습니다!
GNOME 데스크탑 관리자(GDM)에는 인증이 필요합니다. 암호를 사용할 수 있지만 인증에 스마트 카드를 사용할 수도 있습니다.
smart 카드 인증을 사용하여 GDM에 액세스하려면 다음 절차를 따르십시오.
사전 요구 사항
- 시스템은 스마트 카드 인증을 위해 구성되었습니다. 자세한 내용은 스마트 카드 인증을 위한 IdM 클라이언트 구성을 참조하십시오.
- 스마트 카드에는 인증서 및 개인 키가 포함되어 있습니다.
- 사용자 계정은 IdM 도메인의 멤버입니다.
스마트 카드의 인증서는 다음을 통해 사용자 항목에 매핑됩니다.
- 특정 사용자 항목에 인증서를 할당합니다. 자세한 내용은 IdM 웹 UI의 사용자 항목에 인증서 추가 또는 IdM CLI의 사용자 항목에 인증서 추가를 참조하십시오.
- 계정에 적용되는 인증서 매핑 데이터입니다. 자세한 내용은 스마트 카드에 대한 인증을 구성하기 위한 인증서 매핑 규칙을 참조하십시오.
절차
- 리더에 스마트 카드를 삽입합니다.
- 스마트 카드 Pin을 입력합니다.
- Sign In 을 클릭합니다.
RHEL 시스템에 성공적으로 로그인되어 있으며 IdM 서버에서 제공하는 TGT가 있습니다.
검증
터미널 창에서
klist를 입력하고 결과를 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.11. su 명령으로 스마트 카드 인증 사용 링크 복사링크가 클립보드에 복사되었습니다!
다른 사용자로 변경하려면 인증이 필요합니다. 암호 또는 인증서를 사용할 수 있습니다. su 명령과 함께 스마트 카드를 사용하려면 다음 절차를 따르십시오. 즉, su 명령을 입력한 후 스마트 카드 PIN을 입력하라는 메시지가 표시됩니다.
사전 요구 사항
스마트 카드 인증을 위해 IdM 서버 및 클라이언트가 구성되어 있습니다.
- 스마트 카드 인증을 위한 IdM 서버 구성을참조하십시오.
- 스마트 카드 인증을 위한 IdM 클라이언트 구성을참조하십시오.
- 스마트 카드에는 인증서 및 개인 키가 포함되어 있습니다. 스마트 카드에서 인증서 생성참조
- 카드가 리더에 삽입되어 컴퓨터에 연결되어 있습니다.
절차
터미널 창에서
su명령을 사용하여 다른 사용자로 변경합니다.su - <user_name>
$ su - <user_name> PIN for smart_cardCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구성이 올바르면 스마트 카드 4.6.1을 입력하라는 메시지가 표시됩니다.
8장. IdM의 스마트 카드 인증에 대해 ADCS에서 발급한 인증서 구성 링크 복사링크가 클립보드에 복사되었습니다!
AD(Active Directory) 인증서 서비스에서 인증서를 발급한 사용자에 대해 IdM에서 스마트 카드 인증을 구성하려면 다음을 수행합니다.
- 배포는 IdM(Identity Management)과 AD(Active Directory) 간 신뢰를 기반으로 합니다.
- 계정이 AD에 저장된 사용자에 대해 스마트 카드 인증을 허용하려고 합니다.
- 인증서는 ADCS(Active Directory Certificate Services)에 생성되고 저장됩니다.
사전 요구 사항
IdM(Identity Management) 및 AD(Active Directory) 신뢰가 설치되어 있습니다.
자세한 내용은 IdM과 AD 간 신뢰 설치를 참조하십시오.
- ADCS(Active Directory Certificate Services)가 설치되고 사용자를 위한 인증서가 생성됩니다.
8.1. 신뢰 구성 및 인증서 사용에 필요한 Windows Server 설정 링크 복사링크가 클립보드에 복사되었습니다!
Windows Server에서 다음을 구성해야 합니다.
- ADCS(Active Directory 인증서 서비스)가 설치됨
- 인증 기관 생성
- 선택 사항: 인증 기관 웹 등록(IIS)을 사용하는 경우 인터넷 정보 서비스(IIS)를 구성해야 합니다.
내보낸 인증서는 다음 기준을 충족해야 합니다.
-
키의
2048bit 이상이 있어야 합니다. - 개인 키 포함
다음 형식의 인증서가 필요합니다. Personal Information Exchange —
PKCS #12(.PFX)- 인증서 개인 정보 보호 활성화
8.2. sftp를 사용하여 Active Directory에서 인증서 복사 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드 인증을 사용하려면 다음 인증서 파일을 복사해야 합니다.
-
IdM 서버의
CER형식의 루트 CA 인증서:adcs-winserver-ca.cer. -
개인 키가 있는 사용자 인증서: IdM 클라이언트의
aduser1.pfx입니다.
이 절차에서는 SSH 액세스가 허용될 수 있습니다. SSH를 사용할 수 없는 경우 사용자는 AD Server에서 IdM 서버 및 클라이언트로 파일을 복사해야 합니다.
절차
IdM 서버에서 연결하고
adcs-winserver-ca.cer루트 인증서를 IdM 서버에 복사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 클라이언트에서 연결하고
aduser1.pfx사용자 인증서를 클라이언트에 복사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 CA 인증서가 IdM 서버에 저장되고 사용자 인증서가 클라이언트 시스템에 저장됩니다.
8.3. ADCS 인증서를 사용하여 스마트 카드 인증을 위해 IdM 서버 및 클라이언트 구성 링크 복사링크가 클립보드에 복사되었습니다!
IdM 환경에서 스마트 카드 인증을 사용할 수 있도록 IdM(Identity Management) 서버와 클라이언트를 구성해야 합니다. IdM에는 필요한 모든 변경을 수행하는 ipa-advise 스크립트가 포함되어 있습니다.
- 필요한 패키지 설치
- IdM 서버 및 클라이언트 구성
- CA 인증서를 예상 위치에 복사
IdM 서버에서 ipa-advise 를 실행할 수 있습니다.
스마트 카드 인증을 위해 서버 및 클라이언트를 구성하려면 다음 절차를 따르십시오.
-
IdM 서버에서 다음을 수행합니다. 스마트 카드 인증을 위해 IdM 서버를 구성하기 위해
ipa-advise스크립트를 준비합니다. -
IdM 서버에서 다음을 수행합니다. 스마트 카드 인증을 위해 IdM 클라이언트를 구성하기 위해
ipa-advise스크립트를 준비합니다. -
IdM 서버에서 다음을 수행합니다. AD 인증서를 사용하여 IdM 서버에
ipa-advise서버 스크립트 적용. - 클라이언트 스크립트를 IdM 클라이언트 시스템으로 이동합니다.
-
IdM 클라이언트의 경우: AD 인증서를 사용하여 IdM 클라이언트에
ipa-advise클라이언트 스크립트 적용.
사전 요구 사항
- 인증서가 IdM 서버에 복사되었습니다.
- Kerberos 티켓을 받으십시오.
- 관리 권한이 있는 사용자로 로그인합니다.
절차
IdM 서버에서
ipa-advise스크립트를 사용하여 클라이언트를 구성합니다.ipa-advise config-client-for-smart-card-auth > sc_client.sh
[root@idmserver ~]# ipa-advise config-client-for-smart-card-auth > sc_client.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 서버에서
ipa-advise스크립트를 사용하여 서버를 구성합니다.ipa-advise config-server-for-smart-card-auth > sc_server.sh
[root@idmserver ~]# ipa-advise config-server-for-smart-card-auth > sc_server.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 서버에서 스크립트를 실행합니다.
sh -x sc_server.sh adcs-winserver-ca.cer
[root@idmserver ~]# sh -x sc_server.sh adcs-winserver-ca.cerCopy to Clipboard Copied! Toggle word wrap Toggle overflow - IdM Apache HTTP 서버를 구성합니다.
- KDC (Key Distribution Center)에서 Kerberos (PKINIT)에서 초기 인증의 공개 키 암호화를 활성화합니다.
- 스마트 카드 권한 부여 요청을 수락하도록 IdM 웹 UI를 구성합니다.
sc_client.sh스크립트를 클라이언트 시스템에 복사합니다.scp sc_client.sh root@client1.idm.example.com:/root
[root@idmserver ~]# scp sc_client.sh root@client1.idm.example.com:/root Password: sc_client.sh 100% 2857 1.6MB/s 00:00Copy to Clipboard Copied! Toggle word wrap Toggle overflow Windows 인증서를 클라이언트 시스템에 복사합니다.
scp adcs-winserver-ca.cer root@client1.idm.example.com:/root
[root@idmserver ~]# scp adcs-winserver-ca.cer root@client1.idm.example.com:/root Password: adcs-winserver-ca.cer 100% 1254 952.0KB/s 00:00Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클라이언트 시스템에서 클라이언트 스크립트를 실행합니다.
sh -x sc_client.sh adcs-winserver-ca.cer
[root@idmclient1 ~]# sh -x sc_client.sh adcs-winserver-ca.cerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 CA 인증서가 IdM 서버 및 클라이언트 시스템에 올바른 형식으로 설치됩니다. 다음 단계는 사용자 인증서를 스마트 카드 자체에 복사하는 것입니다.
8.4. PNetworkPolicy 파일 변환 링크 복사링크가 클립보드에 복사되었습니다!
PNetworkPolicy (PKCS#12) 파일을 스마트 카드에 저장하기 전에 다음을 수행해야합니다.
- 파일을 PEM 형식으로 변환합니다.
- 개인 키와 인증서를 두 개의 다른 파일로 추출합니다.
사전 요구 사항
- Pjournal은 IdM 클라이언트 시스템에 복사됩니다.
절차
IdM 클라이언트에서 파일을 PEM 형식으로 변환합니다.
openssl pkcs12 -in aduser1.pfx -out aduser1_cert_only.pem -clcerts -nodes
[root@idmclient1 ~]# openssl pkcs12 -in aduser1.pfx -out aduser1_cert_only.pem -clcerts -nodes Enter Import Password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 키를 별도의 파일에 추출합니다.
openssl pkcs12 -in adduser1.pfx -nocerts -out adduser1.pem > aduser1.key
[root@idmclient1 ~]# openssl pkcs12 -in adduser1.pfx -nocerts -out adduser1.pem > aduser1.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 공용 인증서를 별도의 파일에 추출합니다.
openssl pkcs12 -in adduser1.pfx -clcerts -nokeys -out aduser1_cert_only.pem > aduser1.crt
[root@idmclient1 ~]# openssl pkcs12 -in adduser1.pfx -clcerts -nokeys -out aduser1_cert_only.pem > aduser1.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이 시점에서 aduser1.key 및 aduser1.crt 를 스마트 카드에 저장할 수 있습니다.
8.5. 스마트 카드를 관리하고 사용하기 위한 도구 설치 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 구성하려면 인증서를 생성하고 pscd 서비스를 시작할 수 있는 해당 툴을 설치해야 합니다.
사전 요구 사항
-
root권한이 있습니다.
절차
opensc및gnutls-utils패키지를 설치합니다.yum -y install opensc gnutls-utils
# yum -y install opensc gnutls-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcscd서비스를 시작합니다.systemctl start pcscd
# systemctl start pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
pcscd서비스가 실행 중인지 확인합니다.systemctl status pcscd
# systemctl status pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.6. 스마트 카드 준비 및 스마트 카드에 인증서 및 키 업로드 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 구성하는 데 도움이 되는 pkcs15-init 도구를 사용하여 스마트 카드를 구성합니다.
- 스마트 카드 삭제
- 새로운 PINs 설정 및 PUK (선택 사항적인 Pin Unblocking Keys)
- 스마트 카드에 새 슬롯 만들기
- 슬롯에 인증서, 개인 키 및 공개 키 저장
- 필요한 경우 특정 스마트 카드에 따라 스마트 카드 설정을 잠금하려면 이러한 유형의 종료가 필요합니다.
pkcs15-init 도구는 모든 스마트 카드에서 작동하지 않을 수 있습니다. 사용 중인 스마트 카드로 작동하는 도구를 사용해야 합니다.
사전 요구 사항
pkcs15-init도구를 포함하는opensc패키지가 설치됩니다.자세한 내용은 스마트 카드 관리 및 사용을 위한 툴 설치를 참조하십시오.
- 카드가 리더에 삽입되어 컴퓨터에 연결되어 있습니다.
-
개인 키, 공개 키 및 스마트 카드에 저장할 인증서가 있습니다. 이 절차에서는
testuser.key,testuserpublic.key,testuser.crt는 개인 키, 공개 키 및 인증서에 사용되는 이름입니다. - 현재 SO-PIN(SO-PIN)의 스마트 카드 사용자 column 및 Security officer 4.6.1(SO-PIN)이 있습니다.
절차
스마트 카드를 지우고 PIN으로 인증합니다.
pkcs15-init --erase-card --use-default-transport-keys
$ pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 카드가 삭제되었습니다.
스마트 카드를 초기화하고, 사용자 PIN 및 PUK, 보안 지사 및 PUK를 설정합니다.
pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123$ pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow PCks15-init툴은 스마트 카드에 새 슬롯을 생성합니다.슬롯의 라벨 및 인증 ID를 설정합니다.
pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478$ pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 레이블은 사람이 읽을 수 있는 값(이 경우
testuser)으로 설정됩니다.auth-id는 두 개의 16진수 값이어야 합니다. 이 경우01로 설정됩니다.개인 키를 스마트 카드의 새 슬롯에 저장하고 레이블을 지정합니다.
pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214$ pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고개인 키를 저장하고 다음 단계에 인증서를 저장할 때
--id에 지정하는 값은 동일해야 합니다. 도구에서 더 복잡한 값을 계산하므로--id에 고유한 값을 지정하는 것이 좋습니다.스마트 카드의 새 슬롯에 인증서를 저장하고 레이블을 지정합니다.
pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214$ pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 스마트 카드의 새 슬롯에 공개 키를 저장하고 레이블을 지정합니다.
pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214$ pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고공개 키가 개인 키 또는 인증서에 해당하는 경우 개인 키 또는 인증서의 ID와 동일한 ID를 지정합니다.
선택 사항: 특정 스마트 카드에서는 설정을 잠그는 방식으로 카드를 완료해야합니다.
pkcs15-init -F
$ pkcs15-init -FCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 단계에서 스마트 카드에 새로 생성된 슬롯에 인증서, 개인 키 및 공개 키가 포함되어 있습니다. 또한 사용자 PIN 및 PUK 및 Security Officer PIN 및 PUK를 생성했습니다.
8.7. sssd.conf에서 타임아웃 구성 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드 인증서의 인증은 SSSD에서 사용하는 기본 시간 초과보다 오래 걸릴 수 있습니다. 시간 초과 만료는 다음과 같이 인해 발생할 수 있습니다.
- 느린 리더
- 물리적 장치에서 가상 환경으로 전달
- 스마트 카드에 저장된 인증서가 너무 많습니다.
- OCSP가 인증서를 확인하는 데 사용되는 경우 OCSP(Online Certificate Status Protocol) 응답 속도 저하
이 경우 sssd.conf 파일에서 다음 시간 초과를 연장할 수 있습니다(예: 60초).
-
p11_child_timeout -
krb5_auth_timeout
사전 요구 사항
- root로 로그인해야 합니다.
절차
sssd.conf파일을 엽니다.vim /etc/sssd/sssd.conf
[root@idmclient1 ~]# vim /etc/sssd/sssd.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow p11_hiera_timeout값을 변경합니다.[pam] p11_child_timeout = 60
[pam] p11_child_timeout = 60Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHEA
5_auth_timeout:의 값을 변경합니다.[domain/IDM.EXAMPLE.COM] krb5_auth_timeout = 60
[domain/IDM.EXAMPLE.COM] krb5_auth_timeout = 60Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 설정을 저장합니다.
이제 시간 초과로 인증이 실패하기 전에 스마트 카드와의 상호 작용은 1분(60초) 동안 실행할 수 있습니다.
8.8. 스마트 카드 인증을 위한 인증서 매핑 규칙 생성 링크 복사링크가 클립보드에 복사되었습니다!
AD(Active Directory)에 계정이 있고 IdM(Identity Management)에 계정이 있는 사용자에 대해 하나의 인증서를 사용하려는 경우 IdM 서버에서 인증서 매핑 규칙을 생성할 수 있습니다.
이러한 규칙을 만든 후 사용자는 두 도메인에서 스마트 카드로 인증할 수 있습니다.
인증서 매핑 규칙에 대한 자세한 내용은 인증 구성을 위한 인증서 매핑 규칙을 참조하십시오.
9장. ID 관리에서 인증서 매핑 규칙 구성 링크 복사링크가 클립보드에 복사되었습니다!
인증서 매핑 규칙은 IdM(Identity Management) 관리자가 특정 사용자의 인증서에 액세스할 수 없는 경우 시나리오에서 인증서를 사용하여 인증할 수 있는 편리한 방법입니다. 일반적으로 인증서가 외부 인증 기관에서 발행되었기 때문입니다.
9.1. 인증을 구성하기 위한 인증서 매핑 규칙 링크 복사링크가 클립보드에 복사되었습니다!
다음 시나리오에서는 인증서 매핑 규칙을 구성해야 할 수 있습니다.
- 인증서는 IdM 도메인이 신뢰 관계에 있는 AD(Active Directory)의 인증서 시스템에서 발급되었습니다.
- 인증서는 외부 인증 기관에서 발급했습니다.
- IdM 환경은 스마트 카드를 사용하는 많은 사용자에게 큽니다. 이 경우 전체 인증서를 추가하는 것은 복잡할 수 있습니다. 제목과 발행자는 대부분의 시나리오에서 예측할 수 있으므로 전체 인증서보다 미리 추가하기가 더 쉽습니다.
시스템 관리자는 인증서 매핑 규칙을 생성하고 특정 사용자에게 인증서를 발행하기 전에 인증서 매핑 데이터를 사용자 항목에 추가할 수 있습니다. 인증서가 발급되면 전체 인증서가 사용자 항목에 아직 업로드되지 않은 경우에도 인증서를 사용하여 로그인할 수 있습니다.
또한 인증서가 정기적으로 갱신되므로 인증서 매핑 규칙이 관리 오버헤드를 줄일 수 있습니다. 사용자의 인증서가 갱신되면 관리자는 사용자 항목을 업데이트할 필요가 없습니다. 예를 들어 매핑이 Subject 및 Issuer 값을 기반으로 하고 새 인증서가 이전 인증서와 동일한 주체 및 발행자 값을 기반으로 하는 경우 매핑이 계속 적용됩니다. 반대로 전체 인증서가 사용된 경우 관리자는 새 인증서를 사용자 항목에 업로드하여 이전 인증서를 교체해야 합니다.
인증서 매핑을 설정하려면 다음을 수행합니다.
- 관리자는 인증서 매핑 데이터 또는 전체 인증서를 사용자 계정으로 로드해야 합니다.
- 관리자는 인증서의 정보와 일치하는 인증서 매핑 데이터 항목이 포함된 사용자에 대해 IdM에 성공적으로 로그인할 수 있도록 인증서 매핑 규칙을 생성해야 합니다.
인증서 매핑 규칙이 생성되면 최종 사용자가 인증서를 제공할 때 파일 시스템 또는 스마트 카드에 저장된 인증이 성공적으로 수행됩니다.
KMS(Key Distribution Center)에는 인증서 매핑 규칙에 대한 캐시가 있습니다. 캐시는 첫 번째 certauth 요청에 채워지고 하드 코딩된 시간 제한은 300초입니다. KDC는 재시작되거나 캐시가 만료되지 않는 한 인증서 매핑 규칙에 대한 변경 사항을 볼 수 없습니다.
인증서 매핑 규칙은 인증서를 사용하는 사용 사례에 따라 달라질 수 있습니다. 예를 들어 인증서가 포함된 SSH를 사용하는 경우 인증서에서 공개 키를 추출하려면 전체 인증서가 있어야 합니다.
9.2. IdM의 ID 매핑 규칙의 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
IdM에서 ID 매핑 규칙을 생성할 때 다양한 구성 요소를 구성합니다. 각 구성 요소에는 재정의할 수 있는 기본값이 있습니다. 웹 UI 또는 CLI에서 구성 요소를 정의할 수 있습니다. CLI에서 ipa certmaprule-add 명령을 사용하여 ID 매핑 규칙이 생성됩니다.
- 매핑 규칙
매핑 규칙 구성 요소는 하나 이상의 사용자 계정과 인증서를 연결(또는 매핑)합니다. 규칙은 인증서를 의도된 사용자 계정과 연결하는 LDAP 검색 필터를 정의합니다.
다른 CA(인증 기관)에서 발급한 인증서는 속성이 다를 수 있으며 다른 도메인에서 사용할 수 있습니다. 따라서 IdM은 무조건 매핑 규칙을 적용하지 않고 적절한 인증서에만 적용됩니다. 적절한 인증서는 일치하는 규칙을 사용하여 정의합니다.
매핑 규칙 옵션을 비워 두면 DER 인코딩 바이너리 파일로
userCertificate속성에서 인증서가 검색됩니다.--maprule옵션을 사용하여 CLI에서 매핑 규칙을 정의합니다.- 일치 규칙
일치하는 규칙 구성 요소는 매핑 규칙을 적용할 인증서를 선택합니다. 기본 일치 규칙은
디지털 서명 키 사용 및사용과의 인증서와 일치합니다.clientAuth 확장 키일치의 경우
DER인코딩된ASN.1에 저장된 제목 이름은 RFC 4514 에 따라 문자열로 변환됩니다. 즉, 가장 구체적인 이름 구성 요소가 먼저 온다는 의미입니다.--matchrule옵션을 사용하여 CLI에서 일치하는 규칙을 정의합니다.예를 들어, <
ISSUER>C=US, O=EXAMPLE.COM,CN=Global CA1과 일치하는ipa certmaprule-mod는issuer=C=US,O=EXAMPLE.COM,CN=Global CA1이 있는 인증서에서 작동하지 않습니다.일치 규칙에 대한 올바른 구문은 <
ISSUER>CN=Global CA1,O=EXAMPLE.COM,C=US여야 합니다. 예를 들어C와O앞에는 가장 구체적인 구성 요소CN및 O가 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 도메인 목록
도메인 목록은 ID 매핑 규칙을 처리할 때 IdM에서 사용자를 검색할 ID 도메인을 지정합니다. 옵션을 지정하지 않은 경우 IdM은 IdM 클라이언트가 속한 로컬 도메인에서 사용자만 검색합니다.
--domain옵션을 사용하여 CLI에서 도메인을 정의합니다.- 우선 순위
인증서에 여러 규칙이 적용되면 우선 순위가 가장 높은 규칙이 우선합니다. 다른 모든 규칙은 무시됩니다.
- 숫자 값이 낮으면 ID 매핑 규칙의 우선 순위가 높습니다. 예를 들어 우선순위 1이 있는 규칙은 우선순위 2가 있는 규칙보다 우선 순위가 높습니다.
- 규칙의 우선순위 값이 정의되지 않은 경우 우선 순위가 가장 낮습니다.
--priority옵션을 사용하여 CLI에서 매핑 규칙 우선 순위를 정의합니다.
인증서 매핑 규칙 예
CLI를 사용하여 해당 인증서의 주체 가 IdM의 사용자 계정에 있는 certmapdata 항목과 일치하는 경우 EXAMPLE.ORG 조직의 스마트 카드 CA 에서 발급한 인증서에 대해 인증을 허용하는 인증서 매핑 규칙을 사용하여 다음을 수행합니다.
ipa certmaprule-add simple_rule --matchrule '<ISSUER>CN=Smart Card CA,O=EXAMPLE.ORG' --maprule '(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})'
# ipa certmaprule-add simple_rule --matchrule '<ISSUER>CN=Smart Card CA,O=EXAMPLE.ORG' --maprule '(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})'
9.3. 일치하는 규칙에 사용할 인증서에서 데이터 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 인증서 매핑 규칙의 일치하는 규칙에 복사하여 붙여넣을 수 있도록 인증서에서 데이터를 가져오는 방법을 설명합니다. 일치하는 규칙에 필요한 데이터를 가져오려면 sssctl cert-show 또는 sssctl cert-eval-rule 명령을 사용합니다.
사전 요구 사항
- PEM 형식의 사용자 인증서가 있습니다.
절차
필요한 데이터를 검색할 수 있도록 인증서가 올바르게 인코딩되었는지 확인하는 변수를 만듭니다.
CERT=$(openssl x509 -in /path/to/certificate -outform der|base64 -w0)
# CERT=$(openssl x509 -in /path/to/certificate -outform der|base64 -w0)Copy to Clipboard Copied! Toggle word wrap Toggle overflow sssctl cert-eval-rule을 사용하여 일치하는 데이터를 확인합니다. 다음 예제에서는 인증서 일련 번호가 사용됩니다.sssctl cert-eval-rule $CERT --match='<ISSUER>CN=adcs19-WIN1-CA,DC=AD,DC=EXAMPLE,DC=COM' --map='LDAPU1:(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})'# sssctl cert-eval-rule $CERT --match='<ISSUER>CN=adcs19-WIN1-CA,DC=AD,DC=EXAMPLE,DC=COM' --map='LDAPU1:(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})' Certificate matches rule. Mapping filter: (altSecurityIdentities=X509:<I>DC=com,DC=example,DC=ad,CN=adcs19-WIN1-CA<SR>0F0000000000DB8852DD7B246C9C0F0000003B)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 경우
altSecurityIdentities=후 모든 항목을 AD의altSecurityIdentities속성에 추가합니다. SKI 매핑을 사용하는 경우--map='LDAPU1:(altSecurityIdentities=X509:<SKI>{subject_key_id!hex_u})'를 사용합니다.선택 사항: 인증서 발행자가
ad.example.com도메인의adcs19- Cryostat1-CA와 일치해야 하고 인증서의 일련 번호가 사용자 계정의altSecurityIdentities항목과 일치하도록 지정하는 일치 규칙에 따라 CLI에 새 매핑 규칙을 만들려면 다음을 수행합니다.ipa certmaprule-add simple_rule --matchrule '<ISSUER>CN=adcs19-WIN1-CA,DC=AD,DC=EXAMPLE,DC=COM' --maprule 'LDAPU1:(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})'# ipa certmaprule-add simple_rule --matchrule '<ISSUER>CN=adcs19-WIN1-CA,DC=AD,DC=EXAMPLE,DC=COM' --maprule 'LDAPU1:(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.4. IdM에 저장된 사용자의 인증서 매핑 구성 링크 복사링크가 클립보드에 복사되었습니다!
인증서 인증이 구성된 사용자가 IdM에 저장된 경우 IdM에서 인증서 매핑을 활성화하려면 시스템 관리자가 다음 작업을 완료해야 합니다.
- 매핑 규칙에 지정된 조건과 일치하는 인증서가 있는 IdM 사용자가 인증서 매핑 규칙을 설정하고 인증서 매핑 데이터 항목에서 IdM을 인증할 수 있도록 인증서 매핑 규칙을 설정합니다.
- 인증서 매핑 데이터 항목에 지정된 값이 모두 포함된 경우 사용자가 여러 인증서를 사용하여 인증할 수 있도록 IdM 사용자 항목에 인증서 매핑 데이터를 입력합니다.
사전 요구 사항
- 사용자 계정은 IdM에 있습니다.
- 관리자는 사용자 항목에 추가할 전체 인증서 또는 인증서 매핑 데이터를 보유합니다.
9.4.1. IdM 웹 UI에서 인증서 매핑 규칙 추가 링크 복사링크가 클립보드에 복사되었습니다!
- 관리자로 IdM 웹 UI에 로그인합니다.
-
인증→인증서 매핑 규칙→인증서 ID 매핑 규칙으로이동합니다. 추가를 클릭합니다.그림 9.1. IdM 웹 UI에서 새 인증서 매핑 규칙 추가
- 규칙 이름을 입력합니다.
매핑 규칙을 입력합니다. 예를 들어 IdM이 제공된 인증서의
Issuer및Subject항목을 검색하고 제공된 인증서의 두 항목에 있는 정보에 대해 인증하거나 사용하지 않도록 결정하십시오.(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 일치 규칙을 입력합니다. 예를 들어
EXAMPLE.ORG조직의스마트 카드 CA에서 발급한 인증서만 허용하도록 하려면 IdM에 사용자를 인증합니다.<ISSUER>CN=Smart Card CA,O=EXAMPLE.ORG
<ISSUER>CN=Smart Card CA,O=EXAMPLE.ORGCopy to Clipboard Copied! Toggle word wrap Toggle overflow 그림 9.2. IdM 웹 UI에서 인증서 매핑 규칙의 세부 정보 입력
-
대화 상자 하단에 있는
추가를 클릭하여 규칙을 추가하고 상자를 닫습니다. SSSD(System Security Services Daemon)는 주기적으로 인증서 매핑 규칙을 다시 읽습니다. 새로 생성된 규칙이 즉시 로드되도록 하려면 SSSD를 다시 시작합니다.
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 IdM 사용자 항목의 인증서 매핑 데이터를 사용하여 스마트 카드 인증서에서 찾은 매핑 규칙에 지정된 데이터 유형을 비교하는 인증서 매핑 규칙 세트가 있습니다. 일치 항목을 찾으면 일치하는 사용자를 인증합니다.
9.4.2. IdM CLI에서 인증서 매핑 규칙 추가 링크 복사링크가 클립보드에 복사되었습니다!
관리자의 자격 증명을 가져옵니다.
kinit admin
# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 매핑 규칙을 입력하고 매핑 규칙을 기반으로 하는 일치 규칙을 입력합니다. 예를 들어 IdM이 제공되는 인증서의
Issuer및Subject항목을 검색하고 제공된 인증서의 두 항목에 있는 정보에 기반하여EXAMPLE.ORG조직의Smart Card CA에서 발행한 인증서만 인식하도록 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSSD(System Security Services Daemon)는 주기적으로 인증서 매핑 규칙을 다시 읽습니다. 새로 생성된 규칙이 즉시 로드되도록 하려면 SSSD를 다시 시작합니다.
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 IdM 사용자 항목의 인증서 매핑 데이터를 사용하여 스마트 카드 인증서에서 찾은 매핑 규칙에 지정된 데이터 유형을 비교하는 인증서 매핑 규칙 세트가 있습니다. 일치 항목을 찾으면 일치하는 사용자를 인증합니다.
9.4.3. IdM 웹 UI의 사용자 항목에 인증서 매핑 데이터 추가 링크 복사링크가 클립보드에 복사되었습니다!
- 관리자로 IdM 웹 UI에 로그인합니다.
-
사용자 → 활성사용자→idm_user로 이동합니다. -
인증서 매핑 데이터옵션을 찾아추가를 클릭합니다. 다음 옵션 중 하나를 선택합니다.
idm_user인증서가 있는 경우 :명령줄에서
cat유틸리티 또는 텍스트 편집기를 사용하여 인증서를 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 인증서를 복사합니다.
IdM 웹 UI에서
인증서옆에 있는추가를 클릭하고 인증서가 열리는 창에 인증서를 붙여넣습니다.그림 9.3. 사용자 인증서 매핑 데이터 추가: 인증서
-
IDm
_user의 인증서가 있지만발행자및 인증서주체를 알고 있는 경우 발급자및제목의 라디오 버튼을 확인하고 해당 두 박스에 있는 값을 입력합니다.
그림 9.4. 사용자의 인증서 매핑 데이터 추가: 발급자 및 주체
-
IDm
-
추가를 클릭합니다.
검증
.pem 형식의 전체 인증서에 액세스할 수 있는 경우 사용자 및 인증서가 연결되어 있는지 확인합니다.
sss_cache유틸리티를 사용하여 SSSD 캐시의idm_user레코드를 무효화하고idm_user정보를 강제로 다시 로드합니다.sss_cache -u idm_user
# sss_cache -u idm_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 사용자의 인증서가 포함된 파일 이름과
ipa certmap-match명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에 이제
idm_user에 인증서 매핑 데이터가 추가되고 해당 매핑 규칙이 있는지 확인합니다. 즉, 정의된 인증서 매핑 데이터와 일치하는 모든 인증서를 사용하여idm_user로 인증할 수 있습니다.
9.4.4. IdM CLI의 사용자 항목에 인증서 매핑 데이터 추가 링크 복사링크가 클립보드에 복사되었습니다!
관리자의 자격 증명을 가져옵니다.
kinit admin
# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 옵션 중 하나를 선택합니다.
-
idm_user인증서가 있는 경우ipa user-add-cert명령을 사용하여 사용자 계정에 인증서를 추가합니다.
CERT=$(openssl x509 -in idm_user_cert.pem -outform der|base64 -w0) ipa user-add-certmapdata idm_user --certificate $CERT
# CERT=$(openssl x509 -in idm_user_cert.pem -outform der|base64 -w0) # ipa user-add-certmapdata idm_user --certificate $CERTCopy to Clipboard Copied! Toggle word wrap Toggle overflow idm_user인증서가 없지만발급자 및 사용자 인증서주체를 알고 있는 경우:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
검증
.pem 형식의 전체 인증서에 액세스할 수 있는 경우 사용자 및 인증서가 연결되어 있는지 확인합니다.
sss_cache유틸리티를 사용하여 SSSD 캐시의idm_user레코드를 무효화하고idm_user정보를 강제로 다시 로드합니다.sss_cache -u idm_user
# sss_cache -u idm_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 사용자의 인증서가 포함된 파일 이름과
ipa certmap-match명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에 이제
idm_user에 인증서 매핑 데이터가 추가되고 해당 매핑 규칙이 있는지 확인합니다. 즉, 정의된 인증서 매핑 데이터와 일치하는 모든 인증서를 사용하여idm_user로 인증할 수 있습니다.
9.5. Active Directory 도메인을 사용하여 신뢰를 위한 인증서 매핑 규칙 링크 복사링크가 클립보드에 복사되었습니다!
IdM 배포가 AD(Active Directory) 도메인과의 신뢰 관계에 있는 경우 다른 인증서 매핑 사용 사례가 가능합니다.
AD 구성에 따라 다음 시나리오가 가능합니다.
- 인증서가 AD 인증서 시스템에서 발행되지만 사용자와 인증서가 IdM에 저장된 경우 인증 요청의 매핑과 전체 처리가 IdM 측에서 수행됩니다. 이 시나리오 구성의 자세한 내용은 IdM에 저장된 사용자의 인증서 매핑 구성을참조하십시오.
사용자가 AD에 저장되면 인증 요청 처리가 AD에서 수행됩니다. 여기에는 세 가지 다른 케이스가 있습니다:
- AD 사용자 항목에는 전체 인증서가 포함되어 있습니다. 이 시나리오에서 IdM을 구성하는 방법에 대한 자세한 내용은 AD 사용자 항목에 전체 인증서가 포함된 사용자의 인증서 매핑 구성을 참조하십시오.
-
AD는 사용자 인증서를 사용자 계정에 매핑하도록 구성되어 있습니다. 이 경우 AD 사용자 항목에는 전체 인증서가 포함되어 있지 않지만
altSecurityIdentities라는 속성이 포함되어 있습니다. 이 시나리오에서 IdM을 구성하는 방법에 대한 자세한 내용은 사용자 인증서를 사용자 계정에 매핑하도록 AD가 구성된 경우 인증서 매핑 구성을 참조하십시오. AD 사용자 항목에는 전체 인증서와 매핑 데이터가 포함되어 있지 않습니다. 이 경우 다음 두 가지 옵션이 있습니다.
- AD 인증서 시스템에서 사용자 인증서를 발급한 경우 인증서에는 SAN(Subject Alternative Name)으로 사용자 주체 이름이 포함되어 있거나 최신 업데이트가 AD에 적용되는 경우 인증서 SID에 있는 사용자의 SID가 포함됩니다. 두 가지 모두 인증서를 사용자에게 매핑하는 데 사용할 수 있습니다.
-
사용자 인증서가 스마트 카드에 있는 경우 스마트 카드로 SSH를 활성화하려면 인증서에서 공개 SSH 키를 파생해야 하므로 전체 인증서가 필요합니다. 유일한 해결책은
ipa idoverrideuser-add명령을 사용하여 IdM의 AD 사용자 ID 재정의에 전체 인증서를 추가하는 것입니다. 자세한 내용은 AD 사용자 항목에 인증서 또는 매핑 데이터가 없는 경우 인증서 매핑 구성 을 참조하십시오.
AD 도메인 관리자는 altSecurityIdentities 특성을 사용하여 AD의 사용자에게 인증서를 수동으로 매핑할 수 있습니다. 이 속성에는 지원되는 6개의 값이 있지만 세 매핑은 안전하지 않은 것으로 간주됩니다. 2022 보안 업데이트 의 일부로 설치되면 모든 장치가 호환성 모드에 있고 인증서가 사용자에게 약한 경우 인증이 예상대로 수행됩니다. 그러나 경고 메시지는 전체 적용 모드와 호환되지 않는 모든 인증서를 식별할 수 있습니다. 2023년 11월 14일 이후부터 모든 장치가 완전히 적용 모드로 업데이트되고 인증서가 강력한 매핑 기준에 실패하면 인증이 거부됩니다.
예를 들어 AD 사용자가 인증서(PKINIT)를 사용하여 IdM Kerberos 티켓을 요청하는 경우 AD는 인증서를 내부적으로 사용자에게 매핑해야 하며 새 매핑 규칙을 사용합니다. 그러나 IdM 클라이언트의 사용자에게 인증서를 매핑하는 데 IdM을 사용하는 경우 이전 규칙이 계속 작동합니다.
IdM은 새 매핑 템플릿을 지원하므로 AD 관리자가 새 규칙을 더 쉽게 사용할 수 있으며 두 가지 모두를 유지 관리하지 않습니다. IdM은 다음을 포함하도록 Active Directory에 추가된 새 매핑 템플릿을 지원합니다.
- 일련 번호: LDAPU1:(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})
- 제목 키 ID: LDAPU1:(altSecurityIdentities=X509:<SKI>{subject_key_id!hex_u})
- 사용자 SID: LDAPU1:(objectsid={sid})
새 SID 확장으로 인증서를 다시 게시하지 않으려면 AD의 사용자 altSecurityIdentities 속성에 적절한 매핑 문자열을 추가하여 수동 매핑을 만들 수 있습니다.
9.6. AD 사용자 항목에 전체 인증서가 포함된 사용자에 대한 인증서 매핑 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 사용자 스토리에서는 IdM 배포가 AD(Active Directory)와 함께 신뢰할 수 있는 경우 IdM에서 인증서 매핑을 활성화하는 데 필요한 단계를 설명합니다. 이 사용자는 AD에 저장되고 AD의 사용자 항목에 전체 인증서가 포함되어 있습니다.
사전 요구 사항
- IdM에는 사용자에게 계정이 없습니다.
- 사용자에게 인증서가 포함된 AD의 계정이 있습니다.
- IdM 관리자는 IdM 인증서 매핑 규칙을 기반으로 하는 데이터에 액세스할 수 있습니다.
PKINIT가 사용자에게 작동하도록 하려면 다음 조건 중 하나를 적용해야 합니다.
- 사용자 항목의 인증서에는 사용자 주체 이름 또는 사용자의 SID 확장이 포함됩니다.
-
AD의 사용자 항목에는
altSecurityIdentities속성에 적절한 항목이 있습니다.
9.6.1. IdM 웹 UI에서 인증서 매핑 규칙 추가 링크 복사링크가 클립보드에 복사되었습니다!
- 관리자로 IdM 웹 UI에 로그인합니다.
-
인증→인증서 매핑 규칙→인증서 ID 매핑 규칙으로이동합니다. 추가를 클릭합니다.그림 9.5. IdM 웹 UI에서 새 인증서 매핑 규칙 추가
- 규칙 이름을 입력합니다.
매핑 규칙을 입력합니다. 인증을 위해 IdM에 제공되는 전체 인증서를 AD에서 사용할 수 있는 것과 비교하려면 다음을 수행합니다.
(userCertificate;binary={cert!bin})(userCertificate;binary={cert!bin})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고전체 인증서를 사용하여 매핑하는 경우 인증서를 갱신하는 경우 새 인증서를 AD 사용자 오브젝트에 추가해야 합니다.
일치 규칙을 입력합니다. 예를 들어
AD.EXAMPLE.COM도메인의AD-ROOT-CA에서 발급한 인증서만 허용하려면 다음을 수행합니다.<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 그림 9.6. AD에 저장된 인증서가 있는 사용자의 인증서 매핑 규칙
-
추가를 클릭합니다. SSSD(System Security Services Daemon)는 주기적으로 인증서 매핑 규칙을 다시 읽습니다. 새로 생성된 규칙이 즉시 로드되도록 하려면 CLI에서 SSSD를 다시 시작합니다.
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.6.2. IdM CLI에서 인증서 매핑 규칙 추가 링크 복사링크가 클립보드에 복사되었습니다!
관리자의 자격 증명을 가져옵니다.
kinit admin
# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 매핑 규칙을 입력하고 매핑 규칙을 기반으로 하는 일치 규칙을 입력합니다. AD에서 사용할 수 있는 것과 비교하여 인증을 위해 제공되는 전체 인증서를 보유하려면
AD.EXAMPLE.COM도메인의AD-ROOT-CA에서 발급한 인증서만 허용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고전체 인증서를 사용하여 매핑하는 경우 인증서를 갱신하는 경우 새 인증서를 AD 사용자 오브젝트에 추가해야 합니다.
SSSD(System Security Services Daemon)는 주기적으로 인증서 매핑 규칙을 다시 읽습니다. 새로 생성된 규칙이 즉시 로드되도록 하려면 SSSD를 다시 시작합니다.
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.7. 사용자 인증서를 사용자 계정에 매핑하도록 AD가 구성된 경우 인증서 매핑 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 사용자 스토리는 IdM 배포가 AD(Active Directory)와 신뢰하고, 사용자가 AD에 저장되고, AD의 사용자 항목에는 인증서 매핑 데이터가 포함된 경우 IdM에서 인증서 매핑을 활성화하는 데 필요한 단계를 설명합니다.
사전 요구 사항
- IdM에는 사용자에게 계정이 없습니다.
-
사용자에게 AD에는
altSecurityIdentities속성이 포함된 계정이 있으며, IdMcertmapdata속성과 동등한 AD가 있습니다. - IdM 관리자는 IdM 인증서 매핑 규칙을 기반으로 하는 데이터에 액세스할 수 있습니다.
9.7.1. IdM 웹 UI에서 인증서 매핑 규칙 추가 링크 복사링크가 클립보드에 복사되었습니다!
- 관리자로 IdM 웹 UI에 로그인합니다.
-
인증→인증서 매핑 규칙→인증서 ID 매핑 규칙으로이동합니다. 추가를 클릭합니다.그림 9.7. IdM 웹 UI에서 새 인증서 매핑 규칙 추가
- 규칙 이름을 입력합니다.
매핑 규칙을 입력합니다. 예를 들어 AD DC가 제공된 인증서의
Issuer및Subject항목을 검색하고 제공된 인증서의 두 항목에 있는 정보에 대해 인증하거나 그렇지 않은 경우 다음을 수행합니다.(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500})(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 일치 규칙을 입력합니다. 예를 들어
AD.EXAMPLE.COM도메인의AD-ROOT-CA에서 발급한 인증서만 허용하도록 하여 IdM에 사용자를 인증합니다.<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 도메인을 입력합니다.
ad.example.com
ad.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 그림 9.8. 매핑을 위해 AD가 구성된 경우 인증서 매핑 규칙
-
추가를 클릭합니다. SSSD(System Security Services Daemon)는 주기적으로 인증서 매핑 규칙을 다시 읽습니다. 새로 생성된 규칙이 즉시 로드되도록 하려면 CLI에서 SSSD를 다시 시작합니다.
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.7.2. IdM CLI에서 인증서 매핑 규칙 추가 링크 복사링크가 클립보드에 복사되었습니다!
관리자의 자격 증명을 가져옵니다.
kinit admin
# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 매핑 규칙을 입력하고 매핑 규칙을 기반으로 하는 일치 규칙을 입력합니다. 예를 들어 AD가 제공된 인증서의
Issuer및Subject항목을 검색하고AD.EXAMPLE.COM도메인의AD-ROOT-CA에 의해 발급된 인증서만 허용하려면 다음을 수행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSSD(System Security Services Daemon)는 주기적으로 인증서 매핑 규칙을 다시 읽습니다. 새로 생성된 규칙이 즉시 로드되도록 하려면 SSSD를 다시 시작합니다.
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.7.3. AD 측에서 인증서 매핑 데이터 확인 링크 복사링크가 클립보드에 복사되었습니다!
altSecurityIdentities 속성은 IdM의 certmapdata 사용자 특성과 동등한 Active Directory(AD)입니다. 사용자 인증서를 사용자 계정에 매핑하도록 신뢰할 수 있는 AD 도메인이 구성된 시나리오에서 IdM에서 인증서 매핑을 구성하는 경우 IdM 시스템 관리자가 AD의 사용자 항목에 altSecurityIdentities 특성이 올바르게 설정되어 있는지 확인해야 합니다.
사전 요구 사항
- 사용자 계정에는 사용자 관리 액세스 권한이 있어야 합니다.
절차
AD에 AD에 저장된 사용자에 대한 올바른 정보가 포함되어 있는지 확인하려면
ldapsearch명령을 사용하십시오. 예를 들어 아래 명령을 입력하여 다음 조건이 적용되는adserver.ad.example.com서버를 사용하여 확인합니다.-
altSecurityIdentities속성은ad_user의 사용자 항목에 설정되어 있습니다. matchrule에서는 다음 조건이 적용되도록 지정합니다.
-
ad_user가 AD에 인증하는 데 사용하는 인증서는ad.example.com도메인의AD-ROOT-CA에 의해 발행되었습니다. -
제목은
<S>DC=com,DC=example,DC=ad,CN=Users,CN=ad_user입니다.
-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
9.8. AD 사용자 항목에 인증서 또는 매핑 데이터가 없는 경우 인증서 매핑 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 사용자 스토리에서는 IdM 배포가 Active Directory(AD)를 사용하여 신뢰할 수 있는 경우 IdM에서 인증서 매핑을 활성화하는 데 필요한 단계를 설명하고, AD에 사용자가 저장되는 경우 전체 인증서나 인증서 매핑 데이터가 포함되어 있지 않습니다.
사전 요구 사항
- IdM에는 사용자에게 계정이 없습니다.
-
AD에는 전체 인증서나
altSecurityIdentities특성을 포함하지 않는 계정이 있으며, IdMcertmapdata속성과 동등한 AD가 있습니다. IdM 관리자가 다음 중 하나를 수행했습니다.
-
IdM의 AD 사용자
ID 재정의에 전체 AD 사용자인증서를 추가했습니다. - 주체 대체 이름 또는 사용자의 SID와 같이 인증서의 대체 필드에 매핑되는 인증서 매핑 규칙을 생성했습니다.
-
IdM의 AD 사용자
9.8.1. IdM 웹 UI에서 인증서 매핑 규칙 추가 링크 복사링크가 클립보드에 복사되었습니다!
- 관리자로 IdM 웹 UI에 로그인합니다.
-
인증→인증서 매핑 규칙→인증서 ID 매핑 규칙으로이동합니다. 추가를 클릭합니다.그림 9.9. IdM 웹 UI에서 새 인증서 매핑 규칙 추가
- 규칙 이름을 입력합니다.
매핑 규칙을 입력합니다. IdM 사용자 항목의 사용자 ID 덮어쓰기 항목에 저장된 인증서와 비교하여 인증을 위해 IdM에 제공되는 전체 인증서를 보유하려면 다음을 수행합니다.
(userCertificate;binary={cert!bin})(userCertificate;binary={cert!bin})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고인증서에는 사용자 주체 이름이 SAN으로 포함되어 있거나 최신 업데이트, 인증서의 SID 확장에 있는 사용자의 SID도 포함되어 있으므로 이러한 필드를 사용하여 인증서를 사용자에게 매핑할 수도 있습니다. 예를 들어 사용자의 SID를 사용하는 경우 이 매핑 규칙을
LDAPU1:(objectsid={sid})로 바꿉니다. 인증서 매핑에 대한 자세한 내용은 시스템의sss-certmap도움말 페이지를 참조하십시오.일치 규칙을 입력합니다. 예를 들어
AD.EXAMPLE.COM도메인의AD-ROOT-CA에서 발급한 인증서만 허용하려면 다음을 수행합니다.<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 도메인 이름을 입력합니다. 예를 들어
ad.example.com도메인에서 사용자를 검색하려면 다음을 수행합니다.그림 9.10. 인증서가 없거나 AD에 저장된 데이터를 매핑하는 사용자의 인증서 매핑 규칙
-
추가를 클릭합니다. SSSD(System Security Services Daemon)는 주기적으로 인증서 매핑 규칙을 다시 읽습니다. 새로 생성된 규칙이 즉시 로드되도록 하려면 CLI에서 SSSD를 다시 시작합니다.
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.8.2. IdM CLI에서 인증서 매핑 규칙 추가 링크 복사링크가 클립보드에 복사되었습니다!
관리자의 자격 증명을 가져옵니다.
kinit admin
# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 매핑 규칙을 입력하고 매핑 규칙을 기반으로 하는 일치 규칙을 입력합니다. IdM의 AD 사용자 항목에 저장된 사용자 ID 재정의 항목에 비해 인증을 위해 제공되는 전체 인증서를 보유하려면
AD.EXAMPLE.COM도메인의AD-ROOT-CA에서 발급한 인증서만 허용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고인증서에는 사용자 주체 이름이 SAN으로 포함되어 있거나 최신 업데이트, 인증서의 SID 확장에 있는 사용자의 SID도 포함되어 있으므로 이러한 필드를 사용하여 인증서를 사용자에게 매핑할 수도 있습니다. 예를 들어 사용자의 SID를 사용하는 경우 이 매핑 규칙을
LDAPU1:(objectsid={sid})로 바꿉니다. 인증서 매핑에 대한 자세한 내용은 시스템의sss-certmap도움말 페이지를 참조하십시오.SSSD(System Security Services Daemon)는 주기적으로 인증서 매핑 규칙을 다시 읽습니다. 새로 생성된 규칙이 즉시 로드되도록 하려면 SSSD를 다시 시작합니다.
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.8.3. IdM 웹 UI에서 AD 사용자 ID 재정의에 인증서 추가 링크 복사링크가 클립보드에 복사되었습니다!
-
Identity→ID Views→Default Trust View로 이동합니다. 추가를 클릭합니다.그림 9.11. IdM 웹 UI에 새 사용자 ID 덮어쓰기 추가
-
User to override필드에ad_user@ad.example.com을 입력합니다. ad_user인증서를 복사하여인증서필드에 붙여넣습니다.그림 9.12. AD 사용자의 사용자 ID 덮어쓰기 구성
-
추가를 클릭합니다.
검증
사용자 및 인증서가 연결되었는지 확인합니다.
sss_cache유틸리티를 사용하여 SSSD 캐시에서ad_user@ad.example.com레코드를 무효화하고ad_user@ad.example.com정보를 다시 로드하도록 합니다.sss_cache -u ad_user@ad.example.com
# sss_cache -u ad_user@ad.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow AD 사용자의 인증서가 포함된 파일 이름으로
ipa certmap-match명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
출력은 ad_user@ad.example.com 에 인증서 매핑 데이터가 추가되었음을 확인하고 AD 사용자 항목에 인증서 또는 매핑 데이터가 없는 경우 인증서 매핑 규칙 추가에 정의된 해당 매핑 규칙이 있는지 확인합니다. 즉, 정의된 인증서 매핑 데이터와 일치하는 모든 인증서를 사용하여 ad_user@ad.example.com 로 인증할 수 있습니다.
9.8.4. IdM CLI에서 AD 사용자 ID 재정의에 인증서 추가 링크 복사링크가 클립보드에 복사되었습니다!
관리자의 자격 증명을 가져옵니다.
kinit admin
# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow CERT라는 새 변수에 인증서 Blob을 저장합니다.CERT=$(openssl x509 -in /path/to/certificate -outform der|base64 -w0)
# CERT=$(openssl x509 -in /path/to/certificate -outform der|base64 -w0)Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa idoverrideuser-add-cert명령을 사용하여 사용자 계정에ad_user@ad.example.com의 인증서를 추가합니다.ipa idoverrideuser-add-cert ad_user@ad.example.com --certificate $CERT
# ipa idoverrideuser-add-cert ad_user@ad.example.com --certificate $CERTCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
사용자 및 인증서가 연결되었는지 확인합니다.
sss_cache유틸리티를 사용하여 SSSD 캐시에서ad_user@ad.example.com레코드를 무효화하고ad_user@ad.example.com정보를 다시 로드하도록 합니다.sss_cache -u ad_user@ad.example.com
# sss_cache -u ad_user@ad.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow AD 사용자의 인증서가 포함된 파일 이름으로
ipa certmap-match명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
출력은 ad_user@ad.example.com 에 인증서 매핑 데이터가 추가되었음을 확인하고 AD 사용자 항목에 인증서 또는 매핑 데이터가 없는 경우 인증서 매핑 규칙 추가에 정의된 해당 매핑 규칙이 있는지 확인합니다. 즉, 정의된 인증서 매핑 데이터와 일치하는 모든 인증서를 사용하여 ad_user@ad.example.com 로 인증할 수 있습니다.
9.9. 여러 ID 매핑 규칙을 하나로 결합 링크 복사링크가 클립보드에 복사되었습니다!
여러 ID 매핑 규칙을 하나의 결합된 규칙으로 결합하려면 | (또는) 문자를 사용하여 개별 매핑 규칙 앞에 배치하고 () 대괄호를 사용하여 구분합니다. 예를 들면 다음과 같습니다.
인증서 매핑 필터 예 1
ipa certmaprule-add ad_cert_for_ipa_and_ad_users \
--maprule='(|(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500}))' \
--matchrule='<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com' \
--domain=ad.example.com
$ ipa certmaprule-add ad_cert_for_ipa_and_ad_users \
--maprule='(|(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500}))' \
--matchrule='<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com' \
--domain=ad.example.com
위 예에서 --maprule 옵션의 필터 정의에는 다음과 같은 기준이 포함됩니다.
-
ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500}는 스마트 카드 인증서 인증서에서 주체와 발급자를 IdM 사용자 계정의ipacertmapdata속성 값으로 연결하는 필터입니다. IdM에서 인증서 매핑 규칙 추가에설명된 대로 -
altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500}는 신뢰할 수 있는 AD 도메인 추가에 설명된 대로 스마트 카드 인증서의 제목과 발급자를 AD 사용자 계정의altSecurityIdentities속성 값으로 연결하는 필터입니다. -
--domain=ad.example.com옵션을 추가하면 지정된 인증서에 매핑된 사용자가 로컬idm.example.com도메인에서 검색될 뿐만 아니라ad.example.com도메인에서도 검색됩니다.
--maprule 옵션의 필터 정의에서는 여러 조건을 지정할 수 있도록 논리 연산자 | (또는)를 허용합니다. 이 경우 규칙은 조건 중 하나 이상을 충족하는 모든 사용자 계정을 매핑합니다.
인증서 매핑 필터 예 2
ipa certmaprule-add ipa_cert_for_ad_users \
--maprule='(|(userCertificate;binary={cert!bin})(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500}))' \
--matchrule='<ISSUER>CN=Certificate Authority,O=REALM.EXAMPLE.COM' \
--domain=idm.example.com --domain=ad.example.com
$ ipa certmaprule-add ipa_cert_for_ad_users \
--maprule='(|(userCertificate;binary={cert!bin})(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500}))' \
--matchrule='<ISSUER>CN=Certificate Authority,O=REALM.EXAMPLE.COM' \
--domain=idm.example.com --domain=ad.example.com
위 예에서 --maprule 옵션의 필터 정의에는 다음과 같은 기준이 포함됩니다.
-
userCertificate;binary={cert!bin}은 전체 인증서가 포함된 사용자 항목을 반환하는 필터입니다. AD 사용자의 경우 AD 사용자 항목에 인증서 또는 매핑 데이터가 없는 경우 이러한 유형의 필터를 생성하는 데 인증서 매핑 규칙 추가 에 자세히 설명되어 있습니다. -
ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500}은 IdM 사용자 계정의 인증서 매핑 규칙에 설명된 대로 스마트 카드 인증서의 주체와 발급자를 IdM 사용자 계정의ipacertmapdata속성 값으로 연결하는 필터입니다. -
altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500}는 신뢰할 수 있는 AD 도메인이 사용자 인증서를 추가하도록 구성된 경우 인증서 매핑 규칙 추가에 설명된 대로 스마트 카드 인증서의 제목과 발급자를 AD 사용자 계정의altSecurityIdentities속성 값으로 연결하는 필터입니다.
--maprule 옵션의 필터 정의에서는 여러 조건을 지정할 수 있도록 논리 연산자 | (또는)를 허용합니다. 이 경우 규칙은 조건 중 하나 이상을 충족하는 모든 사용자 계정을 매핑합니다.
10장. IdM 클라이언트의 데스크탑에 저장된 인증서로 인증 구성 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management)을 구성하면 IdM 시스템 관리자는 사용자가 인증 기관(CA)이 사용자에게 발행한 인증서를 사용하여 IdM 웹 UI 및 CLI(명령줄 인터페이스)에 인증할 수 있습니다. 인증서는 IdM 클라이언트의 데스크탑에 저장됩니다.
웹 브라우저는 IdM 도메인에 포함되지 않은 시스템에서 실행할 수 있습니다.
인증서를 사용하여 인증을 구성하는 동안 다음 사항에 유의하십시오.
- 인증서를 사용하여 인증하려는 사용자가 이미 인증서를 사용하여 인증하려는 경우 새 사용자 인증서 요청 및 클라이언트로 내보내기 를 건너뛸 수 있습니다.
- IdM CA 에서 사용자 인증서를 발급한 경우 인증서와 사용자가 함께 연결되어 있는지 건너뛸 수 있습니다.
Identity Management 사용자만 인증서를 사용하여 웹 UI에 로그인할 수 있습니다. Active Directory 사용자는 사용자 이름 및 암호를 사용하여 로그인할 수 있습니다.
10.1. 웹 UI에서 인증서 인증을 위한 ID 관리 서버 구성 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 관리자는 사용자가 인증서를 사용하여 IdM 환경에 인증할 수 있도록 허용할 수 있습니다.
절차
ID 관리 관리자로 다음을 수행합니다.
Identity Management 서버에서 관리자 권한을 얻고 쉘 스크립트를 생성하여 서버를 구성합니다.
ipa-advise config-server-for-smart-card-auth명령을 실행하고 출력을 파일에 저장합니다(예:server_certificate_script.sh):kinit admin ipa-advise config-server-for-smart-card-auth > server_certificate_script.sh
# kinit admin # ipa-advise config-server-for-smart-card-auth > server_certificate_script.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow CronJob 유틸리티를 사용하여 파일에 실행 권한을 추가합니다.
chmod +x server_certificate_script.sh
# chmod +x server_certificate_script.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Identity Management 도메인의 모든 서버에서
server_certificate_script.sh스크립트를 실행합니다.IdM 인증 기관 인증서의 경로를 사용하여 IdM CA가 다음을 위해 인증서 인증을 활성화하려는 사용자의 인증서를 발급한 유일한 인증 기관인 경우 입력으로
/etc/ipa/ca.crt.crt를 입력합니다../server_certificate_script.sh /etc/ipa/ca.crt
# ./server_certificate_script.sh /etc/ipa/ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다른 외부 CA가 에 대한 인증서 인증을 활성화하려는 사용자의 인증서에 서명한 경우 관련 CA 인증서를 입력으로 전달되는 경로를 사용합니다.
./server_certificate_script.sh /tmp/ca1.pem /tmp/ca2.pem
# ./server_certificate_script.sh /tmp/ca1.pem /tmp/ca2.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow
전체 토폴로지에서 활성화된 사용자에 대한 인증서 인증이 있어야 하는 경우 나중에 시스템에 추가하는 각 새 복제본에서 스크립트를 실행해야 합니다.
10.2. 새 사용자 인증서를 요청하고 클라이언트로 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 관리자는 IdM 환경에서 사용자에 대한 인증서를 생성하고 사용자에 대한 인증서 인증을 활성화하려는 IdM 클라이언트에 내보낼 수 있습니다.
인증서를 사용하여 인증하려는 사용자에게 이미 인증서가 있는 경우 이 절차를 따를 필요가 없습니다.
절차
선택 사항: 새 디렉터리(예:
~/certdb/)를 만들고 임시 인증서 데이터베이스로 설정합니다. 메시지가 표시되면 NSS 인증서 DB 암호를 생성하여 후속 단계에서 생성할 인증서의 키를 암호화하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR(인증서 서명 요청)을 생성하고 출력을 파일로 리디렉션합니다. 예를 들어
IDM.EXAMPLE.COM영역에서idm_user사용자에 대한4096비트 인증서에 대한certificate_request.csr이라는 이름으로 CSR을 생성하려면 인증서 개인 키의 nickname을idm_user로 설정하고 주체를CN=id_user,OID_user,=OIDM.AMPLE :COM :COM :COM 영역에서 설정할 수 있습니다.certutil -R -d ~/certdb/ -a -g 4096 -n idm_user -s "CN=idm_user,O=IDM.EXAMPLE.COM" > certificate_request.csr
# certutil -R -d ~/certdb/ -a -g 4096 -n idm_user -s "CN=idm_user,O=IDM.EXAMPLE.COM" > certificate_request.csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 메시지가 표시되면
certutil을 사용하여 임시 데이터베이스를 생성할 때 입력한 것과 동일한 암호를 입력합니다. 그런 다음 중지하도록 지시될 때까지 무작위로 입력합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서 요청 파일을 서버에 제출합니다. 새로 발행된 인증서, 인증서를 저장할 출력 파일, 인증서 프로필을 선택적으로 연결할 Kerberos 주체를 지정합니다. 예를 들어
IECUserRoles프로필의 인증서를 가져오려면idm_user@IDM.EXAMPLE.COM주체에 대해 사용자 역할 확장자가 추가된 프로파일,~/idm_user.pem파일에 저장합니다.ipa cert-request certificate_request.csr --principal=idm_user@IDM.EXAMPLE.COM --profile-id=IECUserRoles --certificate-out=~/idm_user.pem
# ipa cert-request certificate_request.csr --principal=idm_user@IDM.EXAMPLE.COM --profile-id=IECUserRoles --certificate-out=~/idm_user.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow NSS 데이터베이스에 인증서를 추가합니다. 인증서가 NSS 데이터베이스의 개인 키와 일치하도록 이전에 CSR을 생성할 때 사용한 것과 동일한 닉네임을 설정하려면
-n옵션을 사용합니다.-t옵션은 신뢰 수준을 설정합니다. 자세한 내용은 certutil(1) 매뉴얼 페이지를 참조하십시오. i 옵션은 입력 인증서 파일을 지정합니다.예를 들어, NSS 데이터베이스에 추가하려면~/certdb/데이터베이스의~/nickname이 있는 인증서를 사용합니다.idm_user.pem 파일에 저장된 idm_usercertutil -A -d ~/certdb/ -n idm_user -t "P,," -i ~/idm_user.pem
# certutil -A -d ~/certdb/ -n idm_user -t "P,," -i ~/idm_user.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow NSS 데이터베이스의 키가 별 이름으로 표시되지 않는지 확인합니다.
예를 들어~/certdb/데이터베이스에 저장된 인증서가 분리되지 않았는지 확인하려면 다음을 수행합니다.certutil -K -d ~/certdb/
# certutil -K -d ~/certdb/ < 0> rsa 5ad14d41463b87a095b1896cf0068ccc467df395 NSS Certificate DB:idm_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow pk12util명령을 사용하여 NSS 데이터베이스에서 PKCS12 형식으로 인증서를 내보냅니다. 예를 들어/root/certdbNSS 데이터베이스에서idm_usernickname이 있는 인증서를~/idm_user.p12파일로 내보내려면 다음을 실행합니다.pk12util -d ~/certdb -o ~/idm_user.p12 -n idm_user
# pk12util -d ~/certdb -o ~/idm_user.p12 -n idm_user Enter Password or Pin for "NSS Certificate DB": Enter password for PKCS12 file: Re-enter password: pk12util: PKCS12 EXPORT SUCCESSFULCopy to Clipboard Copied! Toggle word wrap Toggle overflow idm_user의 인증서 인증을 활성화할 호스트로 인증서를 전송합니다.scp ~/idm_user.p12 idm_user@client.idm.example.com:/home/idm_user/
# scp ~/idm_user.p12 idm_user@client.idm.example.com:/home/idm_user/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서가 전송된 호스트에서 .pkcs12 파일이 보안상의 이유로 'other' 그룹에 액세스할 수 없는 디렉터리로 설정합니다.
chmod o-rwx /home/idm_user/
# chmod o-rwx /home/idm_user/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 보안상의 이유로 서버에서 임시 NSS 데이터베이스와 .pkcs12 파일을 제거하십시오.
rm ~/certdb/ rm ~/idm_user.p12
# rm ~/certdb/ # rm ~/idm_user.p12Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.3. 인증서와 사용자가 연결되어 있는지 확인 링크 복사링크가 클립보드에 복사되었습니다!
IdM CA에서 사용자 인증서를 발급한 경우 이 절차를 따를 필요가 없습니다.
인증서 인증이 작동하려면 IdM(Identity Management)에 인증하는 데 인증서를 사용할 사용자에 대한 인증서가 연결되어 있는지 확인해야 합니다.
- ID 관리 환경에 포함되지 않은 인증 기관에서 인증서를 제공하는 경우 사용자 계정 연결 프로세스에 설명된 절차에 따라 사용자와 인증서를 연결합니다.
- ID 관리 CA에서 인증서를 제공하면 인증서가 사용자 항목에 자동으로 추가되고 인증서를 사용자 계정에 연결할 필요가 없습니다. IdM에 새 인증서를 생성하는 방법에 대한 자세한 내용은 새 사용자 인증서 요청 및 클라이언트로 내보내기를 참조하십시오.
10.4. 인증서 인증을 사용하도록 브라우저 구성 링크 복사링크가 클립보드에 복사되었습니다!
WebUI를 사용하여 IdM(Identity Management)에 로그인할 때 인증서로 인증하려면 사용자 및 관련 CA(인증 기관) 인증서를 Mozilla Firefox 또는 Google Chrome 브라우저로 가져와야 합니다. 브라우저가 실행 중인 호스트 자체는 IdM 도메인의 일부가 될 필요가 없습니다.
IdM은 WebUI에 연결하기 위해 다음 브라우저를 지원합니다.
- Mozilla Firefox 38 이상
- Google Chrome 46 이상
다음 절차는 Mozilla Firefox 57.0.1 브라우저를 구성하는 방법을 보여줍니다.
사전 요구 사항
- PKCS#12 형식으로 사용 중인 브라우저로 가져오려는 사용자 인증서가 있습니다.
절차
Firefox를 연 다음
기본 설정→개인 정보 보호 및 보안으로 이동합니다.그림 10.1. 환경 설정의 개인 정보 보호 및 보안 섹션
클릭합니다.
그림 10.2. 개인 정보 보호 및 보안에서 인증서 보기
-
사용자
인증서탭에서 를 클릭합니다. PKCS12 형식으로 사용자의 인증서를 찾아 연 다음 및 를 클릭합니다. ID 관리 인증 기관에서 Firefox에서 신뢰할 수 있는 기관으로 인식했는지 확인합니다.
IdM CA 인증서를 로컬에 저장합니다.
Firefox 주소 표시줄에 IdM 서버 이름을 작성하여 IdM 웹 UI로 이동합니다. 보안 연결 경고 페이지에서
고급을 클릭합니다.그림 10.3. 비보안 연결
Exception을 추가합니다.보기를클릭합니다.그림 10.4. 인증서 세부 정보 보기
Details(세부 정보) 탭에서Certificate Authority필드를 강조 표시합니다.그림 10.5. CA 인증서 내보내기
-
를 클릭합니다. 예를 들어 CA 인증서를
CertificateAuthority.crt파일로 저장한 다음 를 클릭하고 를 클릭합니다.
IdM CA 인증서를 신뢰할 수 있는 인증 기관 인증서로 Firefox로 가져옵니다.
Firefox를 열고 기본 설정으로 이동하여 클릭합니다.
그림 10.6. 환경 설정의 개인 정보 보호 및 보안 섹션
클릭합니다.
그림 10.7. 개인 정보 보호 및 보안에서 인증서 보기
-
Authorities(권한) 탭에서 를 클릭합니다.CertificateAuthority.crt파일에서 이전 단계에서 저장한 CA 인증서를 찾아 엽니다. 인증서를 신뢰하여 웹 사이트를 확인한 다음 을 클릭합니다.
- ID 관리 사용자로 인증서를 사용하여 ID 관리 웹 UI를 계속 인증하십시오.
10.5. 인증서를 ID 관리 사용자로 사용하여 ID 관리 웹 UI에 인증 링크 복사링크가 클립보드에 복사되었습니다!
Identity Management 클라이언트의 데스크탑에 저장된 인증서를 사용하여 IdM(Identity Management) 웹 UI에 대한 사용자로 인증하려면 다음 절차를 따르십시오.
절차
-
브라우저에서 의 Identity Management 웹 UI로 이동합니다(예:
https://server.idm.example.com/ipa/ui). 클릭합니다.
그림 10.8. Identity Management 웹 UI에서
- 사용자의 인증서가 이미 선택되어 있어야 합니다. (이 결정에 기억)를 선택 취소한 다음 을 클릭합니다.
이제 인증서에 해당하는 사용자로 인증됩니다.
10.6. 인증서를 사용하여 CLI에 인증할 수 있도록 IdM 클라이언트 구성 링크 복사링크가 클립보드에 복사되었습니다!
IdM 클라이언트의 CLI(명령줄 인터페이스)에서 IdM 사용자에 대한 인증서 인증을 수행하려면 IdM 사용자 인증서 및 개인 키를 IdM 클라이언트로 가져옵니다. 사용자 인증서 생성 및 전송에 대한 자세한 내용은 새 사용자 인증서 요청 및 클라이언트로 내보내기를 참조하십시오.
절차
IdM 클라이언트에 로그인하고 사용자의 인증서와 개인 키가 포함된 .p12 파일이 준비되었는지 확인합니다. TGT(Kerberos 티켓 부여)를 가져와서 캐시하려면
X509_username:/path/to/file.p12속성과 함께-X옵션을 사용하여 사용자 주체와 함께kinit명령을 실행하여 사용자의 X509 ID 정보를 찾을 위치를 지정합니다. 예를 들어~/idm_user.p12 파일에 저장된 사용자의 ID 정보를 사용하여 idm_user에 대한 TGT를 가져오려면 다음을 수행합니다.kinit -X X509_idm_user='PKCS12:~/idm_user.p12' idm_user
$ kinit -X X509_idm_user='PKCS12:~/idm_user.p12' idm_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 명령은 .pem 파일 형식도 지원합니다. kinit -X X509_username='FILE:/path/to/cert.pem,/path/to/key' user_principal
11장. IdM CA 갱신 서버 사용 링크 복사링크가 클립보드에 복사되었습니다!
11.1. IdM CA 갱신 서버 설명 링크 복사링크가 클립보드에 복사되었습니다!
CA(인증 기관)를 사용하는 IdM(Identity Management) 배포에서 CA 갱신 서버는 IdM 시스템 인증서를 유지 관리하고 갱신합니다. 강력한 IdM 배포를 보장합니다.
IdM 시스템 인증서는 다음과 같습니다.
-
IdM CA인증서 -
OCSP서명 인증서 -
IdM CA 하위 시스템인증서 -
IdM CA 감사 서명인증서 -
IdM 갱신 에이전트(RA) 인증서 -
KRA전송 및 스토리지 인증서
시스템 인증서를 특성화하여 모든 CA 복제본에서 키를 공유하는 것은 무엇입니까. 반면 IdM 서비스 인증서(예: LDAP,HTTP 및 PKINIT 인증서)에는 서로 다른 IdM CA 서버에서 키 쌍과 제목 이름이 다릅니다.
IdM 토폴로지에서 기본적으로 첫 번째 IdM CA 서버는 CA 갱신 서버입니다.
업스트림 문서에서 IdM CA는 Dogtag 라고 합니다.
CA 갱신 서버의 역할
IdM CA,IdM CA 하위 시스템, IdM RA 인증서는 IdM 배포에 중요합니다. 각 인증서는 /etc/pki/pki-tomcat/ 디렉터리의 NSS 데이터베이스에 저장되고 LDAP 데이터베이스 항목으로도 저장됩니다. LDAP에 저장된 인증서는 NSS 데이터베이스에 저장된 인증서와 일치해야 합니다. 일치하지 않는 경우 IdM 프레임워크와 IdM CA와 IdM CA 간 인증 오류가 발생합니다.
모든 IdM CA 복제본은 모든 시스템 인증서에 대한 요청을 추적합니다. 통합 CA를 사용한 IdM 배포에 CA 갱신 서버가 없는 경우 각 IdM CA 서버에서 독립적으로 시스템 인증서 갱신을 요청합니다. 이로 인해 서로 다른 CA 복제본이 다양한 시스템 인증서 및 인증 오류가 발생합니다.
갱신 서버로 하나의 CA 복제본을 추가하면 필요에 따라 시스템 인증서를 정확하게 갱신할 수 있으므로 인증 오류가 발생하지 않습니다.
CA 복제본에서 certmonger 서비스의 역할
모든 IdM CA 복제본에서 실행되는 certmonger 서비스는 dogtag-ipa-ca-renew-agent 업데이트 도우미를 사용하여 IdM 시스템 인증서를 추적합니다. 갱신 도우미 프로그램은 CA 갱신 서버 구성을 읽습니다. CA 갱신 서버가 아닌 각 CA 복제본에서 갱신 도우미는 ca_renewal LDAP 항목에서 최신 시스템 인증서를 검색합니다. 정확히 certmonger 갱신 시도가 발생할 경우 CA 갱신 서버가 실제로 인증서를 갱신하기 전에 시스템 인증서를 업데이트하려고 하는 경우가 있음에 따라ts tag-ipa-ca-renew-agent 도우미가 시스템 인증서를 업데이트하려고 할 수 있습니다. 이 경우 이전 인증서가 즉시 CA 복제본의 certmonger 서비스로 반환됩니다. certmonger 서비스는 데이터베이스에 이미 저장된 인증서와 동일한 인증서이며 CA 갱신 서버에서 업데이트된 인증서를 검색할 수 있을 때까지 개별 시도 사이에 특정 지연으로 인증서를 업데이트하려고 합니다.
IdM CA 갱신 서버의 올바른 기능
CA가 포함된 IdM 배포는 IdM CA와 함께 설치되었거나 IdM CA 서버가 나중에 설치된 IdM 배포입니다. 포함된 CA를 사용하는 IdM 배포에는 항상 갱신 서버로 구성된 정확히 하나의 CA 복제본이 있어야 합니다. 갱신 서버는 온라인이고 완전히 작동해야 하며 다른 서버와 함께 제대로 복제해야 합니다.
ipa server-del,ipa-replica-manage del,ipa-csreplica-manage del 또는 ipa-server-install --uninstall 명령을 사용하여 현재 CA 갱신 서버가 삭제되면 다른 CA 복제본이 CA 갱신 서버로 자동으로 할당됩니다. 이 정책은 갱신 서버 구성이 유효한 상태로 유지됩니다.
이 정책은 다음 상황을 다루지 않습니다.
오프라인 갱신 서버
연장된 기간 동안 갱신 서버가 오프라인인 경우 갱신 기간이 누락될 수 있습니다. 이 경우 모든 비갱신 CA 서버는 인증서가 만료될 때까지 현재 시스템 인증서를 계속 다시 설치합니다. 이 경우 하나의 만료된 인증서로 인해 다른 인증서에 대한 갱신 오류가 발생할 수 있기 때문에 IdM 배포가 중단됩니다.
복제 문제
갱신 서버와 기타 CA 복제본 간에 복제 문제가 있는 경우 갱신에 성공할 수 있지만 다른 CA 복제본은 만료되기 전에 업데이트된 인증서를 검색하지 못할 수 있습니다.
이러한 상황을 방지하려면 복제 계약이 올바르게 작동하는지 확인하십시오. 자세한 내용은 RHEL 7 Linux 도메인 ID, 인증 및 정책 가이드의 일반 또는 특정 복제 문제 해결 지침을 참조하십시오.
11.2. IdM CA 갱신 서버 변경 및 재설정 링크 복사링크가 클립보드에 복사되었습니다!
CA(인증 기관) 갱신 서버가 해제되면 IdM(Identity Management)은 IdM CA 서버 목록에서 새 CA 갱신 서버를 자동으로 선택합니다. 시스템 관리자가 선택 항목에 영향을 미칠 수 없습니다.
새 IdM CA 갱신 서버를 선택하려면 시스템 관리자가 교체를 수동으로 수행해야 합니다. 현재 갱신 서버 해제 프로세스를 시작하기 전에 새 CA 갱신 서버를 선택합니다.
현재 CA 갱신 서버 구성이 유효하지 않은 경우 IdM CA 갱신 서버를 재설정합니다.
CA 갱신 서버를 변경하거나 재설정하려면 다음 절차를 완료합니다.
사전 요구 사항
IdM 관리자 인증 정보가 있습니다.
kinit admin
~]$ kinit admin Password for admin@IDM.EXAMPLE.COM:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
절차
선택 사항: 배포에 있는 IdM 서버에 새 CA 갱신 서버가 되는 데 필요한 CA 역할이 있는지 확인하려면 다음을 수행하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 배포에 두 개의 CA 서버가 있습니다.
선택 사항: 현재 CA 갱신 서버인 CA 서버를 확인하려면 다음을 입력합니다.
ipa config-show | grep 'CA renewal'
~]$ ipa config-show | grep 'CA renewal' IPA CA renewal master: server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 갱신 서버는
server.idm.example.com입니다.갱신 서버 구성을 변경하려면
--ca-renewal-master-server옵션과 함께ipa config-mod유틸리티를 사용하십시오.ipa config-mod --ca-renewal-master-server replica.idm.example.com | grep 'CA renewal'
~]$ ipa config-mod --ca-renewal-master-server replica.idm.example.com | grep 'CA renewal' IPA CA renewal master: replica.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요다음을 사용하여 새 CA 갱신 서버로 전환할 수도 있습니다.
-
ipa-cacert-manage --renew명령. 이 명령은 CA 인증서를 갱신 하고 새 CA 갱신 서버를 실행하는 CA 서버를 만듭니다. ipa-cert-fix명령 이 명령은 만료된 인증서가 실패할 때 배포를 복구합니다. 또한 새 CA 갱신 서버로 명령을 실행하는 CA 서버를 만듭니다.자세한 내용은 IdM이 오프라인인 경우 만료된 시스템 인증서 업데이트를 참조하십시오.
-
12장. 외부 서명된 CA 인증서 관리 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management)은 다양한 유형의 CA(인증 기관) 구성을 제공합니다. 통합 CA 또는 외부 CA를 사용하여 IdM을 설치하도록 선택할 수 있습니다. 설치 중에 사용 중인 CA 유형을 지정해야 합니다. 그러나 설치한 후에는 외부 서명된 CA에서 자체 서명된 CA로 이동할 수 있으며 그 반대의 경우도 마찬가지입니다. 또한 자체 서명된 CA가 자동으로 갱신되는 동안 외부 서명된 CA 인증서를 갱신해야 합니다. 외부 서명된 CA 인증서를 관리하는 데 필요한 관련 섹션을 참조하십시오.
외부 서명된 CA를 사용하여 IdM 설치:
- 외부 서명된 CA에서 자체 서명된 CA로 전환합니다.
- 자체 서명된 CA에서 외부 서명된 CA로 전환합니다.
- 외부 서명된 CA 인증서 업데이트.
12.1. 외부에서 서명된 IdM의 CA로 전환 링크 복사링크가 클립보드에 복사되었습니다!
외부 서명에서 IdM(Identity Management) 인증 기관(CA)의 자체 서명 인증서로 전환하려면 다음 절차를 완료합니다. 자체 서명된 CA를 사용하면 CA 인증서의 갱신이 자동으로 관리됩니다. 시스템 관리자가 외부 기관에 인증서 서명 요청(CSR)을 제출할 필요가 없습니다.
외부 서명에서 자체 서명된 CA로 전환하면 CA 인증서만 교체됩니다. 이전 CA에서 서명한 인증서는 계속 유효하며 계속 사용됩니다. 예를 들어, 자체 서명된 CA로 이동한 후에도 LDAP 인증서의 인증서 체인은 변경되지 않은 상태로 유지됩니다.
external_CA certificate > IdM CA certificate > LDAP certificate
external_CA certificate > IdM CA certificate > LDAP certificate
사전 요구 사항
-
IdM CA 갱신 서버와 모든 IdM 클라이언트 및 서버에 대한
루트액세스 권한이 있습니다.
절차
IdM CA 갱신 서버에서 CA 인증서를 자체 서명으로 갱신합니다.
ipa-cacert-manage renew --self-signed
# ipa-cacert-manage renew --self-signed Renewing CA certificate, please wait CA certificate successfully renewed The ipa-cacert-manage command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow 나머지 IdM 서버 및 클라이언트에
root로SSH연결을 수행합니다. 예를 들면 다음과 같습니다.ssh root@idmclient01.idm.example.com
# ssh root@idmclient01.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 클라이언트에서 서버의 인증서로 로컬 IdM 인증서 데이터베이스를 업데이트합니다.
ipa-certupdate
[idmclient01 ~]# ipa-certupdate Systemwide CA database updated. Systemwide CA database updated. The ipa-certupdate command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
업데이트가 성공했는지 확인하고 새 CA 인증서가
/etc/ipa/ca.crt파일에 추가되었습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 CA 인증서를 사용하여 새 CA 인증서가 나열되므로 출력에 업데이트가 성공한 것으로 표시됩니다.
12.2. 자체 서명된 CA에서 IdM의 외부 서명된 CA로 전환 링크 복사링크가 클립보드에 복사되었습니다!
자체 서명된 CA에서 IdM의 외부 서명된 CA로 전환할 수 있습니다. IdM에서 외부 서명된 CA로 전환하면 IdM CA 서버가 외부 CA의 하위 CA가 됩니다. 또한 CA 인증서 갱신이 자동으로 관리되지 않으며 시스템 관리자가 CSR(인증서 서명 요청)을 외부 기관에 제출해야 합니다.
외부 서명된 CA로 전환하려면 외부 CA에서 CSR에 서명해야 합니다. 외부 CA를 사용하여 IdM CA 업데이트 서버 인증서 업데이트 단계에 따라 IdM에서 자체 서명된 CA 로 전환합니다.
12.3. 외부 CA를 사용하여 IdM CA 갱신 서버 인증서 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 외부 CA를 사용하여 CSR(인증서 서명 요청)에 서명하는 IdM(Identity Management) 인증 기관(CA) 인증서를 갱신합니다. 이 구성에서 IdM CA 서버는 외부 CA의 하위 CA입니다. 외부 CA는 AD CS(Active Directory 인증서 서버)일 수 있지만 필요하지 않습니다.
외부 인증 기관이 AD CS인 경우 CSR에서 IdM CA 인증서에 원하는 템플릿을 지정할 수 있습니다. 인증서 템플릿은 인증서 요청이 수신될 때 CA에서 사용하는 정책 및 규칙을 정의합니다. AD의 인증서 템플릿은 IdM의 인증서 프로필에 해당합니다.
특정 AD CS 템플릿을 해당 Object Identifier(OID)로 정의할 수 있습니다. OIDS는 분산 애플리케이션의 데이터 요소, 구문 및 기타 부분을 고유하게 식별하기 위해 다양한 발행 기관에서 발행한 고유한 숫자 값입니다.
또는 특정 AD CS 템플릿을 이름으로 정의할 수도 있습니다. 예를 들어 AD CS에 IdM CA에서 제출한 CSR에 사용되는 기본 프로필의 이름은 하위 CA입니다.
CSR에서 OID 또는 이름을 지정하여 프로필을 정의하려면 external-ca-profile 옵션을 사용합니다. 자세한 내용은 시스템의 ipa-cacert-manage 도움말 페이지를 참조하십시오.
미리 준비된 인증서 템플릿을 사용하는 것 외에도 AD CS에 사용자 정의 인증서 템플릿을 생성하여 CSR에서 사용할 수도 있습니다.
사전 요구 사항
- IdM CA 갱신 서버에 대한 루트 액세스 권한이 있습니다.
절차
현재 CA 인증서가 자체 서명되었는지 또는 외부 서명되었는지 여부에 관계없이 외부 서명으로 IdM CA의 인증서를 갱신하려면 다음 절차를 완료합니다.
외부 CA에 제출할 CSR을 생성합니다.
외부 CA가 AD CS인 경우
--external-ca-type=ms-cs옵션을 사용합니다. 기본subCA템플릿과 다른 템플릿을 원하는 경우--external-ca-profile옵션을 사용하여 지정합니다.ipa-cacert-manage renew --external-ca --external-ca-type=ms-cs [--external-ca-profile=PROFILE]
~]# ipa-cacert-manage renew --external-ca --external-ca-type=ms-cs [--external-ca-profile=PROFILE] Exporting CA certificate signing request, please wait The next step is to get /var/lib/ipa/ca.csr signed by your CA and re-run ipa-cacert-manage as: ipa-cacert-manage renew --external-cert-file=/path/to/signed_certificate --external-cert-file=/path/to/external_ca_certificate The ipa-cacert-manage command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow 외부 CA가 AD CS가 아닌 경우:
ipa-cacert-manage renew --external-ca
~]# ipa-cacert-manage renew --external-ca Exporting CA certificate signing request, please wait The next step is to get /var/lib/ipa/ca.csr signed by your CA and re-run ipa-cacert-manage as: ipa-cacert-manage renew --external-cert-file=/path/to/signed_certificate --external-cert-file=/path/to/external_ca_certificate The ipa-cacert-manage command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력은 CSR이 생성되고
/var/lib/ipa/ca.csr파일에 저장되었음을 보여줍니다.
-
/var/lib/ipa/ca.csr에 있는 CSR을 외부 CA에 제출합니다. 프로세스는 외부 CA로 사용할 서비스에 따라 다릅니다. 다음과 같은 기본 64 인코딩 Blob에서 발행 CA의 발급 인증서 및 CA 인증서 체인을 검색합니다.
- 외부 CA가 AD CS가 아닌 경우 PEM 파일입니다.
외부 CA가 AD CS인 경우 Base_64 인증서입니다.
프로세스는 모든 인증서 서비스에 따라 다릅니다. 일반적으로 웹 페이지 또는 알림 이메일의 다운로드 링크를 통해 관리자는 필요한 모든 인증서를 다운로드할 수 있습니다.
외부 CA가 AD CS이고 Microsoft Windows 인증 기관 관리 창을 통해 알려진 템플릿으로 CSR을 제출한 경우 AD CS에서 인증서를 즉시 발행하고 인증서 저장 대화 상자가 AD CS 웹 인터페이스에 표시되어 발급된 인증서를 저장할 위치를 묻는 메시지가 표시됩니다.
ipa-cacert-manage renew명령을 다시 실행하여 전체 인증서 체인을 제공하는 데 필요한 모든 CA 인증서 파일을 추가합니다.--external-cert-file옵션을 여러 번 사용하여 필요한 파일을 여러 번 지정합니다.ipa-cacert-manage renew --external-cert-file=/path/to/signed_certificate --external-cert-file=/path/to/external_ca_certificate_1 --external-cert-file=/path/to/external_ca_certificate_2
~]# ipa-cacert-manage renew --external-cert-file=/path/to/signed_certificate --external-cert-file=/path/to/external_ca_certificate_1 --external-cert-file=/path/to/external_ca_certificate_2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 IdM 서버 및 클라이언트에서 서버의 인증서로 로컬 IdM 인증서 데이터베이스를 업데이트합니다.
ipa-certupdate
[client ~]$ ipa-certupdate Systemwide CA database updated. Systemwide CA database updated. The ipa-certupdate command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
업데이트가 성공했는지 확인하고 새 CA 인증서가
/etc/ipa/ca.crt파일에 추가되었습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 CA 인증서를 사용하여 새 CA 인증서가 나열되므로 출력에 업데이트가 성공한 것으로 표시됩니다.
13장. IdM이 오프라인 상태일 때 만료된 시스템 인증서 갱신 링크 복사링크가 클립보드에 복사되었습니다!
시스템 인증서가 만료된 경우 IdM(Identity Management)이 시작되지 않습니다. IdM은 ipa-cert-fix 툴을 사용하여 이러한 상황에서 시스템 인증서 갱신을 지원합니다.
사전 요구 사항
- IdM은 Red Hat Enterprise Linux 8.1 이상에만 설치됩니다.
-
호스트에
ipactl start --ignore-service-failures명령을 입력하여 LDAP 서비스가 실행 중인지 확인합니다.
13.1. CA 갱신 서버에서 만료된 시스템 인증서 갱신 링크 복사링크가 클립보드에 복사되었습니다!
만료된 IdM 인증서에 ipa-cert-fix 툴을 적용하려면 다음 절차를 따르십시오.
CA 갱신 서버가 아닌 CA(Certificate Authority) 호스트에서 ipa-cert-fix 툴을 실행하고 유틸리티가 공유 인증서를 갱신하는 경우 해당 호스트는 도메인의 새 CA 갱신 서버가 자동으로 됩니다. 불일치를 방지하려면 도메인에는 항상 하나의 CA 갱신 서버가 있어야 합니다.
사전 요구 사항
- 관리자 권한으로 서버에 로그인해야 합니다.
절차
-
선택 사항: 시스템을 백업합니다.
ipa-cert-fix가nssdbs에 대한 되돌릴 수 없는 변경을 수행하기 때문에 이는 매우 권장됩니다.ipa-cert-fix도 LDAP를 변경하므로 전체 클러스터를 백업하는 것이 좋습니다. ipa-cert-fix도구를 시작하여 시스템을 분석하고 갱신이 필요한 만료된 인증서를 나열합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow yes를 입력하여 갱신 프로세스를 시작합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa-cert-fix가 만료된 모든 인증서를 갱신하기 전까지 최대 1분이 걸릴 수 있습니다.
검증
모든 서비스가 실행 중인지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이 시점에서 인증서가 업데이트되었으며 서비스가 실행 중입니다. 다음 단계는 IdM 도메인의 다른 서버를 확인하는 것입니다.
-
LDAP 복제가 토폴로지 전체에서 작동하는지 확인한 후 먼저 위의 절차에 따라 하나의 CA 서버에서
ipa-cert-fix를 실행합니다. -
다른 CA 서버에서
ipa-cert-fix를 실행하기 전에getcert-resubmit(기타 CA 서버에서)을 통해 공유 인증서의 인증서 갱신을 트리거하여 공유 인증서의 불필요한 갱신을 방지합니다.
13.2. 갱신 후 IdM 도메인의 다른 IdM 서버 확인 링크 복사링크가 클립보드에 복사되었습니다!
ipa-cert-fix 도구를 사용하여 CA 갱신 서버의 인증서를 갱신한 후 다음을 수행해야 합니다.
- 도메인에서 다른 IdM(Identity Management) 서버를 다시 시작합니다.
- certmonger가 인증서를 갱신했는지 확인합니다.
-
만료된 시스템 인증서가 있는 다른 CA(인증 기관) 복제본이 있는 경우
ipa-cert-fix툴을 사용하여 해당 인증서를 갱신합니다.
사전 요구 사항
- 관리자 권한으로 서버에 로그인해야 합니다.
절차
--force매개변수를 사용하여 IdM을 다시 시작하십시오.ipactl restart --force
# ipactl restart --forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow --force매개변수를 사용하면ipactl유틸리티에서 개별 서비스 시작 실패를 무시합니다. 예를 들어 서버가 만료된 인증서가 있는 CA인 경우pki-tomcat서비스가 시작되지 않습니다. 이는--force매개 변수를 사용하기 때문에 예상되고 무시됩니다.다시 시작한 후
certmonger서비스가 인증서를 갱신하는지 확인합니다(인증서 상태가 MONITORING이라고 함).Copy to Clipboard Copied! Toggle word wrap Toggle overflow certmonger가 복제본의 공유 인증서를 갱신하기 전에 다소 시간이 걸릴 수 있습니다.서버가 CA인 경우 이전 명령은
pki-tomcat서비스에서 사용하는 인증서에 대해CA_UNREACHABLE을 보고합니다.Request ID '20190522120835': status: CA_UNREACHABLE subject: CN=ca2.example.com,O=EXAMPLE.COM 201905222205 ...Request ID '20190522120835': status: CA_UNREACHABLE subject: CN=ca2.example.com,O=EXAMPLE.COM 201905222205 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 인증서를 업데이트하려면
ipa-cert-fix유틸리티를 사용하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14장. IdM 복제본에서 웹 서버 및 LDAP 서버 인증서가 아직 만료되지 않은 경우 교체 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 시스템 관리자는 IdM 서버에서 실행되는 웹(또는 httpd) 및 LDAP(또는 디렉터리) 서비스의 인증서를 수동으로 교체할 수 있습니다. 예를 들어 인증서가 만료되고 certmonger 유틸리티가 인증서를 자동으로 갱신하지 않거나 인증서가 외부 CA(인증 기관)에 의해 서명되는 경우 이 작업이 필요할 수 있습니다.
이 예제에서는 server.idm.example.com IdM 서버에서 실행되는 서비스의 인증서를 설치합니다. 외부 CA에서 인증서를 가져옵니다.
HTTP 및 LDAP 서비스 인증서에는 서로 다른 IdM 서버의 키 쌍과 주체 이름이 다르므로 각 IdM 서버에서 인증서를 개별적으로 업데이트해야 합니다.
사전 요구 사항
-
IdM 서버에 복제 계약이 있는 토폴로지의 다른 하나 이상의 IdM 복제본에서는 웹 및 LDAP 인증서가 계속 유효합니다.
ipa-server-certinstall명령에 대한 사전 요구 사항입니다. 명령에는 다른 IdM 복제본과 통신하려면TLS연결이 필요합니다. 그러나 유효하지 않은 인증서에서는 이러한 연결을 설정할 수 없으며ipa-server-certinstall명령이 실패했습니다. 이 경우 전체 IdM 배포에 만료된 경우 웹 서버 및 LDAP 서버 인증서 교체를 참조하십시오. -
IdM 서버에 대한
루트액세스 권한이 있습니다. -
Directory Manager암호를 알고 있습니다. - 외부 CA의 CA 인증서 체인을 저장하는 파일에 액세스할 수 있습니다. ca_certificate_chain_file.crt.
절차
IdM에 대한 추가 CA 인증서로 ca_certificate_chain_file.crt 에 포함된 인증서를 설치합니다.
ipa-cacert-manage install
# ipa-cacert-manage installCopy to Clipboard Copied! Toggle word wrap Toggle overflow ca_certicate_chain_file.crt 의 인증서로 로컬 IdM 인증서 데이터베이스를 업데이트합니다.
ipa-certupdate
# ipa-certupdateCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenSSL유틸리티를 사용하여 개인 키와 CSR(인증서 서명 요청)을 생성합니다.openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout new.key -out new.csr -addext "subjectAltName = DNS:server.idm.example.com" -subj '/CN=server.idm.example.com,O=IDM.EXAMPLE.COM'
$ openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout new.key -out new.csr -addext "subjectAltName = DNS:server.idm.example.com" -subj '/CN=server.idm.example.com,O=IDM.EXAMPLE.COM'Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR을 외부 CA에 제출합니다. 프로세스는 외부 CA로 사용할 서비스에 따라 다릅니다. CA가 인증서에 서명한 후 인증서를 IdM 서버로 가져옵니다.
IdM 서버에서 Apache 웹 서버의 이전 개인 키와 인증서를 새 키 및 새로 서명된 인증서로 교체합니다.
ipa-server-certinstall -w --pin=password new.key new.crt
# ipa-server-certinstall -w --pin=password new.key new.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위 명령에서 다음을 수행합니다.
-
-w옵션은 웹 서버에 인증서를 설치하도록 지정합니다. -
pin옵션은 개인 키를 보호하는 암호를 지정합니다.
-
-
메시지가 표시되면
Directory Manager암호를 입력합니다. LDAP 서버의 이전 개인 키와 인증서를 새 키 및 새로 서명된 인증서로 바꿉니다.
ipa-server-certinstall -d --pin=password new.key new.cert
# ipa-server-certinstall -d --pin=password new.key new.certCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위 명령에서 다음을 수행합니다.
-
d옵션은 LDAP 서버에 인증서를 설치하도록 지정합니다. -
pin옵션은 개인 키를 보호하는 암호를 지정합니다.
-
-
메시지가 표시되면
Directory Manager암호를 입력합니다. httpd서비스를 다시 시작합니다.systemctl restart httpd.service
# systemctl restart httpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Directory서비스를 다시 시작하십시오.systemctl restart dirsrv@IDM.EXAMPLE.COM.service
# systemctl restart dirsrv@IDM.EXAMPLE.COM.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서버에서 하위 CA가 제거되거나 교체된 경우 클라이언트를 업데이트합니다.
ipa-certupdate
# ipa-certupdateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15장. 웹 서버 및 LDAP 서버 인증서가 전체 IdM 배포에 만료된 경우 교체 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management)은 다음 서비스 인증서를 사용합니다.
-
LDAP(또는
디렉터리) 서버 인증서 -
웹(또는
httpd) 서버 인증서 - PKINIT 인증서
CA가 없는 IdM 배포에서 certmonger 는 기본적으로 IdM 서비스 인증서를 추적하거나 만료에 대한 알림을 받지 않습니다. IdM 시스템 관리자가 이러한 인증서에 대한 알림을 수동으로 설정하지 않거나 인증서를 추적하도록 certmonger 를 구성하지 않으면 인증서가 통지 없이 만료됩니다.
server.idm.example.com IdM 서버에서 실행 중인 httpd 및 LDAP 서비스에 대해 만료된 인증서를 수동으로 교체하려면 다음 절차를 따르십시오.
HTTP 및 LDAP 서비스 인증서에는 서로 다른 IdM 서버에 다른 키 쌍과 주체 이름이 있습니다. 따라서 각 IdM 서버의 인증서를 개별적으로 갱신해야 합니다.
사전 요구 사항
- HTTP 및 LDAP 인증서는 토폴로지의 모든 IdM 복제본에서 만료되었습니다. 그러지 않은 경우 IdM 복제본에 아직 만료되지 않은 경우 웹 서버 및 LDAP 서버 인증서 교체를 참조하십시오.
-
IdM 서버 및 복제본에 대한
루트액세스 권한이 있어야 합니다. -
Directory Manager암호를 알고 있습니다. 다음 디렉터리 및 파일의 백업을 생성했습니다.
-
/etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -
/etc/httpd/alias -
/var/lib/certmonger -
/var/lib/ipa/certs/
-
절차
-
선택 사항:
/var/lib/ipa/private및/var/lib/ipa/passwds백업을 수행합니다. 동일한 CA를 사용하여 새 인증서에 서명하지 않거나 이미 설치된 CA 인증서가 더 이상 유효하지 않은 경우 외부 CA의 유효한 CA 인증서 체인이 포함된 파일로 로컬 데이터베이스의 외부 CA에 대한 정보를 업데이트합니다. 이 파일은 PEM 및 DER 인증서, PKCS#7 인증서 체인, PKCS##8 및 원시 개인 키, PKCS#12 형식으로 허용됩니다.
추가 CA 인증서로 ca_certificate_chain_file.crt 에서 사용 가능한 인증서를 IdM에 설치합니다.
ipa-cacert-manage install ca_certificate_chain_file.crt
# ipa-cacert-manage install ca_certificate_chain_file.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow ca_certicate_chain_file.crt 의 인증서로 로컬 IdM 인증서 데이터베이스를 업데이트합니다.
ipa-certupdate
# ipa-certupdateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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 -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'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 키를 생성하려면 다음을 수행합니다.
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 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'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenSSL유틸리티를 사용하여 타사 CA에 대한 IdM 인스턴스에서 실행되는 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'
$ 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'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
CSRs, /tmp/http.csr 및 tmp/ldap.csr 를 외부 CA에 제출하고
httpd의 인증서와 LDAP의 인증서를 가져옵니다. 프로세스는 외부 CA로 사용할 서비스에 따라 다릅니다.
httpd인증서 설치 :cp /path/to/httpd.crt /var/lib/ipa/certs/
# cp /path/to/httpd.crt /var/lib/ipa/certs/Copy to Clipboard Copied! Toggle word wrap Toggle overflow LDAP 인증서를 NSS 데이터베이스에 설치합니다.
선택 사항: 사용 가능한 인증서를 나열합니다.
certutil -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -L
# certutil -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -L Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI Server-Cert u,u,uCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기본 인증서 닉네임은 Server-Cert 이지만 다른 이름을 적용할 수 있습니다.
이전 단계에서 인증서 nickname을 사용하여 NSSDB(
NSSDB)에서 유효하지 않은 이전 인증서를 제거합니다.certutil -D -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -n 'Server-Cert' -f /etc/dirsrv/slapd-IDM-EXAMPLE-COM/pwdfile.txt
# certutil -D -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -n 'Server-Cert' -f /etc/dirsrv/slapd-IDM-EXAMPLE-COM/pwdfile.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow NSSDB로 가져오기 프로세스를 쉽게 하기 위해 PKCS12 파일을 만듭니다.openssl pkcs12 -export -in ldap.crt -inkey ldap.key -out ldap.p12 -name Server-Cert
# openssl pkcs12 -export -in ldap.crt -inkey ldap.key -out ldap.p12 -name Server-CertCopy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된 PKCS#12 파일을
NSSDB에 설치합니다.pk12util -i ldap.p12 -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -k /etc/dirsrv/slapd-IDM-EXAMPLE-COM/pwdfile.txt
# pk12util -i ldap.p12 -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -k /etc/dirsrv/slapd-IDM-EXAMPLE-COM/pwdfile.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 인증서를 성공적으로 가져왔는지 확인합니다.
certutil -L -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/
# certutil -L -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
httpd서비스를 다시 시작합니다.systemctl restart httpd.service
# systemctl restart httpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Directory서비스를 다시 시작하십시오.systemctl restart dirsrv@IDM-EXAMPLE-COM.service
# systemctl restart dirsrv@IDM-EXAMPLE-COM.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
모든 IdM 복제본에서 이전 단계를 모두 수행합니다. 이는 복제본 간
TLS연결을 설정하기 위한 사전 요구 사항입니다. LDAP 스토리지에 새 인증서를 등록합니다.
Apache 웹 서버의 이전 개인 키와 인증서를 새 키 및 새로 서명된 인증서로 교체합니다.
ipa-server-certinstall -w --pin=password /var/lib/ipa/private/httpd.key /var/lib/ipa/certs/httpd.crt
# ipa-server-certinstall -w --pin=password /var/lib/ipa/private/httpd.key /var/lib/ipa/certs/httpd.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위 명령에서 다음을 수행합니다.
-
-w옵션은 웹 서버에 인증서를 설치하도록 지정합니다. -
pin옵션은 개인 키를 보호하는 암호를 지정합니다.
-
-
메시지가 표시되면
Directory Manager암호를 입력합니다. LDAP 서버의 이전 개인 키와 인증서를 새 키 및 새로 서명된 인증서로 바꿉니다.
ipa-server-certinstall -d --pin=password /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ldap.key /path/to/ldap.crt
# ipa-server-certinstall -d --pin=password /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ldap.key /path/to/ldap.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위 명령에서 다음을 수행합니다.
-
d옵션은 LDAP 서버에 인증서를 설치하도록 지정합니다. -
pin옵션은 개인 키를 보호하는 암호를 지정합니다.
-
-
메시지가 표시되면
Directory Manager암호를 입력합니다. httpd서비스를 다시 시작합니다.systemctl restart httpd.service
# systemctl restart httpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Directory서비스를 다시 시작하십시오.systemctl restart dirsrv@IDM-EXAMPLE-COM.service
# systemctl restart dirsrv@IDM-EXAMPLE-COM.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 영향을 받는 다른 모든 복제본에서 이전 단계의 명령을 실행합니다.
16장. IdM CA 서버에서 CRL 생성 링크 복사링크가 클립보드에 복사되었습니다!
IdM 배포에서 포함된 CA(인증 기관)를 사용하는 경우 하나의 IdM(Identity Management) 서버에서 다른 IdM(Identity Management) 서버로 CRL(Certificate Revocation List) 생성을 이동해야 할 수 있습니다. 예를 들어 서버를 다른 시스템으로 마이그레이션하려는 경우 필요할 수 있습니다.
CRL을 생성하도록 하나의 서버만 구성합니다. CRL 게시자 역할을 수행하는 IdM 서버는 일반적으로 CA 갱신 서버 역할을 수행하는 서버와 동일하지만 필수는 아닙니다. CRL 게시자 서버를 해제하기 전에 CRL 게시자 서버 역할을 수행하도록 다른 서버를 선택하고 구성합니다.
16.1. IdM 서버에서 CRL 생성 중지 링크 복사링크가 클립보드에 복사되었습니다!
IdM CRL 게시자 서버에서 CRL(인증서 취소 목록) 생성을 중지하려면 ipa-crlgen-manage 명령을 사용합니다. 생성을 비활성화하기 전에 서버가 CRL을 실제로 생성하는지 확인합니다. 그런 다음 비활성화할 수 있습니다.
사전 요구 사항
- IdM(Identity Management) 서버가 RHEL 8.1 시스템에 설치되어 있습니다.
- root로 로그인해야 합니다.
절차
서버가 CRL을 생성하고 있는지 확인합니다.
ipa-crlgen-manage status
[root@server ~]# ipa-crlgen-manage status CRL generation: enabled Last CRL update: 2019-10-31 12:00:00 Last CRL Number: 6 The ipa-crlgen-manage command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서버에서 CRL 생성을 중지합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서버가 CRL 생성을 중지했는지 확인합니다.
ipa-crlgen-manage status
[root@server ~]# ipa-crlgen-manage statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow
CRL 생성을 중지했습니다. 다음 단계는 IdM 복제본에서 CRL 생성을 활성화하는 것입니다.
16.2. IdM 복제본 서버에서 CRL 생성 시작 링크 복사링크가 클립보드에 복사되었습니다!
ipa-crlgen-manage 명령을 사용하여 IdM CA 서버에서 CRL(인증서 취소 목록)을 생성할 수 있습니다.
사전 요구 사항
- IdM(Identity Management) 서버가 RHEL 8.1 시스템에 설치되어 있습니다.
- RHEL 시스템은 IdM 인증 기관 서버여야 합니다.
- root로 로그인해야 합니다.
절차
CRL 생성을 시작합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CRL이 생성되었는지 확인합니다.
ipa-crlgen-manage status
[root@replica1 ~]# ipa-crlgen-manage status CRL generation: enabled Last CRL update: 2019-10-31 12:10:00 Last CRL Number: 7 The ipa-crlgen-manage command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow
16.3. CRL 업데이트 간격 변경 링크 복사링크가 클립보드에 복사되었습니다!
CRL(Certificate Revocation List) 파일은 기본적으로 4시간마다 IdM(Identity Management Certificate Authority)에 의해 자동으로 생성됩니다. 다음 절차에 따라 이 간격을 변경할 수 있습니다.
절차
CRL 생성 서버를 중지합니다.
systemctl stop pki-tomcatd@pki-tomcat.service
# systemctl stop pki-tomcatd@pki-tomcat.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/pki/pki-tomcat/conf/ca/CS.cfg파일을 열고ca.crl.MasterCRL.autoUpdateInterval값을 새 간격 설정으로 변경합니다. 예를 들어 60분마다 CRL을 생성하려면 다음을 수행합니다.ca.crl.MasterCRL.autoUpdateInterval=60
ca.crl.MasterCRL.autoUpdateInterval=60Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고ca.crl.MasterCRL.autoUpdateInterval매개변수를 업데이트하면 이미 예약된 CRL 업데이트 후에 변경 사항이 적용됩니다.CRL 생성 서버를 시작합니다.
systemctl start pki-tomcatd@pki-tomcat.service
# systemctl start pki-tomcatd@pki-tomcat.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17장. CA 갱신 서버 및 CRL 게시자 역할을 수행하는 서버 해제 링크 복사링크가 클립보드에 복사되었습니다!
하나의 서버가 CA(인증 기관) 갱신 서버 역할과 CRL(Certificate Revocation List) 게시자 역할을 모두 수행해야 할 수 있습니다. 이 서버를 오프라인 상태로 전환하거나 해제해야 하는 경우 이러한 역할을 수행하도록 다른 CA 서버를 선택하고 구성하십시오.
이 예에서는 CA 갱신 서버 및 CRL 게시자 역할을 이행하는 호스트 server.idm.example.com.com을 해제해야 합니다. 이 절차에서는 CA 갱신 서버 및 CRL 게시자 역할을 호스트 replica.idm.example.com 으로 전송하고 IdM 환경에서 server.idm.example.com 을 제거합니다.
CA 갱신 서버와 CRL 게시자 역할을 모두 수행하도록 동일한 서버를 구성할 필요가 없습니다.
사전 요구 사항
- IdM 관리자 인증 정보가 있습니다.
- 해제 중인 서버의 root 암호가 있습니다.
- IdM 환경에 두 개 이상의 CA 복제본이 있습니다.
절차
IdM 관리자 인증 정보를 가져옵니다.
kinit admin
[user@server ~]$ kinit admin Password for admin@IDM.EXAMPLE.COM:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: CA 갱신 서버 및 CRL 게시자 역할을 수행하는 서버가 확실하지 않은 경우:
현재 CA 갱신 서버를 표시합니다. IdM 서버에서 다음 명령을 실행할 수 있습니다.
ipa config-show | grep 'CA renewal'
[user@server ~]$ ipa config-show | grep 'CA renewal' IPA CA renewal master: server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트가 현재 CRL 게시자인지 테스트합니다.
ipa-crlgen-manage status
[user@server ~]$ ipa-crlgen-manage status CRL generation: enabled Last CRL update: 2019-10-31 12:00:00 Last CRL Number: 6 The ipa-crlgen-manage command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow CRL을 생성하지 않는 CA 서버는
CRL 생성: disabled를 표시합니다.ipa-crlgen-manage status
[user@replica ~]$ ipa-crlgen-manage status CRL generation: disabled The ipa-crlgen-manage command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow CRL 게시자 서버를 찾을 때까지 CA 서버에서 이 명령을 계속 입력합니다.
이러한 역할을 수행하기 위해 승격할 수 있는 다른 모든 CA 서버를 표시합니다. 이 환경에는 두 개의 CA 서버가 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
replica.idm.example.com을 CA 갱신 서버로 설정합니다.ipa config-mod --ca-renewal-master-server replica.idm.example.com
[user@server ~]$ ipa config-mod --ca-renewal-master-server replica.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow server.idm.example.com에서 다음을 수행합니다.인증서 업데이트 작업을 비활성화합니다.
pki-server ca-config-set ca.certStatusUpdateInterval 0
[root@server ~]# pki-server ca-config-set ca.certStatusUpdateInterval 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 서비스를 다시 시작하십시오.
ipactl restart
[root@server ~]# ipactl restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
replica.idm.example.com에서 다음을 수행합니다.인증서 업데이트 프로그램을 활성화합니다.
pki-server ca-config-unset ca.certStatusUpdateInterval
[root@replica ~]# pki-server ca-config-unset ca.certStatusUpdateIntervalCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 서비스를 다시 시작하십시오.
ipactl restart
[root@replica ~]# ipactl restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
server.idm.example.com에서 CRL 생성을 중지합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow replica.idm.example.com에서 CRL 생성을 시작합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow server.idm.example.com에서 IdM 서비스를 중지합니다.ipactl stop
[root@server ~]# ipactl stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow replica.idm.example.com에서 IdM 환경에서server.idm.example.com을 삭제합니다.ipa server-del server.idm.example.com
[user@replica ~]$ ipa server-del server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow server.idm.example.com에서ipa-server-install --uninstall명령을 root 계정으로 사용합니다.ipa-server-install --uninstall
[root@server ~]# ipa-server-install --uninstall ... Are you sure you want to continue with the uninstall procedure? [no]: yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
현재 CA 갱신 서버를 표시합니다.
ipa config-show | grep 'CA renewal'
[user@replica ~]$ ipa config-show | grep 'CA renewal' IPA CA renewal master: replica.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow replica.idm.example.com호스트에서 CRL을 생성하고 있는지 확인합니다.ipa-crlgen-manage status
[user@replica ~]$ ipa-crlgen-manage status CRL generation: enabled Last CRL update: 2019-10-31 12:10:00 Last CRL Number: 7 The ipa-crlgen-manage command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow
18장. certmonger를 사용하여 서비스에 대한 IdM 인증서 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
18.1. certmonger 개요 링크 복사링크가 클립보드에 복사되었습니다!
통합된 IdM 인증 기관(CA)과 함께 IdM 관리(IdM)를 설치할 때 certmonger 서비스를 사용하여 시스템 및 서비스 인증서를 추적 및 갱신합니다. 인증서가 만료 날짜에 도달하면 certmonger 는 갱신 프로세스를 다음과 같이 관리합니다.
- 원래 요청에 제공된 옵션을 사용하여 CSR(인증서 서명 요청)을 다시 생성합니다.
-
IdM API
cert-request명령을 사용하여 IdM CA에 CSR을 제출합니다. - IdM CA에서 인증서를 수신합니다.
- 원래 요청으로 지정된 경우 pre-save 명령을 실행합니다.
-
업데이트 요청에 지정된 위치에 새 인증서 설치:
NSS데이터베이스 또는 파일. -
원래 요청에 의해 지정된 경우 post-save 명령을 실행합니다. 예를 들어 post-save 명령은
certmonger에 관련 서비스를 다시 시작하도록 지시하여 서비스가 새 인증서를 선택하도록 지시할 수 있습니다.
인증서 certmonger 트랙의 유형
인증서는 시스템 및 서비스 인증서로 나눌 수 있습니다.
서비스 인증서(예: HTTP,LDAP 및 PKINIT)와 달리 다른 서버에서 키 쌍과 제목 이름이 있는 경우 IdM 시스템 인증서 및 해당 키는 모든 CA 복제본에서 공유합니다. IdM 시스템 인증서는 다음과 같습니다.
-
IdM CA인증서 -
OCSP서명 인증서 -
IdM CA 하위 시스템인증서 -
IdM CA 감사 서명인증서 -
IdM 갱신 에이전트(RA) 인증서 -
KRA전송 및 스토리지 인증서
certmonger 서비스는 통합된 CA를 사용하여 IdM 환경을 설치하는 동안 요청된 IdM 시스템 및 서비스 인증서를 추적합니다. 또한 certmonger 는 IdM 호스트에서 실행되는 다른 서비스에 대해 시스템 관리자가 수동으로 요청한 인증서를 추적합니다. certmonger는 외부 CA 인증서 또는 사용자 인증서를 추적하지 않습니다.
certmonger 구성 요소
certmonger 서비스는 다음 두 가지 주요 구성 요소로 구성됩니다.
-
인증서 목록을 추적하고 갱신 명령 시작 엔진인
certmonger 데몬 -
시스템 관리자가
certmonger데몬에 명령을 적극적으로 보낼 수 있는 CLI(명령줄)의getcert유틸리티입니다.
특히 시스템 관리자는 getcert 유틸리티를 사용하여 다음을 수행할 수 있습니다.
18.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에 사전 존재할 필요가 없습니다.
절차
HTTP서비스가 실행 중인my_company.idm.example.comIdM 클라이언트에서HTTP/my_company.idm.example.com@IDM.EXAMPLE.COMprincipal에 해당하는 서비스의 인증서를 요청하고 이를 지정합니다.-
인증서는 로컬
/etc/pki/tls/certs/httpd.pem파일에 저장됩니다. -
개인 키는 로컬
/etc/pki/tls/private/httpd.key파일에 저장해야 합니다. SubjectAltName에 대한 extensionRequest가my_company.idm.example.com의 DNS 이름으로 서명 요청에 추가됩니다.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"
# 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.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 위 명령에서 다음을 수행합니다.
-
ipa-getcert request명령은 IdM CA에서 인증서를 가져올 수 있도록 지정합니다.ipa-getcert request명령은getcert request -c IPA를 위한 바로 가기입니다. -
g옵션은 아직 없는 경우 생성할 키 크기를 지정합니다. -
-D옵션은 요청에 추가할SubjectAltNameDNS 값을 지정합니다. -
c 옵션은 인증서를 가져온 후
certmonger에httpd서비스를 다시 시작하도록 지시합니다.
-
특정 프로필로 인증서를 발급하도록 지정하려면
-T옵션을 사용합니다. -
지정된 CA에서 이름이 지정된 발행자를 사용하여 인증서를 요청하려면
-X ISSUER옵션을 사용합니다.
참고RHEL 8은 RHEL 7에서 사용되는 Apache와 다른 SSL 모듈을 사용합니다. SSL 모듈은 NSS가 아닌 OpenSSL에 의존합니다. 이러한 이유로 RHEL 8에서는 NSS 데이터베이스를 사용하여
HTTPS인증서와 개인 키를 저장할 수 없습니다.-
-
인증서는 로컬
선택 사항: 요청 상태를 확인하려면 다음을 수행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에 요청이
MONITORING상태임을 보여줍니다. 즉, 인증서를 가져왔음이 표시됩니다. 키 쌍과 인증서의 위치는 요청된 위치입니다.
18.3. 서비스 인증서를 요청하는 certmonger의 통신 흐름 링크 복사링크가 클립보드에 복사되었습니다!
이러한 다이어그램은 certmonger 에서 IdM(Identity Management) 인증 기관(CA) 서버에서 서비스 인증서를 요청할 때 발생하는 단계를 보여줍니다. 시퀀스는 다음 다이어그램으로 구성됩니다.
암호화되지 않은 통신은 초기 상황을 보여줍니다. HTTPS 인증서가 없으면 웹 서버와 브라우저 간의 통신이 암호화되지 않습니다.
그림 18.1. 암호화되지 않은 통신
certmonger에서 서비스 인증서를 요청하는 것은 certmonger 를 사용하여 Apache 웹 서버에 대한 HTTPS 인증서를 수동으로 요청하는 시스템 관리자에게 표시됩니다. 웹 서버 인증서를 요청할 때 certmonger는 CA와 직접 통신하지 않습니다. IdM을 통해 프록시합니다.
그림 18.2. 서비스 인증서를 요청하는 certmonger
서비스 인증서를 발행하는 IdM CA 에서 웹 서버의 HTTPS 인증서를 발행하는 IdM CA가 표시됩니다.
그림 18.3. 서비스 인증서 발행 IdM CA
certmonger 에서 서비스 인증서를 적용하는 경우 IdM 클라이언트의 적절한 위치에 HTTPS 인증서를 배치하고 이를 수행하라는 지침이 나타나면 httpd 서비스를 다시 시작합니다. 이후 Apache 서버는 HTTPS 인증서를 사용하여 자체와 브라우저 간의 트래픽을 암호화합니다.
그림 18.4. 서비스 인증서 적용 certmonger
certmonger에서 이전 만료일이 가까워지면 certmonger 에서 인증서가 만료되기 전에 IdM CA에서 서비스 인증서 갱신을 자동으로 요청합니다. IdM CA는 새 인증서를 발행합니다.
그림 18.5. 이전 인증서가 만료될 때 새 인증서를 요청합니다.
18.4. certmonger에서 추적하는 인증서 요청의 세부 정보 보기 링크 복사링크가 클립보드에 복사되었습니다!
certmonger 서비스는 인증서 요청을 모니터링합니다. 인증서에 대한 요청이 성공적으로 서명되면 인증서가 생성됩니다. certmonger 는 결과 인증서를 포함한 인증서 요청을 관리합니다. certmonger 에서 관리하는 특정 인증서 요청의 세부 정보를 보려면 다음 절차를 따르십시오.
절차
인증서 요청을 지정하는 방법을 알고 있는 경우 해당 특정 인증서 요청의 세부 정보만 나열합니다. 예를 들어 다음을 지정할 수 있습니다.
- 요청 ID
- 인증서의 위치
인증서 이름
예를 들어 요청 ID가 20190408143846인 인증서의 세부 정보를 보려면
-v옵션을 사용하여 인증서에 대한 요청이 실패한 경우 오류의 모든 세부 정보를 볼 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
출력에는 인증서에 대한 여러 정보가 표시됩니다. 예를 들면 다음과 같습니다.
-
인증서 위치(위의 예에서)는
/etc/dirsrv/slapd-IDM-EXAMPLE-COM디렉토리에 있는 NSS 데이터베이스입니다. -
위의 예에서 인증서 닉네임은
Server-Cert입니다. -
핀을 저장하는 파일; 위의 예에서,
/etc/dirsrv/slapd-IDM-EXAMPLE-COM/pwdfile.txt -
인증서를 갱신하는 데 사용되는 CA(인증 기관)입니다. 위의 예에서는
IPACA입니다. -
만료일(위의 예에서는
2021-04-08 16:38:47 CEST)입니다. -
인증서의 상태는 위 예제에서
MONITORING상태는 인증서가 유효하고 추적되고 있음을 나타냅니다. -
post-save 명령(위의 예에서는
LDAP서비스를 다시 시작함)
인증서 요청을 지정하는 방법을 모르는 경우
certmonger가 모니터링하거나 가져오기를 시도하는 모든 인증서의 세부 정보를 나열합니다.getcert list
# getcert listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
18.5. 인증서 추적 시작 및 중지 링크 복사링크가 클립보드에 복사되었습니다!
getcert stop-tracking 및 getcert start-tracking 명령을 사용하여 인증서를 모니터링합니다. 두 명령은 certmonger 서비스에서 제공합니다. 인증서 추적을 활성화하면 IdM(Identity Management) 인증 기관(CA)에서 다른 IdM 클라이언트의 시스템으로 발급한 인증서를 가져온 경우 특히 유용합니다. 인증서 추적을 활성화하는 것도 다음 프로비저닝 시나리오의 최종 단계가 될 수 있습니다.
- IdM 서버에서 아직 존재하지 않는 시스템의 인증서를 생성합니다.
- 새 시스템을 생성합니다.
- 새 시스템을 IdM 클라이언트로 등록합니다.
- 의 IdM 서버에서 IdM 클라이언트로 인증서와 키를 가져옵니다.
-
인증서가 만료될 때 갱신되는지 확인하기 위해
certmonger를 사용하여 인증서 추적을 시작합니다.
절차
요청 ID가 20190408143846인 인증서 모니터링을 비활성화하려면 다음을 수행합니다.
getcert stop-tracking -i 20190408143846
# getcert stop-tracking -i 20190408143846Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자세한 옵션은 시스템의
getcert stop-tracking도움말 페이지를 참조하십시오./tmp/some_cert.crt파일에 저장된 인증서 모니터링을 활성화하려면 개인 키가/tmp/some_key.key파일에 저장됩니다.getcert start-tracking -c IPA -f /tmp/some_cert.crt -k /tmp/some_key.key
# getcert start-tracking -c IPA -f /tmp/some_cert.crt -k /tmp/some_key.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow certmonger는인증서를 발급한 CA 유형을 자동으로 식별할 수 없습니다. 따라서 IdM CA에서 인증서를 발급한 경우IPA값과 함께-c옵션을getcert start-tracking명령에 추가합니다. c 옵션을 추가하려면 생략하면certmonger가 NEED_CA 상태를 입력합니다.자세한 옵션은 시스템의
getcert 시작도움말 페이지를 참조하십시오.
두 명령은 인증서를 조작하지 않습니다. 예를 들어, getcert stop-tracking 은 인증서를 삭제하거나 NSS 데이터베이스 또는 파일 시스템에서 제거하지 않지만 모니터링된 인증서 목록에서 인증서를 제거합니다. 마찬가지로 getcert start-tracking 은 모니터링된 인증서 목록에 인증서만 추가합니다.
18.6. 수동으로 인증서 갱신 링크 복사링크가 클립보드에 복사되었습니다!
인증서가 만료일이 되면 certmonger 데몬은 인증 기관(CA) 도우미를 사용하여 갱신 명령을 자동으로 발행하고, 갱신된 인증서를 가져온 후 이전 인증서를 새 인증서로 교체합니다.
getcert resubmit 명령을 사용하여 사전에 인증서를 수동으로 갱신할 수도 있습니다. 이렇게 하면 SAN(주체 대체 이름)을 추가하여 인증서에 포함된 정보를 업데이트할 수 있습니다.
인증서를 수동으로 갱신하려면 다음 절차를 따르십시오.
절차
요청 ID가 20190408143846인 인증서를 갱신하려면 다음을 수행합니다.
getcert resubmit -i 20190408143846
# getcert resubmit -i 20190408143846Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 인증서에 대한 요청 ID를 가져오려면
getcert list명령을 사용합니다. 자세한 내용은 시스템의getcert listman 페이지를 참조하십시오.
18.7. CA 복제본에서 certmonger가 IdM 인증서 추적을 재개하도록 설정 링크 복사링크가 클립보드에 복사되었습니다!
인증서 추적이 중단된 후 통합 인증 기관을 사용하여 IdM 배포에 중요한 IdM(Identity Management) 시스템 인증서 추적을 재개할 수 있습니다. 시스템 인증서를 갱신하거나 복제 토폴로지가 제대로 작동하지 않는 동안 IdM 호스트가 IdM에서 해제되어 발생했기 때문일 수 있습니다. 이 절차에서는 certmonger 가 IdM 서비스 인증서의 추적을 재개하도록 하는 방법( HTTP,LDAP 및 PKINIT 인증서)도 보여줍니다.
사전 요구 사항
- 시스템 인증서 추적을 재개하려는 호스트는 IdM CA 갱신 서버가 아닌 IdM 인증 기관(CA)이기도 합니다.
절차
하위 시스템 CA 인증서에 대한 Pin을 가져옵니다.
export NSSDB_PIN=$(sed -n 's/^internal=//p' /var/lib/pki/pki-tomcat/conf/password.conf)
# export NSSDB_PIN=$(sed -n 's/^internal=//p' /var/lib/pki/pki-tomcat/conf/password.conf)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Issuing CA,Audit,OSCP, Cryostat 및Tomcat 서버인증서에 대한 추적을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 나머지 IdM 인증서,
HTTP,LDAP,IPA 갱신 에이전트및PKINIT인증서에 대한 추적을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow certmonger를 다시 시작합니다.systemctl restart certmonger
# systemctl restart certmongerCopy to Clipboard Copied! Toggle word wrap Toggle overflow certmonger가 시작된 후 1분 정도 기다린 후 새 인증서의 상태를 확인합니다.getcert list
# getcert listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
다음을 확인합니다.
- IdM 시스템 인증서가 모두 만료된 경우 Red Hat Knowledgebase 솔루션에서 RHEL7/RHEL 8에서 Identity Management(IPA) 인증서를 수동으로 갱신 하려면 CA 갱신 서버 및 CRL 게시자 서버인 IdM CA 서버에서 IdM 시스템 인증서를 수동으로 갱신하는 방법을 참조하십시오.
- Red Hat 지식 베이스 솔루션에 설명된 절차에 따라 RHEL7에서 ID 관리(IPA) 인증서를 수동으로 갱신하려면 토폴로지의 다른 모든 CA 서버에서 IdM 시스템 인증서를 수동으로 갱신하려면 어떻게 해야 합니까.
18.8. certmonger와 SCEP 사용 링크 복사링크가 클립보드에 복사되었습니다!
SCEP(Simple Certificate Enrollment Protocol)는 다른 장치 및 운영 체제에서 사용할 수 있는 인증서 관리 프로토콜입니다. 환경에서 SCEP 서버를 외부 CA(인증 기관)로 사용하는 경우 certmonger 를 사용하여 IdM(Identity Management) 클라이언트의 인증서를 가져올 수 있습니다.
18.8.1. SCEP 개요 링크 복사링크가 클립보드에 복사되었습니다!
SCEP(Simple Certificate Enrollment Protocol)는 다른 장치 및 운영 체제에서 사용할 수 있는 인증서 관리 프로토콜입니다. SCEP 서버를 외부 CA(인증 기관)로 사용할 수 있습니다.
CA SCEP 서비스에서 직접 HTTP를 통해 인증서를 요청 및 검색하도록 IdM(Identity Management) 클라이언트를 구성할 수 있습니다. 이 프로세스는 일반적으로 제한된 시간 동안만 유효한 공유 시크릿에 의해 보호됩니다.
클라이언트 측에서 SCEP는 다음과 같은 구성 요소를 제공해야 합니다.
- SCEP URL: CA CEP 인터페이스의 URL입니다.
-
SCEP 공유 보안: 인증서를 얻는 데 사용되는 SCEP 클라이언트와 SCEP 클라이언트 간에 공유하는
challengePassword4.6.1입니다.
그런 다음 클라이언트는 SCEP를 통해 CA 인증서 체인을 검색하고 CA로 인증서 서명 요청을 보냅니다.
certmonger 를 사용하여 SCEP를 구성할 때 발급된 인증서 매개변수를 지정하는 새 CA 구성 프로필을 생성합니다.
18.8.2. SCEP를 통해 IdM CA 서명 인증서 요청 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 SCEP_example SCEP CA 구성을 certmonger 에 추가하고 client.idm.example.com IdM 클라이언트에서 새 인증서를 요청합니다. certmonger 는 NSS 인증서 데이터베이스 형식과 파일 기반(PEM) 형식을 모두 지원합니다.
사전 요구 사항
- SCEP URL을 알고 있습니다.
-
challengePasswordECDHE 공유 시크릿이 있습니다.
절차
certmonger에 CA 구성을 추가합니다.[root@client.idm.example.com ~]# getcert add-scep-ca -c SCEP_example -u SCEP_URL
[root@client.idm.example.com ~]# getcert add-scep-ca -c SCEP_example -u SCEP_URLCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
-c: CA 구성에 대한 필수 닉네임입니다. 나중에 동일한 값을 다른getcert명령과 함께 사용할 수 있습니다. -u: 서버의 SCEP 인터페이스 URL.중요HTTPS URL을 사용하는 경우
-R옵션을 사용하여 SCEP 서버 CA 인증서의 PEM 형식 사본 위치도 지정해야 합니다.
-
CA 구성이 성공적으로 추가되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 구성이 성공적으로 추가되면 certmonger는 원격 CA에서 CA 체인을 검색합니다. 그러면 CA 체인이 명령 출력에 지문으로 표시됩니다. 암호화되지 않은 HTTP를 통해 서버에 액세스하는 경우 지문을 SCEP 서버에 표시되는 지문과 수동으로 비교하여 중간자 공격을 방지합니다.
CA에서 인증서를 요청합니다.
NSS를 사용하는 경우:
[root@client.idm.example.com ~]# getcert request -I Example_Task -c SCEP_example -d /etc/pki/nssdb -n ExampleCert -N cn="client.idm.example.com" -L one-time_PIN -D client.idm.example.com
[root@client.idm.example.com ~]# getcert request -I Example_Task -c SCEP_example -d /etc/pki/nssdb -n ExampleCert -N cn="client.idm.example.com" -L one-time_PIN -D client.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 옵션을 사용하여 인증서 요청의 다음 매개변수를 지정할 수 있습니다.
-
-I: 선택 사항: 작업 이름: 요청에 대한 추적 ID입니다. 나중에getcert list명령과 동일한 값을 사용할 수 있습니다. -
-c: 요청을 제출할 CA 구성입니다. -
-d: 인증서와 키를 저장할 NSS 데이터베이스가 있는 디렉터리입니다. -
-n: NSS 데이터베이스에 사용되는 인증서의 별 이름입니다. -
-N: CSR의 제목 이름입니다. -
-L: CA에서 발행한 시간 제한 일회성challengePasswordBOOM입니다. -
-D: 인증서의 대체 이름(일반적으로 호스트 이름과 동일)입니다.
-
OpenSSL을 사용하는 경우:
[root@client.idm.example.com ~]# getcert request -I Example_Task -c SCEP_example -f /etc/pki/tls/certs/server.crt -k /etc/pki/tls/private/private.key -N cn="client.idm.example.com" -L one-time_PIN -D client.idm.example.com
[root@client.idm.example.com ~]# getcert request -I Example_Task -c SCEP_example -f /etc/pki/tls/certs/server.crt -k /etc/pki/tls/private/private.key -N cn="client.idm.example.com" -L one-time_PIN -D client.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 옵션을 사용하여 인증서 요청의 다음 매개변수를 지정할 수 있습니다.
-
-I: 선택 사항: 작업 이름: 요청에 대한 추적 ID입니다. 나중에getcert list명령과 동일한 값을 사용할 수 있습니다. -
-c: 요청을 제출할 CA 구성입니다. -
-f: 인증서의 스토리지 경로입니다. -
-k: 키의 스토리지 경로입니다. -
-N: CSR의 제목 이름입니다. -
-L: CA에서 발행한 시간 제한 일회성challengePasswordBOOM입니다. -
-D: 인증서의 대체 이름(일반적으로 호스트 이름과 동일)입니다.
-
검증
인증서가 발행되어 로컬 데이터베이스에 올바르게 저장되었는지 확인합니다.
NSS를 사용한 경우 다음을 입력합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenSSL을 사용한 경우 다음을 입력합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MONITORING 상태는 발급된 인증서를 성공적으로 검색할 수 있음을 나타냅니다.
getcert-list(1)매뉴얼 페이지에는 다른 가능한 상태 및 해당 의미가 나열되어 있습니다.
18.8.3. certmonger를 사용하여 AD SCEP 인증서 자동 갱신 링크 복사링크가 클립보드에 복사되었습니다!
certmonger 가 SCEP 인증서 갱신 요청을 보내면 기존 인증서 개인 키를 사용하여 이 요청이 서명됩니다. 그러나 기본적으로 certmonger 가 전송한 갱신 요청에는 원래 인증서를 얻는 데 사용된 challengePassword ECDHE도 포함됩니다.
SCEP 서버로 작동하는 Active Directory(AD) 네트워크 장치 등록 서비스(NDES) 서버는 원래 challengePassword 4.6.1이 포함된 갱신 요청을 자동으로 거부합니다. 결과적으로 갱신이 실패합니다.
AD를 통한 갱신이 작동하려면 challengePassword ECDHE 없이 서명된 갱신 요청을 보내도록 certmonger 를 구성해야 합니다. 또한 업데이트 시 주체 이름을 비교하지 않도록 AD 서버를 구성해야 합니다.
AD 이외의 SCEP 서버가 challengePassword 를 포함하는 요청을 거부할 수 있습니다. 이러한 경우 certmonger 구성을 이러한 방식으로 변경해야 할 수도 있습니다.
사전 요구 사항
- RHEL 서버는 RHEL 8.6 이상을 실행해야 합니다.
절차
-
AD 서버에서
regedit를 엽니다. -
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MSCEP 하위 키에서 새로운 32비트 REG_DWORD 항목
DisableRenewalSubjectNameMatch를 추가하고 해당 값을1로 설정합니다. certmonger가 실행 중인 서버에서/etc/certmonger/certmonger.conf파일을 열고 다음 섹션을 추가합니다.[scep] challenge_password_otp = yes
[scep] challenge_password_otp = yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow certmonger를 다시 시작하십시오.
systemctl restart certmonger
# systemctl restart certmongerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
19장. RHEL 시스템 역할을 사용하여 CA에서 인증서 요청 및 자체 서명된 인증서 생성 링크 복사링크가 클립보드에 복사되었습니다!
웹 서버와 같은 많은 서비스는 TLS를 사용하여 클라이언트와의 연결을 암호화합니다. 이러한 서비스에는 개인 키와 인증서, 인증서에 서명하는 신뢰할 수 있는 CA(인증 기관)가 필요합니다.
인증서 RHEL 시스템 역할을 사용하면 관리형 노드에서 개인 키 생성을 자동화할 수 있습니다. 또한 이 역할은 CSR(인증서 서명 요청)을 CA로 전송하도록 certmonger 서비스를 구성하고 서비스가 만료되기 전에 인증서를 자동으로 갱신합니다.
테스트를 위해 CA에서 서명된 인증서 를 요청하는 대신 인증서 역할을 사용하여 자체 서명된 인증서를 생성할 수 있습니다.
19.1. 인증서 RHEL 시스템 역할을 사용하여 IdM CA에서 새 인증서 요청 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 호스트가 RHEL IdM(Identity Management) 환경의 멤버인 경우 IdM 인증 기관(CA)에서 TLS 인증서를 요청하고 이 호스트에서 실행되는 서비스에서 사용할 수 있습니다. 인증서 RHEL 시스템 역할을 사용하면 개인 키 생성 프로세스를 자동화하고 certmonger 서비스가 CA에서 인증서를 요청하도록 할 수 있습니다. 기본적으로 certmonger 는 만료되기 전에 인증서를 갱신합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다. - 관리형 노드는 IdM 도메인의 멤버이며 도메인은 IdM 통합 CA를 사용합니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
name: <path_or_file_name>생성된 개인 키 및 인증서 파일의 이름 또는 경로를 정의합니다.
-
변수를
web-server로 설정하면 역할은 개인 키를/etc/pki/tls/private/web-server.key에 저장하고/etc/pki/tls/certs/web-server.crt파일의 인증서를 저장합니다. 변수를
/tmp/web-server와 같은 경로로 설정하면 역할은/tmp/web-server.key에 개인 키를 저장하고/tmp/web-server.crt파일에 인증서를 저장합니다.사용하는 디렉터리에
cert_tSELinux 컨텍스트가 설정되어 있어야 합니다.selinuxRHEL 시스템 역할을 사용하여 SELinux 컨텍스트를 관리할 수 있습니다.
-
변수를
ca: ipa- 역할이 IdM CA의 인증서를 요청하도록 정의합니다.
dns: <hostname_or_list_of_hostnames>-
발행된 인증서의 주체 대체 이름(SAN) 필드에 포함된 호스트 이름을 설정합니다. 와일드카드(
*)를 사용하거나 YAML 목록 형식으로 여러 이름을 지정할 수 있습니다. principal: <kerberos_principal>- 선택 사항: 인증서에 포함해야 하는 Kerberos 주체를 설정합니다.
run_before: <command>-
선택 사항: CA에서 인증서를 요청하기 전에
certmonger가 실행해야 하는 명령을 정의합니다. run_after: <command>-
선택 사항: CA에서 발급된 인증서를 받은 후
certmonger가 실행해야 하는 명령을 정의합니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.certificate/README.md파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
certmonger서비스에서 관리하는 인증서를 나열합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.2. 인증서 RHEL 시스템 역할을 사용하여 자체 서명된 새 인증서 요청 링크 복사링크가 클립보드에 복사되었습니다!
테스트 환경에 TLS 인증서가 필요한 경우 자체 서명된 인증서를 사용할 수 있습니다. 인증서 RHEL 시스템 역할을 사용하여 개인 키 생성 프로세스를 자동화하고 certmonger 서비스에서 자체 서명된 인증서를 생성하도록 할 수 있습니다. 기본적으로 certmonger 는 만료되기 전에 인증서를 갱신합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
name: <path_or_file_name>생성된 개인 키 및 인증서 파일의 이름 또는 경로를 정의합니다.
-
변수를
web-server로 설정하면 역할은 개인 키를/etc/pki/tls/private/web-server.key에 저장하고/etc/pki/tls/certs/web-server.crt파일의 인증서를 저장합니다. 변수를
/tmp/web-server와 같은 경로로 설정하면 역할은/tmp/web-server.key에 개인 키를 저장하고/tmp/web-server.crt파일에 인증서를 저장합니다.사용하는 디렉터리에
cert_tSELinux 컨텍스트가 설정되어 있어야 합니다.selinuxRHEL 시스템 역할을 사용하여 SELinux 컨텍스트를 관리할 수 있습니다.
-
변수를
ca: 자체 서명- 역할이 자체 서명된 인증서를 생성하도록 정의합니다.
dns: <hostname_or_list_of_hostnames>-
발행된 인증서의 주체 대체 이름(SAN) 필드에 포함된 호스트 이름을 설정합니다. 와일드카드(
*)를 사용하거나 YAML 목록 형식으로 여러 이름을 지정할 수 있습니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.certificate/README.md파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
certmonger서비스에서 관리하는 인증서를 나열합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20장. 인증서의 하위 집합만 신뢰하도록 애플리케이션 제한 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 설치가 통합 CA(Certificate System) CA(인증 기관)로 구성된 경우 간단한 하위 시스템을 생성할 수 있습니다. 생성하는 모든 하위 CA는 인증서 시스템의 기본 CA인 ipa CA로 하위 설정됩니다.
이 컨텍스트의 간단한 하위 보안 은 하위 CA에서 특정 용도로 인증서를 발행하는 것을 의미합니다. 예를 들어, 경량 하위 CA를 사용하면 가상 사설 네트워크( VPN) 게이트웨이 및 웹 브라우저와 같은 서비스를 구성하여 하위 CA A 에서 발급한 인증서만 허용할 수 있습니다. 하위 CA B에서 발급한 인증서만 허용하도록 기타 서비스를 구성하면 하위 CA A, 기본 CA(기본 CA, 즉 ipa CA)에서 발급한 인증서가 수락되지 않도록 하고, 둘 사이의 중간 하위 CA입니다.
하위 CA의 중간 인증서를 취소하면 이 하위 CA에서 발급한 모든 인증서가 올바르게 구성된 클라이언트에 의해 자동으로 유효하지 않은 것으로 간주됩니다. 루트 CA, ipa 또는 다른 하위 CA에서 직접 발급한 다른 모든 인증서는 유효한 상태로 유지됩니다.
이 섹션에서는 Apache 웹 서버의 예제를 사용하여 인증서의 하위 집합만 신뢰하도록 애플리케이션을 제한하는 방법을 설명합니다. webclient-ca IdM 하위 CA에서 발급한 인증서를 사용하도록 IdM 클라이언트에서 실행 중인 웹 서버를 제한하고, 사용자가 webclient -ca IdM 하위 시스템에서 발행한 사용자 인증서를 사용하여 웹 서버를 인증하도록 하려면 이 섹션을 완료합니다.
취해야 하는 단계는 다음과 같습니다.
- IdM 하위 CA 생성
- IdM WebUI에서 하위 CA 인증서 다운로드
- 사용자, 서비스 및 CA의 올바른 조합 및 사용된 인증서 프로필을 지정하는 CA ACL 생성
- IdM 하위 CA의 IdM 클라이언트에서 실행되는 웹 서비스에 대한 인증서를 요청합니다.
- 단일 인스턴스 Apache HTTP Server 설정
- Apache HTTP 서버에 TLS 암호화 추가
- Apache HTTP Server에서 지원되는 TLS 프로토콜 버전 설정
- Apache HTTP Server에서 지원되는 암호 설정
- 웹 서버에서 TLS 클라이언트 인증서 인증 구성
- IdM 하위 CA에서 사용자에 대한 인증서를 요청하고 클라이언트로 내보냅니다.
- 브라우저로 사용자 인증서를 가져오고 하위 CA 인증서를 신뢰하도록 브라우저를 구성합니다.
20.1. 경량 하위 서비스 관리 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 경량의 하위 인증 기관(sub-CA)을 관리하는 방법을 설명합니다. 생성하는 모든 하위 CA는 인증서 시스템의 기본 CA인 ipa CA로 하위 설정됩니다. 하위 서비스를 비활성화하고 삭제할 수도 있습니다.
-
하위 CA를 삭제하면 해당 하위 서비스에 대한 해지 검사가 더 이상 작동하지 않습니다. 향후 만료 시간이
아닌해당 하위 CA에서 발급한 인증서가 더 이상 없는 경우에만 하위 CA를 삭제합니다. - 해당 하위 CA에서 발행한 인증서가 아직 만료되지 않은 동안에는 하위 CA만 비활성화해야 합니다. 하위 CA에서 발급한 모든 인증서가 만료된 경우 해당 하위 CA를 삭제할 수 있습니다.
- IdM CA를 비활성화하거나 삭제할 수 없습니다.
20.1.1. IdM 웹 UI에서 하위 CA 생성 링크 복사링크가 클립보드에 복사되었습니다!
IdM WebUI를 사용하여 webserver-ca 및 webclient-ca 라는 새 하위 CA를 생성하려면 다음 절차를 따르십시오.
사전 요구 사항
- 관리자로 로그인했습니다.
절차
- 인증 메뉴에서 인증서 를 클릭합니다.
- 인증 기관을 선택하고 추가 를 클릭합니다.
- webserver-ca 하위 CA의 이름을 입력합니다. 주체 DN (예: CN=WEBSERVER,O=IDM.EXAMPLE.COM )을 주체 DN 필드에 입력합니다. 주체 DN은 IdM CA 인프라에서 고유해야 합니다.
- webclient-ca 하위 CA의 이름을 입력합니다. 주체 DN 필드에 CN=WEBCLIENT,O=IDM.EXAMPLE.COM 을 입력합니다.
명령줄에서
ipa-certupdate명령을 실행하여 webserver-ca 및 webclient-ca 하위 CA 인증서에 대한 certmonger 추적 요청을 생성합니다.ipa-certupdate
[root@ipaserver ~]# ipa-certupdateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요하위 인증서를 생성한 후
ipa-certupdate명령을 실행하는 것을 잊어 버린 경우, 하위 인증서가 만료되지 않은 경우에도 하위 CA에서 발행한 엔드-엔티 인증서가 유효하지 않은 것으로 간주됩니다.
검증
새 하위 CA의 서명 인증서가 IdM 데이터베이스에 추가되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고새 하위 CA 인증서는 인증서 시스템 인스턴스가 설치된 모든 복제본으로 자동 전송됩니다.
20.1.2. IdM 웹 UI에서 하위 CA 삭제 링크 복사링크가 클립보드에 복사되었습니다!
IdM WebUI에서 경량 하위 CA를 삭제하려면 다음 절차를 따르십시오.
-
하위 CA를 삭제하면 해당 하위 서비스에 대한 해지 검사가 더 이상 작동하지 않습니다. 향후 만료 시간이
아닌해당 하위 CA에서 발급한 인증서가 더 이상 없는 경우에만 하위 CA를 삭제합니다. - 해당 하위 CA에서 발행한 인증서가 아직 만료되지 않은 동안에는 하위 CA만 비활성화해야 합니다. 하위 CA에서 발급한 모든 인증서가 만료된 경우 해당 하위 CA를 삭제할 수 있습니다.
- IdM CA를 비활성화하거나 삭제할 수 없습니다.
사전 요구 사항
- 관리자로 로그인했습니다.
- IdM CLI에서 하위 CA를 비활성화했습니다. IdM CLI에서 하위 서비스 비활성화 단원을참조하십시오.
절차
-
IdM WebUI에서
인증탭을 열고인증서하위 탭을 선택합니다. -
인증 기관을 선택합니다. 제거할 하위 요소를 선택하고
삭제를클릭합니다.그림 20.1. IdM 웹 UI에서 하위 CA 삭제
-
삭제를클릭하여 확인합니다.
20.1.3. IdM CLI에서 하위 서비스 생성 링크 복사링크가 클립보드에 복사되었습니다!
IdM CLI를 사용하여 webserver-ca 및 webclient-ca 라는 새 하위 CA를 생성하려면 다음 절차를 따르십시오.
사전 요구 사항
- CA 서버인 IdM 서버에 관리자로 로그인했습니다.
절차
ipa ca-add명령을 입력하고 webserver-ca 하위 CA의 이름과 해당 Subject Distinguished Name(DN)을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 이름
- CA의 이름입니다.
- 권한 ID
- CA의 개별 ID가 자동으로 생성됩니다.
- 제목 dn
- DN( subject Distinguished Name)입니다. 주체 DN은 IdM CA 인프라에서 고유해야 합니다.
- 발행자 DN
- 하위 CA 인증서를 발급한 상위 CA입니다. 모든 하위 서비스는 IdM 루트 CA의 하위로 생성됩니다.
웹 클라이언트에 인증서를 발행할 webclient-ca 하위 CA를 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa-certupdate 명령을 실행하여 webserver-ca 및 webclient-ca 하위 CA 인증서에 대한 certmonger 추적 요청을 생성합니다.
ipa-certupdate
[root@ipaserver ~]# ipa-certupdateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요하위 CA 및 하위 CA 인증서를 생성한 후 ipa-certupdate 명령을 실행하는 것을 잊어 버린 경우, 엔드-센티 인증서가 만료되지 않은 경우에도 해당 하위 계정에서 발급한 엔드-엔티 인증서가 유효하지 않은 것으로 간주됩니다.
검증
새 하위 CA의 서명 인증서가 IdM 데이터베이스에 추가되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고새 하위 CA 인증서는 인증서 시스템 인스턴스가 설치된 모든 복제본으로 자동 전송됩니다.
20.1.4. IdM CLI에서 하위 서비스 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
IdM CLI에서 하위 CA를 비활성화하려면 다음 절차를 따르십시오. 하위 CA에서 발급한 만료되지 않은 인증서가 여전히 있는 경우 삭제할 수는 없지만 비활성화할 수 있습니다. 서브-CA를 삭제하면 해당 하위 서비스에 대한 해지 검사가 더 이상 작동하지 않습니다.
사전 요구 사항
- 관리자로 로그인했습니다.
절차
ipa ca-find명령을 실행하여 삭제 중인 하위 CA의 이름을 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa ca-disable명령을 실행하여 하위 CA(이 예에서는webserver-ca)를 비활성화합니다.ipa ca-disable webserver-ca -------------------------- Disabled CA "webserver-ca" --------------------------
ipa ca-disable webserver-ca -------------------------- Disabled CA "webserver-ca" --------------------------Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20.1.5. IdM CLI에서 하위 CA 삭제 링크 복사링크가 클립보드에 복사되었습니다!
IdM CLI에서 경량 하위 CA를 삭제하려면 다음 절차를 따르십시오.
-
하위 CA를 삭제하면 해당 하위 서비스에 대한 해지 검사가 더 이상 작동하지 않습니다. 향후 만료 시간이
아닌해당 하위 CA에서 발급한 인증서가 더 이상 없는 경우에만 하위 CA를 삭제합니다. - 해당 하위 CA에서 발행한 인증서가 아직 만료되지 않은 동안에는 하위 CA만 비활성화해야 합니다. 하위 CA에서 발급한 모든 인증서가 만료된 경우 해당 하위 CA를 삭제할 수 있습니다.
- IdM CA를 비활성화하거나 삭제할 수 없습니다.
사전 요구 사항
- 관리자로 로그인했습니다.
절차
하위 CA 및 CA 목록을 표시하려면
ipa ca-find명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa ca-disable명령을 실행하여 하위 CA(이 예에서는webserver-ca)를 비활성화합니다.ipa ca-disable webserver-ca
# ipa ca-disable webserver-ca -------------------------- Disabled CA "webserver-ca" --------------------------Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 sub-CA를 삭제합니다.
webserver-ca:ipa ca-del webserver-ca
# ipa ca-del webserver-ca ------------------------- Deleted CA "webserver-ca" -------------------------Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
ipa ca-find를 실행하여 CA 및 하위 CA 목록을 표시합니다.webserver-ca는 더 이상 목록에 없습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20.2. IdM WebUI에서 하위 CA 인증서 다운로드 링크 복사링크가 클립보드에 복사되었습니다!
사전 요구 사항
- 관리자로 로그인했습니다.
절차
인증 메뉴에서 인증서 > 인증서를 클릭합니다.
그림 20.2. 인증서 목록의 하위 CA 인증서
- 하위 CA 인증서의 일련 번호를 클릭하여 인증서 정보 페이지를 엽니다.
- 인증서 정보 페이지에서 작업 > 다운로드를 클릭합니다.
CLI에서 하위 CA 인증서를
/etc/pki/tls/private/디렉터리로 이동합니다.mv path/to/the/downloaded/certificate /etc/pki/tls/private/sub-ca.crt
# mv path/to/the/downloaded/certificate /etc/pki/tls/private/sub-ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
20.3. 웹 서버 및 클라이언트 인증을 위한 CA ACL 생성 링크 복사링크가 클립보드에 복사되었습니다!
CA ACL(인증 기관 액세스 제어 목록) 규칙은 사용자, 서비스 또는 호스트를 발급하는 데 사용할 수 있는 프로필을 정의합니다. CA ACL을 사용하면 프로필, 주체 및 그룹을 연결하면 보안 주체 또는 그룹이 특정 프로필을 사용하여 인증서를 요청할 수 있습니다.
예를 들어, CA ACL을 사용하여, 관리자는 런던에 위치한 사무실에서 런던 관련 그룹의 멤버인 사용자에게만 사용할 수 있는 프로필 사용을 제한할 수 있습니다.
20.3.1. IdM CLI에서 CA ACL 보기 링크 복사링크가 클립보드에 복사되었습니다!
IdM 배포에서 사용 가능한 인증 기관 액세스 제어 목록(CA ACL) 목록과 특정 CA ACL의 세부 정보를 보려면 다음 절차를 따르십시오.
절차
IdM 환경의 모든 CA ACL을 보려면
ipa caacl-find명령을 입력합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA ACL의 세부 정보를 보려면
ipa caacl-show명령을 입력하고 CA ACL 이름을 지정합니다. 예를 들어 hosts_services_caIPAserviceCert CA ACL의 세부 정보를 보려면 다음을 입력합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20.3.2. webserver-ca에서 발급한 인증서를 사용하여 웹 클라이언트에 인증하는 웹 서버의 CA ACL 생성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 시스템 관리자가 HTTP/my_company.idm.example.com@IDM.EXAMPLE.COM 서비스에 대한 인증서를 요청할 때 webserver-ca 하위 CA 및 caIPAserviceCert 프로필을 사용해야 하는 CA ACL을 생성합니다. 사용자가 다른 하위 CA 또는 다른 프로필의 인증서를 요청하면 요청이 실패합니다. 유일한 예외는 활성화된 또 다른 일치하는 CA ACL이 있는 경우입니다. 사용 가능한 CA ACL을 보려면 IdM CLI에서 CA ACL 보기를 참조하십시오.
사전 요구 사항
- HTTP/my_company.idm.example.com@IDM.EXAMPLE.COM 서비스는 IdM의 일부입니다.
- 관리자로 로그인했습니다.
절차
ipa caacl명령을 사용하여 CA ACL을 생성하고 해당 이름을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa caacl-mod명령을 사용하여 CA ACL을 수정하여 CA ACL에 대한 설명을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow webserver-ca 하위 CA를 CA ACL에 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa caacl-add-service를 사용하여 보안 주체가 인증서를 요청할 수 있는 서비스를 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa caacl-add-profile명령을 사용하여 요청된 인증서에 대한 인증서 프로필을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새로 생성된 CA ACL을 즉시 사용할 수 있습니다. 기본적으로 생성 후 활성화됩니다.
CA ACL은 특정 주체 또는 그룹의 요청에 허용되는 CA 및 프로필 조합을 지정하는 것입니다. CA ACL은 인증서 검증 또는 신뢰에 영향을 미치지 않습니다. 발급된 인증서 사용 방법에는 영향을 미치지 않습니다.
20.3.3. webclient-ca에서 발급한 인증서를 사용하여 웹 서버에 인증하는 사용자 웹 브라우저에 대한 CA ACL 생성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 시스템 관리자가 인증서를 요청할 때 webclient-ca 하위 CA 및 Cryostat UserRoles 프로필을 사용해야 하는 CA ACL을 생성합니다. 사용자가 다른 하위 CA 또는 다른 프로필의 인증서를 요청하면 요청이 실패합니다. 유일한 예외는 활성화된 또 다른 일치하는 CA ACL이 있는 경우입니다. 사용 가능한 CA ACL을 보려면 IdM CLI에서 CA ACL 보기를 참조하십시오.
사전 요구 사항
- 관리자로 로그인했습니다.
절차
ipa caacl명령을 사용하여 CA ACL을 생성하고 해당 이름을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa caacl-mod명령을 사용하여 CA ACL을 수정하여 CA ACL에 대한 설명을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow webclient-ca 하위 CA를 CA ACL에 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa caacl-add-profile명령을 사용하여 요청된 인증서에 대한 인증서 프로필을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa caacl-mod명령을 사용하여 CA ACL을 수정하여 모든 IdM 사용자에게 CA ACL을 적용하도록 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새로 생성된 CA ACL을 즉시 사용할 수 있습니다. 기본적으로 생성 후 활성화됩니다.
CA ACL은 특정 주체 또는 그룹의 요청에 허용되는 CA 및 프로필 조합을 지정하는 것입니다. CA ACL은 인증서 검증 또는 신뢰에 영향을 미치지 않습니다. 발급된 인증서 사용 방법에는 영향을 미치지 않습니다.
20.4. certmonger를 사용하여 서비스에 대한 IdM 인증서 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
IdM 클라이언트에서 실행되는 브라우저와 웹 서비스 간의 통신을 보호 및 암호화하려면 TLS 인증서를 사용하십시오. webserver-ca 하위 계정에서 발급한 인증서를 신뢰하도록 웹 브라우저에 제한하지만 다른 IdM 하위 CA는 없는 경우 webserver-ca 하위 CA에서 웹 서비스에 대한 TLS 인증서를 받으십시오.
IdM 클라이언트에서 실행 중인 서비스의 IdM 인증서(HTTP/my_company.idm.example.com@IDM.EXAMPLE.COM)를 받으려면 certmonger 를 사용하십시오.
certmonger 를 사용하여 인증서를 자동으로 요청하면 certmonger 가 인증서를 갱신할 때 인증서를 관리하고 갱신할 수 있습니다.
certmonger 가 서비스 인증서를 요청할 때 발생하는 상황을 시각적으로 표현하려면 서비스 인증서를 요청하는 certmonger의 통신 흐름을 참조하십시오.
사전 요구 사항
- 웹 서버는 IdM 클라이언트로 등록됩니다.
- 프로시저를 실행하는 IdM 클라이언트에 대한 루트 액세스 권한이 있습니다.
- 인증서를 요청하는 서비스는 IdM에 사전 존재할 필요가 없습니다.
절차
HTTP서비스가 실행 중인my_company.idm.example.comIdM 클라이언트에서HTTP/my_company.idm.example.com@IDM.EXAMPLE.COMprincipal에 해당하는 서비스의 인증서를 요청하고 이를 지정합니다.-
인증서는 로컬
/etc/pki/tls/certs/httpd.pem파일에 저장됩니다. -
개인 키는 로컬
/etc/pki/tls/private/httpd.key파일에 저장해야 합니다. -
webserver-ca하위 시스템은 발급 인증 기관입니다. SubjectAltName에 대한 extensionRequest가my_company.idm.example.com의 DNS 이름으로 서명 요청에 추가됩니다.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 -X webserver-ca -C "systemctl restart httpd"
# 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 -X webserver-ca -C "systemctl restart httpd" New signing request "20190604065735" added.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 위 명령에서 다음을 수행합니다.
-
ipa-getcert request명령은 IdM CA에서 인증서를 가져올 수 있도록 지정합니다.ipa-getcert request명령은getcert request -c IPA를 위한 바로 가기입니다. -
g옵션은 아직 없는 경우 생성할 키 크기를 지정합니다. -
-D옵션은 요청에 추가할SubjectAltNameDNS 값을 지정합니다. -
X
옵션은 인증서 발행자가ipa가 아닌webserver-ca여야 함을 지정합니다. -
c 옵션은 인증서를 가져온 후
certmonger에httpd서비스를 다시 시작하도록 지시합니다.
-
특정 프로필로 인증서를 발급하도록 지정하려면
-T옵션을 사용합니다.
참고RHEL 8은 RHEL 7에서 사용되는 Apache와 다른 SSL 모듈을 사용합니다. SSL 모듈은 NSS가 아닌 OpenSSL에 의존합니다. 이러한 이유로 RHEL 8에서는 NSS 데이터베이스를 사용하여
HTTPS인증서와 개인 키를 저장할 수 없습니다.-
-
인증서는 로컬
선택 사항: 요청 상태를 확인하려면 다음을 수행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에 요청이
MONITORING상태임을 보여줍니다. 즉, 인증서를 가져왔음이 표시됩니다. 키 쌍과 인증서의 위치는 요청된 위치입니다.
20.5. 서비스 인증서를 요청하는 certmonger의 통신 흐름 링크 복사링크가 클립보드에 복사되었습니다!
이러한 다이어그램은 certmonger 에서 IdM(Identity Management) 인증 기관(CA) 서버에서 서비스 인증서를 요청할 때 발생하는 단계를 보여줍니다. 시퀀스는 다음 다이어그램으로 구성됩니다.
다이어그램에서 webserver-ca 하위 CA는 일반 IdM CA 서버로 표시됩니다.
암호화되지 않은 통신은 초기 상황을 보여줍니다. HTTPS 인증서가 없으면 웹 서버와 브라우저 간의 통신이 암호화되지 않습니다.
그림 20.3. 암호화되지 않은 통신
certmonger에서 서비스 인증서를 요청하는 것은 certmonger 를 사용하여 Apache 웹 서버에 대한 HTTPS 인증서를 수동으로 요청하는 시스템 관리자에게 표시됩니다. 웹 서버 인증서를 요청할 때 certmonger는 CA와 직접 통신하지 않습니다. IdM을 통해 프록시합니다.
그림 20.4. 서비스 인증서를 요청하는 certmonger
서비스 인증서를 발행하는 IdM CA 에서 웹 서버의 HTTPS 인증서를 발행하는 IdM CA가 표시됩니다.
그림 20.5. 서비스 인증서 발행 IdM CA
certmonger 에서 서비스 인증서를 적용하는 경우 IdM 클라이언트의 적절한 위치에 HTTPS 인증서를 배치하고 이를 수행하라는 지침이 나타나면 httpd 서비스를 다시 시작합니다. 이후 Apache 서버는 HTTPS 인증서를 사용하여 자체와 브라우저 간의 트래픽을 암호화합니다.
그림 20.6. 서비스 인증서 적용 certmonger
certmonger에서 이전 만료일이 가까워지면 certmonger 에서 인증서가 만료되기 전에 IdM CA에서 서비스 인증서 갱신을 자동으로 요청합니다. IdM CA는 새 인증서를 발행합니다.
그림 20.7. 이전 인증서가 만료될 때 새 인증서를 요청합니다.
20.6. 단일 인스턴스 Apache HTTP Server 설정 링크 복사링크가 클립보드에 복사되었습니다!
정적 HTML 콘텐츠를 제공하도록 단일 인스턴스 Apache HTTP Server를 설정할 수 있습니다.
웹 서버가 서버와 연결된 모든 도메인에 동일한 콘텐츠를 제공해야 하는 경우 절차를 따르십시오. 도메인마다 다른 콘텐츠를 제공하려면 이름 기반 가상 호스트를 설정합니다. 자세한 내용은 Apache 이름 기반 가상 호스트 구성을 참조하십시오.
절차
httpd패키지를 설치합니다.yum install httpd
# yum install httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow firewalld를 사용하는 경우 로컬 방화벽에서 TCP 포트80을 엽니다.firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload
# firewall-cmd --permanent --add-port=80/tcp # firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow httpd서비스를 활성화하고 시작합니다.systemctl enable --now httpd
# systemctl enable --now httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: HTML 파일을
/var/www/html/디렉터리에 추가합니다.참고콘텐츠를
/var/www/html/에 추가할 때 기본적으로httpd가 실행되는 사용자가 파일 및 디렉터리를 읽을 수 있어야 합니다. 콘텐츠 소유자는root사용자 및root사용자 그룹 또는 관리자가 선택한 다른 사용자 또는 그룹일 수 있습니다. 콘텐츠 소유자가root사용자 및root사용자 그룹인 경우 다른 사용자가 파일을 읽을 수 있어야 합니다. 모든 파일 및 디렉터리에 대한 SELinux 컨텍스트는 기본적으로/var/www디렉터리 내의 모든 콘텐츠에 적용되는httpd_sys_content_t이어야 합니다.
검증
웹 브라우저에
http://my_company.idm.example.com/또는http://server_IP/에 연결합니다./var/www/html/디렉터리가 비어 있거나index.html또는index.htm파일이 포함되어 있지 않은 경우 Apache에서Red Hat Enterprise Linux Test Page를 표시합니다./var/www/html/에 다른 이름이 있는 HTML 파일이 포함된 경우http://server_IP/example.html또는http://my_company.idm.example.com/example.html과 같은 해당 파일에 URL을 입력하여 로드할 수 있습니다.
20.7. Apache HTTP Server에 TLS 암호화 추가 링크 복사링크가 클립보드에 복사되었습니다!
my_company.idm.example.com Apache HTTP Server에서 idm.example.com 도메인에 TLS 암호화를 활성화할 수 있습니다.
사전 요구 사항
-
my_company.idm.example.comApache HTTP Server가 설치되고 실행됩니다. -
webserver-ca 하위 CA에서 TLS 인증서를 가져 와서 certmonger를 사용하여 서비스에 대한 IdM 인증서 가져오기 에 설명된 대로
/etc/pki/tls/certs/httpd.pem파일에 저장했습니다. 다른 경로를 사용하는 경우 절차의 해당 단계를 조정합니다. -
해당 개인 키는
/etc/pki/tls/private/httpd.key파일에 저장됩니다. 다른 경로를 사용하는 경우 절차의 해당 단계를 조정합니다. -
webserver-ca CA 인증서는
/etc/pki/tls/private/sub-ca.crt파일에 저장됩니다. 다른 경로를 사용하는 경우 절차의 해당 단계를 조정합니다. - 클라이언트와 my_company.idm.example.com 웹 서버는 서버의 호스트 이름을 웹 서버의 IP 주소로 확인합니다.
절차
mod_ssl패키지를 설치합니다.yum install mod_ssl
# yum install mod_sslCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/httpd/conf.d/ssl.conf파일을 편집하고 다음 설정을<VirtualHost _default_:443>지시문에 추가합니다.서버 이름을 설정합니다.
ServerName my_company.idm.example.com
ServerName my_company.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
중요서버 이름은 인증서의
Common Name필드에 설정된 항목과 일치해야 합니다.선택 사항: 인증서에 SAN(
Subject Alt Names) 필드에 추가 호스트 이름이 포함된 경우 이러한 호스트 이름에도 TLS 암호화를 제공하도록mod_ssl을 구성할 수 있습니다. 이를 구성하려면 해당 이름으로ServerAliases매개변수를 추가합니다.ServerAlias www.my_company.idm.example.com server.my_company.idm.example.com
ServerAlias www.my_company.idm.example.com server.my_company.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 개인 키, 서버 인증서 및 CA 인증서에 대한 경로를 설정합니다.
SSLCertificateKeyFile "/etc/pki/tls/private/httpd.key" SSLCertificateFile "/etc/pki/tls/certs/httpd.pem" SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
SSLCertificateKeyFile "/etc/pki/tls/private/httpd.key" SSLCertificateFile "/etc/pki/tls/certs/httpd.pem" SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
보안상의 이유로
root사용자만 개인 키 파일에 액세스할 수 있도록 구성합니다.chown root:root /etc/pki/tls/private/httpd.key chmod 600 //etc/pki/tls/private/httpd.key
# chown root:root /etc/pki/tls/private/httpd.key # chmod 600 //etc/pki/tls/private/httpd.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 주의권한이 없는 사용자가 개인 키에 액세스한 경우 인증서를 취소하고 새 개인 키를 만들고 새 인증서를 요청합니다. 그렇지 않으면 TLS 연결이 더 이상 안전하지 않습니다.
firewalld를 사용하는 경우 로컬 방화벽에서 포트443을 엽니다.firewall-cmd --permanent --add-port=443/tcp firewall-cmd --reload
# firewall-cmd --permanent --add-port=443/tcp # firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow httpd서비스를 다시 시작합니다.systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고개인 키 파일을 암호로 보호한 경우
httpd서비스가 시작될 때마다 이 암호를 입력해야 합니다.-
브라우저를 사용하고
https://my_company.idm.example.com에 연결합니다.
-
브라우저를 사용하고
20.8. Apache HTTP Server에서 지원되는 TLS 프로토콜 버전 설정 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 RHEL의 Apache HTTP Server는 최신 브라우저와 호환되는 안전한 기본값을 정의하는 시스템 전체 암호화 정책을 사용합니다. 예를 들어 DEFAULT 정책은 apache에서 TLSv1.2 및 TLSv1.3 프로토콜 버전만 사용하도록 정의합니다.
my_company.idm.example.com Apache HTTP Server에서 지원하는 TLS 프로토콜 버전을 수동으로 구성할 수 있습니다. 환경에서 특정 TLS 프로토콜 버전만 활성화해야 하는 경우 절차를 따르십시오. 예를 들면 다음과 같습니다.
-
환경에 해당 클라이언트가 클라이언트가 취약한
TLS1(TLSv1.0) 또는TLS1.1프로토콜을 사용할 수도 있어야 하는 경우 -
Apache가
TLSv1.2또는TLSv1.3프로토콜만 지원하도록 구성하려는 경우
사전 요구 사항
절차
/etc/httpd/conf/httpd.conf파일을 편집하고 다음 설정을 TLS 프로토콜 버전을 설정하려는<VirtualHost>지시문에 추가합니다. 예를 들어TLSv1.3프로토콜만 활성화하려면 다음을 수행합니다.SSLProtocol -All TLSv1.3
SSLProtocol -All TLSv1.3Copy to Clipboard Copied! Toggle word wrap Toggle overflow httpd서비스를 다시 시작합니다.systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 사용하여 서버가
TLSv1.3을 지원하는지 확인합니다:openssl s_client -connect example.com:443 -tls1_3
# openssl s_client -connect example.com:443 -tls1_3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 서버가
TLSv1.2를 지원하지 않는지 확인합니다.openssl s_client -connect example.com:443 -tls1_2
# openssl s_client -connect example.com:443 -tls1_2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서버가 프로토콜을 지원하지 않으면 명령에서 오류를 반환합니다.
140111600609088:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:ssl/record/rec_layer_s3.c:1543:SSL alert number 70
140111600609088:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:ssl/record/rec_layer_s3.c:1543:SSL alert number 70Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 선택 사항: 다른 TLS 프로토콜 버전에 대해 명령을 반복합니다.
20.9. Apache HTTP Server에서 지원되는 암호 설정 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 Apache HTTP 서버는 최근 브라우저와 호환되는 안전한 기본값을 정의하는 시스템 전체 암호화 정책을 사용합니다. 시스템 전체에서 허용하는 암호 목록은 /etc/crypto-policies/back-ends/openssl.config 파일을 참조하십시오.
my_company.idm.example.com Apache HTTP 서버가 지원하는 암호를 수동으로 구성할 수 있습니다. 환경에 특정 암호가 필요한 경우 절차를 따르십시오.
사전 요구 사항
절차
/etc/httpd/conf/httpd.conf파일을 편집하고SSLCipherSuite매개변수를 TLS 암호를 설정하려는<VirtualHost>지시문에 추가합니다.SSLCipherSuite "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!SHA1:!SHA256"
SSLCipherSuite "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!SHA1:!SHA256"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는
EECDH+AESGCM,EDH+AESGCM,AES256+EECDH및AES256+EDH암호만 활성화하며SHA1및SHA256메시지 인증 코드(MAC)를 사용하는 모든 암호를 비활성화합니다.httpd서비스를 다시 시작합니다.systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
Apache HTTP Server에서 지원하는 암호 목록을 표시하려면 다음을 수행합니다.
nmap패키지를 설치합니다.yum install nmap
# yum install nmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow nmap유틸리티를 사용하여 지원되는 암호를 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20.10. TLS 클라이언트 인증서 인증 구성 링크 복사링크가 클립보드에 복사되었습니다!
클라이언트 인증서 인증을 통해 관리자는 인증서를 사용하여 인증하는 사용자만 my_company.idm.example.com 웹 서버의 리소스에 액세스할 수 있도록 허용할 수 있습니다. /var/www/html/Example/ 디렉터리에 대한 클라이언트 인증서 인증을 구성할 수 있습니다.
my_company.idm.example.com Apache 서버에서 TLS 1.3 프로토콜을 사용하는 경우 특정 클라이언트에 추가 구성이 필요합니다. 예를 들어 Firefox에서 about:config 메뉴의 security.tls.enable_post_handshake_auth 매개 변수를 true로 설정합니다. 자세한 내용은 Red Hat Enterprise Linux 8의 전송 계층 보안 버전 1.3을 참조하십시오.
사전 요구 사항
절차
/etc/httpd/conf/httpd.conf파일을 편집하고 다음 설정을 클라이언트 인증을 구성하려는<VirtualHost>지시문에 추가합니다.<Directory "/var/www/html/Example/"> SSLVerifyClient require </Directory>
<Directory "/var/www/html/Example/"> SSLVerifyClient require </Directory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSLverifyClient require를 설정해야 클라이언트가/var/www/html/Example/디렉터리의 콘텐츠에 액세스하기 전에 서버가 클라이언트 인증서의 유효성을 검사해야 합니다.httpd서비스를 다시 시작합니다.systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
curl유틸리티를 사용하여 클라이언트 인증 없이https://my_company.idm.example.com/Example/URL에 액세스합니다.curl https://my_company.idm.example.com/Example/
$ curl https://my_company.idm.example.com/Example/ curl: (56) OpenSSL SSL_read: error:1409445C:SSL routines:ssl3_read_bytes:tlsv13 alert certificate required, errno 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 오류는 my_company.idm.example.com 웹 서버에 클라이언트 인증서 인증이 필요함을 나타냅니다.
클라이언트 개인 키 및 인증서와 CA 인증서를
curl에 전달하여 클라이언트 인증으로 동일한 URL에 액세스합니다.curl --cacert ca.crt --key client.key --cert client.crt https://my_company.idm.example.com/Example/
$ curl --cacert ca.crt --key client.key --cert client.crt https://my_company.idm.example.com/Example/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 요청이 성공하면
curl은/var/www/html/Example/디렉터리에 저장된index.html파일을 표시합니다.
20.11. 새 사용자 인증서를 요청하고 클라이언트로 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 관리자는 IdM 클라이언트에서 실행 중인 웹 서버를 구성하여 웹 브라우저를 사용하여 특정 IdM 하위 CA에서 발급한 인증서로 인증하는 사용자를 요청할 수 있습니다. 다음 절차에 따라 특정 IdM 하위 CA에서 사용자 인증서를 요청하고 인증서와 해당 개인 키를 사용자가 웹 브라우저를 사용하여 웹 서버에 액세스하려는 호스트로 내보냅니다. 인증서와 개인 키를 브라우저로 가져옵니다.
절차
선택 사항: 새 디렉터리(예:
~/certdb/)를 만들고 임시 인증서 데이터베이스로 설정합니다. 메시지가 표시되면 NSS 인증서 DB 암호를 생성하여 후속 단계에서 생성할 인증서의 키를 암호화하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR(인증서 서명 요청)을 생성하고 출력을 파일로 리디렉션합니다. 예를 들어
IDM.EXAMPLE.COM영역에서idm_user사용자에 대한4096비트 인증서에 대한certificate_request.csr이라는 이름으로 CSR을 생성하려면 인증서 개인 키의 nickname을idm_user로 설정하고 주체를CN=id_user,OID_user,=OIDM.AMPLE :COM :COM :COM 영역에서 설정할 수 있습니다.certutil -R -d ~/certdb/ -a -g 4096 -n idm_user -s "CN=idm_user,O=IDM.EXAMPLE.COM" > certificate_request.csr
# certutil -R -d ~/certdb/ -a -g 4096 -n idm_user -s "CN=idm_user,O=IDM.EXAMPLE.COM" > certificate_request.csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 메시지가 표시되면
certutil을 사용하여 임시 데이터베이스를 생성할 때 입력한 것과 동일한 암호를 입력합니다. 그런 다음 중지하도록 지시될 때까지 무작위로 입력합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서 요청 파일을 서버에 제출합니다. 새로 발행된 인증서, 인증서를 저장할 출력 파일, 인증서 프로필을 선택적으로 연결할 Kerberos 주체를 지정합니다. 인증서를 발행할 IdM 하위 CA를 지정합니다. 예를 들어,
IECUserRoles프로필의 인증서를 가져오려면webclient-ca에서idm_user@IDM.EXAMPLE.COM주체에 대한 사용자 역할 확장자가 추가된 프로파일, webclient-user.pem 파일의 인증서를 저장합니다.ipa cert-request certificate_request.csr --principal=idm_user@IDM.EXAMPLE.COM --profile-id=IECUserRoles --ca=webclient-ca --certificate-out=~/idm_user.pem
# ipa cert-request certificate_request.csr --principal=idm_user@IDM.EXAMPLE.COM --profile-id=IECUserRoles --ca=webclient-ca --certificate-out=~/idm_user.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow NSS 데이터베이스에 인증서를 추가합니다. 인증서가 NSS 데이터베이스의 개인 키와 일치하도록 이전에 CSR을 생성할 때 사용한 것과 동일한 닉네임을 설정하려면
-n옵션을 사용합니다.-t옵션은 신뢰 수준을 설정합니다. 자세한 내용은 certutil(1) 매뉴얼 페이지를 참조하십시오. i 옵션은 입력 인증서 파일을 지정합니다.예를 들어, NSS 데이터베이스에 추가하려면~/certdb/데이터베이스의~/nickname이 있는 인증서를 사용합니다.idm_user.pem 파일에 저장된 idm_usercertutil -A -d ~/certdb/ -n idm_user -t "P,," -i ~/idm_user.pem
# certutil -A -d ~/certdb/ -n idm_user -t "P,," -i ~/idm_user.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow NSS 데이터베이스의 키가 별 이름으로 표시되지 않는지 확인합니다.
예를 들어~/certdb/데이터베이스에 저장된 인증서가 분리되지 않았는지 확인하려면 다음을 수행합니다.certutil -K -d ~/certdb/
# certutil -K -d ~/certdb/ < 0> rsa 5ad14d41463b87a095b1896cf0068ccc467df395 NSS Certificate DB:idm_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow pk12util명령을 사용하여 NSS 데이터베이스에서 PKCS12 형식으로 인증서를 내보냅니다. 예를 들어/root/certdbNSS 데이터베이스에서idm_usernickname이 있는 인증서를~/idm_user.p12파일로 내보내려면 다음을 실행합니다.pk12util -d ~/certdb -o ~/idm_user.p12 -n idm_user
# pk12util -d ~/certdb -o ~/idm_user.p12 -n idm_user Enter Password or Pin for "NSS Certificate DB": Enter password for PKCS12 file: Re-enter password: pk12util: PKCS12 EXPORT SUCCESSFULCopy to Clipboard Copied! Toggle word wrap Toggle overflow idm_user의 인증서 인증을 활성화할 호스트로 인증서를 전송합니다.scp ~/idm_user.p12 idm_user@client.idm.example.com:/home/idm_user/
# scp ~/idm_user.p12 idm_user@client.idm.example.com:/home/idm_user/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서가 전송된 호스트에서 .pkcs12 파일이 보안상의 이유로 'other' 그룹에 액세스할 수 없는 디렉터리로 설정합니다.
chmod o-rwx /home/idm_user/
# chmod o-rwx /home/idm_user/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 보안상의 이유로 서버에서 임시 NSS 데이터베이스와 .pkcs12 파일을 제거하십시오.
rm ~/certdb/ rm ~/idm_user.p12
# rm ~/certdb/ # rm ~/idm_user.p12Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20.12. 인증서 인증을 사용하도록 브라우저 구성 링크 복사링크가 클립보드에 복사되었습니다!
WebUI를 사용하여 IdM(Identity Management)에 로그인할 때 인증서로 인증하려면 사용자 및 관련 CA(인증 기관) 인증서를 Mozilla Firefox 또는 Google Chrome 브라우저로 가져와야 합니다. 브라우저가 실행 중인 호스트 자체는 IdM 도메인의 일부가 될 필요가 없습니다.
IdM은 WebUI에 연결하기 위해 다음 브라우저를 지원합니다.
- Mozilla Firefox 38 이상
- Google Chrome 46 이상
다음 절차는 Mozilla Firefox 57.0.1 브라우저를 구성하는 방법을 보여줍니다.
사전 요구 사항
- PKCS#12 형식으로 사용 중인 브라우저로 가져오려는 사용자 인증서가 있습니다.
- 하위 CA 인증서를 다운로드하여 PEM 형식으로 처리했습니다.
절차
Firefox를 연 다음
기본 설정→개인 정보 보호 및 보안으로 이동합니다.그림 20.8. 환경 설정의 개인 정보 보호 및 보안 섹션
클릭합니다.
그림 20.9. 개인 정보 보호 및 보안에서 인증서 보기
-
사용자
인증서탭에서 를 클릭합니다. PKCS12 형식으로 사용자의 인증서를 찾아 연 다음 및 를 클릭합니다. IdM 하위 CA가 Firefox에서 신뢰할 수 있는 기관으로 인식되도록 하려면 신뢰할 수 있는 인증 기관 인증서로 IdM WebUI에서 하위 CA 인증서를 다운로드할 때 저장한 IdM 하위 CA 인증서를 가져옵니다.
Firefox를 열고 기본 설정으로 이동하여 클릭합니다.
그림 20.10. 환경 설정의 개인 정보 보호 및 보안 섹션
클릭합니다.
그림 20.11. 개인 정보 보호 및 보안에서 인증서 보기
-
Authorities(권한) 탭에서 를 클릭합니다. 하위 CA 인증서를 찾아 엽니다. 인증서를 신뢰하여 웹 사이트를 확인한 다음 을 클릭합니다.
22장. Ansible을 사용하여 IdM 인증서 관리 링크 복사링크가 클립보드에 복사되었습니다!
ansible-freeipa ipacert 모듈을 사용하여 IdM(Identity Management) 사용자, 호스트 및 서비스에 대한 SSL 인증서를 요청, 취소 및 검색할 수 있습니다. 보류 중인 인증서를 복원할 수도 있습니다.
22.1. Ansible을 사용하여 IdM 호스트, 서비스 및 사용자에 대한 SSL 인증서 요청 링크 복사링크가 클립보드에 복사되었습니다!
ansible-freeipa ipacert 모듈을 사용하여 IdM(Identity Management) 사용자, 호스트 및 서비스에 대한 SSL 인증서를 요청할 수 있습니다. 그런 다음 이러한 인증서를 사용하여 IdM에 인증할 수 있습니다.
Ansible 플레이북을 사용하여 IdM 인증 기관(CA)에서 HTTP 서버의 인증서를 요청하려면 다음 절차를 완료합니다.
사전 요구 사항
제어 노드에서 다음을 수행합니다.
- Ansible 버전 2.13 이상을 사용하고 있습니다.
-
ansible-freeipa패키지가 설치되어 있습니다. - ~/MyPlaybooks/ 디렉터리에 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했습니다.
-
ipaadmin_password를 secret.yml Ansible vault에 저장했습니다.
- IdM 배포에 통합 CA가 있습니다.
절차
사용자, 호스트 또는 서비스에 대한 CSR(인증서 서명 요청)을 생성합니다. 예를 들어
openssl유틸리티를 사용하여 client.idm.example.com에서 실행되는HTTP서비스에 대한 CSR을 생성하려면 다음을 입력합니다.openssl req -new -newkey rsa:2048 -days 365 -nodes -keyout new.key -out new.csr -subj '/CN=client.idm.example.com,O=IDM.EXAMPLE.COM'
# openssl req -new -newkey rsa:2048 -days 365 -nodes -keyout new.key -out new.csr -subj '/CN=client.idm.example.com,O=IDM.EXAMPLE.COM'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 결과적으로 CSR은 new.csr 에 저장됩니다.
다음 내용으로 Ansible 플레이북 파일 request-certificate.yml 을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서 요청을 new.csr 의 CSR으로 바꿉니다.
인증서를 요청합니다.
ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/request-certificate.yml
$ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/request-certificate.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
22.2. Ansible을 사용하여 IdM 호스트, 서비스 및 사용자의 SSL 인증서 취소 링크 복사링크가 클립보드에 복사되었습니다!
ansible-freeipa ipacert 모듈을 사용하여 IdM(Identity Management) 사용자, 호스트 및 서비스에서 IdM을 인증하는 SSL 인증서를 취소할 수 있습니다.
Ansible 플레이북을 사용하여 HTTP 서버의 인증서를 취소하려면 다음 절차를 완료합니다. 인증서를 취소하는 이유는 "keyCompromise"입니다.
사전 요구 사항
제어 노드에서 다음을 수행합니다.
- Ansible 버전 2.13 이상을 사용하고 있습니다.
-
ansible-freeipa패키지가 설치되어 있습니다. - ~/MyPlaybooks/ 디렉터리에 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했습니다.
-
ipaadmin_password를 secret.yml Ansible vault에 저장했습니다. -
예를 들어
openssl x509 -noout -text -in <path_to_certificate> 명령을 입력하여 인증서의 일련 번호를 가져왔습니다. 이 예에서 인증서의 일련 번호는 123456789입니다.
- IdM 배포에 통합 CA가 있습니다.
절차
다음 콘텐츠를 사용하여 Ansible 플레이북 파일 revoke-certificate.yml 을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서를 취소하십시오.
ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/revoke-certificate.yml
$ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/revoke-certificate.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
22.3. Ansible을 사용하여 IdM 사용자, 호스트 및 서비스의 SSL 인증서 복원 링크 복사링크가 클립보드에 복사되었습니다!
ansible-freeipa ipacert 모듈을 사용하여 IdM(Identity Management) 사용자, 호스트 또는 서비스에서 이전에 IdM을 인증하는 취소된 SSL 인증서를 복원할 수 있습니다.
보류 중인 인증서만 복원할 수 있습니다. 예를 들어 개인 키가 손실되었는지 확실하지 않았기 때문에 보류 중일 수 있습니다. 그러나 이제 키를 복구했으며 그동안 아무나 액세스하지 않았으므로 인증서를 다시 사용하려고 합니다.
Ansible 플레이북을 사용하여 IdM에 등록된 서비스의 인증서를 해제하려면 다음 절차를 완료합니다. 이 예에서는 HTTP 서비스의 인증서를 보류에서 해제하는 방법을 설명합니다.
사전 요구 사항
제어 노드에서 다음을 수행합니다.
- Ansible 버전 2.13 이상을 사용하고 있습니다.
-
ansible-freeipa패키지가 설치되어 있습니다. - ~/MyPlaybooks/ 디렉터리에 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했습니다.
-
ipaadmin_password를 secret.yml Ansible vault에 저장했습니다.
- IdM 배포에 통합 CA가 있습니다.
-
예를 들어
openssl x509 -noout -text -in path/to/certificate명령을 입력하여 인증서의 일련 번호를 가져왔습니다. 이 예에서 인증서 일련 번호는 123456789 입니다.
절차
다음 콘텐츠를 사용하여 Ansible 플레이북 파일 restore-certificate.yml 을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북을 실행합니다.
ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/restore-certificate.yml
$ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/restore-certificate.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
22.4. Ansible을 사용하여 IdM 사용자, 호스트 및 서비스의 SSL 인증서 검색 링크 복사링크가 클립보드에 복사되었습니다!
ansible-freeipa ipacert 모듈을 사용하여 IdM(Identity Management) 사용자, 호스트 또는 서비스에 대해 발행된 SSL 인증서를 검색하고 관리 노드의 파일에 저장할 수 있습니다.
사전 요구 사항
제어 노드에서 다음을 수행합니다.
- Ansible 버전 2.13 이상을 사용하고 있습니다.
-
ansible-freeipa패키지가 설치되어 있습니다. - ~/MyPlaybooks/ 디렉터리에 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했습니다.
-
ipaadmin_password를 secret.yml Ansible vault에 저장했습니다.
-
예를 들어
openssl x509 -noout -text -in <path_to_certificate> 명령을 입력하여 인증서의 일련 번호를 가져왔습니다. 이 예에서 인증서의 일련 번호는 123456789이고 검색된 인증서를 저장하는 파일은 cert.pem 입니다.
절차
다음 콘텐츠를 사용하여 Ansible 플레이북 파일 retrieve-certificate.yml 을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서를 검색합니다.
ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/retrieve-certificate.yml
$ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/retrieve-certificate.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
23장. IdM 상태 점검을 사용하여 인증서 확인 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management)의 Healthcheck 툴을 이해하고 사용하여 certmonger 유틸리티에서 유지 관리하는 IdM 인증서 문제를 식별합니다.
사전 요구 사항
- Healthcheck 툴은 RHEL 8.1 이상에서만 사용할 수 있습니다.
23.1. IdM 인증서 상태 점검 테스트 링크 복사링크가 클립보드에 복사되었습니다!
Healthcheck 툴에는 IdM(Identity Management)의 certmonger 에서 유지 관리하는 인증서의 상태를 확인하기 위한 여러 테스트가 포함되어 있습니다. certmonger에 대한 자세한 내용은 certmonger 를 사용하여 서비스의 IdM 인증서 가져오기를 참조하십시오.
이 테스트 제품군은 인증서 만료, 검증, 신뢰 및 기타 구성을 확인합니다. Healthcheck는 동일한 기본 문제에 대해 여러 오류를 보고할 수 있습니다.
ipa-healthcheck --list-sources 명령의 출력에서 ipahealthcheck.ipa.certs 소스에서 이러한 인증서 테스트를 찾을 수 있습니다.
- IPACertmongerExpirationCheck
이 테스트는
certmonger의 만료를 확인합니다.오류가 보고되면 인증서가 만료됩니다.
경고가 표시되면 인증서가 곧 만료됩니다. 테스트의 인증서 만료 전 28일 이하이면 기본적으로 경고가 표시됩니다.
/etc/ipahealthcheck/ipahealthcheck.conf파일에서 일 수를 구성할 수 있습니다. 파일을 연 후default섹션에 있는cert_expiration_days옵션을 변경합니다.참고certmonger는 인증서 만료에 대한 자체 보기를 로드하고 유지 관리합니다. 이 검사에서는 디스크상의 인증서의 유효성을 검사하지 않습니다.- IPACertfileExpirationCheck
이 테스트에서는 인증서 파일 또는 NSS 데이터베이스에 올바른 액세스 권한이 구성되어 있는지 확인합니다. 이 테스트도 만료되었는지 확인합니다. 따라서 오류 또는 경고 출력에서
msg특성을 주의 깊게 읽으십시오. 메시지는 문제를 지정합니다.참고이 테스트에서는 디스크상의 인증서를 확인합니다. 인증서가 없거나 읽을 수 없는 경우 Healthcheck에서 오류를 반환합니다.
- IPACertNSSTrust
- 이 테스트에서는 NSS 데이터베이스에 저장된 인증서에 대한 신뢰를 분석합니다. NSS 데이터베이스에서 예상되는 추적된 인증서의 경우 Healthcheck은 신뢰를 예상 값과 비교하고 일치하지 않는 인증서에서 오류가 발생합니다.
- IPANSSChainValidation
-
이 테스트는 NSS 인증서의 인증서 체인을 검증합니다. 이 테스트에서는
certutil -V -u V -e -d [dbdir] -n [nickname]명령을 실행합니다. - IPAOpenSSLChainValidation
이 테스트에서는 OpenSSL 인증서의 인증서 체인을 검증합니다. 특히 Healthcheck는 다음 OpenSSL 명령을 실행합니다.
openssl verify -verbose -show_chain -CAfile /etc/ipa/ca.crt [cert file]
openssl verify -verbose -show_chain -CAfile /etc/ipa/ca.crt [cert file]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - IPARAAgent
-
이 테스트는 디스크의 인증서를
uid=ipara,ou=People,o=ipaca의 LDAP의 동등한 레코드와 비교합니다. - IPACertRevocation
-
이 테스트에서는
certmonger에서 유지 관리하는 인증서가 취소되지 않았는지 확인합니다. - IPACertmongerCA
이 테스트는 CA(
인증기관) 구성을 확인합니다. IdM은 CA 없이 인증서를 발행할 수 없습니다.certmonger는 CA 도우미 세트를 유지 관리합니다.IPA라는 CA는 IdM을 통해 호스트 또는 서비스의 인증서를 발행하여 호스트 또는 사용자 주체로 인증합니다.CA 하위 시스템 인증서를 갱신하는
dogtag-ipa-ca-renew도 있습니다.-agent및 dogtag-ipa-renew-agent-reuse
23.2. Healthcheck 도구를 사용하여 인증서 검사 링크 복사링크가 클립보드에 복사되었습니다!
Healthcheck 툴을 사용하여 IdM(Identity Management) 인증서 상태 점검의 독립 실행형 수동 테스트를 실행하려면 다음 절차를 따르십시오.
사전 요구 사항
-
root권한이 있습니다.
절차
다음과 같이 입력합니다.
ipa-healthcheck --source=ipahealthcheck.ipa.certs --failures-only
# ipa-healthcheck --source=ipahealthcheck.ipa.certs --failures-onlyCopy to Clipboard Copied! Toggle word wrap Toggle overflow --source=ipahealthcheck.ipa.certs옵션을 사용하면 IdM Healthcheck에서certmonger인증서 테스트만 수행할 수 있습니다.테스트에 성공하면 빈 괄호가 표시됩니다.
[]
[]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 실패한 테스트에서는 다음 출력을 보여줍니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이
IPACertfileExpirationCheck테스트는 NSS 데이터베이스를 여는 데 실패했습니다.
문제를 확인하려고 할 때 모든 IdM 서버에서 이 Healthcheck 테스트 제품군을 실행합니다.
24장. IdM 상태 점검을 사용하여 시스템 인증서 확인 링크 복사링크가 클립보드에 복사되었습니다!
Healthcheck 툴을 사용하여 IdM(Identity Management)에서 시스템 인증서 문제 식별에 대해 자세히 알아보십시오.
사전 요구 사항
- Healthcheck 툴은 RHEL 8.1 이상에서만 사용할 수 있습니다.
24.1. 시스템 인증서 상태 점검 테스트 링크 복사링크가 클립보드에 복사되었습니다!
상태 점검 툴에는 시스템 또는 Dogtag 인증서를 확인하기 위한 여러 테스트가 포함되어 있습니다.
ipa-healthcheck --list-sources 명령의 출력에서 ipahealthcheck.dogtag.ca 소스에서 모든 인증서 관련 테스트를 찾을 수 있습니다.
- DogtagCertsConfigCheck
이 테스트는 NSS 데이터베이스의 CA(Certificate Authority) 인증서를
CS.cfg에 저장된 동일한 값과 비교합니다. 일치하지 않으면 CA가 시작되지 않습니다.특히, 다음을 확인합니다.
-
auditSigningCert cert-pki-caagainstca.audit_signing.cert -
ocspSigningCert cert-pki-caagainstca.ocsp_signing.cert -
caSigningCert cert-pki-caagainstca.signing.cert -
subsystemCert cert-pki-caagainstca.subsystem.cert -
ca.sslserver.cert에 대한server-Cert cert-pki-ca
KRA(Key Recovery Authority)가 설치된 경우 다음을 확인합니다.
-
transportCert cert-pki-kraagainstca.connector.KRA.transportCert
-
- DogtagCertsConnectivityCheck
이 테스트는 연결을 확인합니다. 이 테스트는 다음을 확인하는
ipa cert-show 1명령과 동일합니다.- Apache의 PKI 프록시 구성
- IdM에서 CA를 찾을 수 있음
- RA 에이전트 클라이언트 인증서
- 요청에 대한 CA 응답의 정확성
이 테스트에서는
ipa cert-show명령을 실행할 수 있고 IdM CA에서 예상되는 응답이 인증서 자체 또는찾을 수 없는응답에서 반환되는지 확인합니다.
24.2. Healthcheck를 사용하여 시스템 인증서 검사 링크 복사링크가 클립보드에 복사되었습니다!
Healthcheck 툴을 사용하여 IdM(Identity Management) 인증서의 독립 실행형 수동 테스트를 실행하려면 다음 절차를 따르십시오.
절차
다음과 같이 입력합니다.
ipa-healthcheck --source=ipahealthcheck.dogtag.ca
# ipa-healthcheck --source=ipahealthcheck.dogtag.caCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
--source=ipahealthcheck.dogtag.ca옵션을 사용하면 Healthcheck가 인증서 테스트만 수행할 수 있습니다.
-
성공적인 테스트의 예는 다음과 같습니다.
실패한 테스트의 예는 다음과 같습니다.
문제를 찾을 때 모든 IdM 서버에서 인증서 테스트를 실행합니다.
25장. IdM에서 내부적으로 사용하는 인증서 이해 링크 복사링크가 클립보드에 복사되었습니다!
CA(통합 인증 기관)를 사용하거나 CA 없이 Red Hat IdM(Identity Management) 서버를 설치할 수 있습니다. IdM에 액세스하고 관리하는 데 필요한 인증서는 CA 통합 여부에 따라 다르게 관리됩니다.
-
통합 CA: certmonger .
certmonger에서 인증서가 자동으로 생성 및 추적됩니다.certmonger는 인증서를 자동으로 갱신하여 IdM 서비스를 계속 사용할 수 있습니다. - CA가 없으면 타사 기관에서 인증서를 요청합니다. 이 경우 만료 시간을 모니터링하고 IdM 서비스의 지속적인 유효성을 보장하기 위해 갱신되어야 합니다.
25.1. IdM의 내부 인증서 정보 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux IdM(Identity Management)은 LDAP 서버 및 HTTP 서버를 포함하여 네트워크를 사용하여 액세스하는 많은 서비스를 사용합니다. 서버 인증서가 필요한 SSL/TLS 포트를 사용하여 이러한 서비스에 액세스합니다. IdM 서버를 설치하는 동안 HTTP 및 LDAP 서버 인증서가 필요합니다.
IdM을 설치하고 구성하는 방법에 따라 여러 가지 방법으로 인증서를 가져올 수 있습니다.
외부 CA에서 자체 서명하거나 서명할 수 있는 통합 CA를 사용하여 다음을 수행합니다. IdM은 IdM에서 관리하는 사용자, 호스트 및 서비스에 대한 모든 인증서를 발행하며 인증서 파일을 제공할 필요가 없습니다.
certmonger는 인증서의 만료 날짜를 자동으로 모니터링하고 필요한 경우 자동으로 갱신됩니다.외부 서명된 CA 사용: 설치는 여러 단계 프로세스입니다.
-
CSR을 생성하려면
--external-ca옵션으로 설치를 실행해야 합니다. - CSR을 외부 CA에 제출하고 발급된 인증서 및 CA 인증서 체인을 PEM 파일 또는 Base64 인코딩 인증서로 검색합니다.
IdM 서버 설치를 다시 실행하여 새로 발급한 CA 인증서 및 CA 체인 파일의 위치와 이름을 지정합니다. IdM 인증 기관은 외부 CA의 하위 CA로 구성되며 이 하위 CA는 필요한 HTTP 및 LDAP 서버 인증서를 발행합니다.
certmonger는 인증서의 만료 날짜를 자동으로 모니터링하고 필요한 경우 자동으로 갱신됩니다.
-
CSR을 생성하려면
CA가 없으면 타사 기관에서 다음 인증서를 요청해야 합니다.
- LDAP 서버 인증서
- Apache 서버 인증서
- PKINIT 인증서
LDAP 및 Apache 서버 인증서를 발급한 CA의 전체 CA 인증서 체인
이러한 인증서는
certmonger에 의해 추적되지 않으며 관리자는 만료 날짜에 도달하기 전에 갱신할 책임이 있습니다.
25.2. IdM 내부 인증서 링크 복사링크가 클립보드에 복사되었습니다!
내부 인증서는 IdM을 설치하는 방법과 해당 설치에 포함된 구성 요소에 따라 달라질 수 있습니다. 해당 설치에 따라 다음 인증서가 시스템에 저장되어 있을 수 있습니다.
IdM CA 인증서
IdM CA 인증서는 다른 모든 인증서에 서명하는 데 IdM에서 사용됩니다. CA가 없는 설치에는 존재하지 않습니다.
| caSigningCert | 설명 |
|---|---|
| 파일 시스템 위치 |
|
| LDAP 위치 |
|
| issuer | 외부 CA에서 자체 서명 또는 서명 |
| 제목 |
이는 기본값이지만 IdM 서버 설치 중에 사용자 지정할 수 있습니다. |
| 추가 정보 |
|
외부 CA 인증서
외부 CA를 사용하는 경우 IdM 인증서를 확인하려면 IdM에서 외부 CA 체인을 사용할 수 있어야 합니다. CA가 없는 설치의 경우 LDAP 및 /etc/ipa/ca.crt 디렉터리에 HTTPD 및 LDAP 인증서를 검증하는 외부 CA 인증서가 다양한 위치에 있어야 합니다.
설치 중에 자동으로 수행되므로 필요한 모든 위치에 외부 CA 인증서를 수동으로 추가할 필요는 없습니다. 그러나 외부 CA 인증서가 나중에 업데이트되면 외부 CA를 사용하여 IdM CA 갱신 서버 인증서 업데이트 단계를 수행하여 새 인증서가 필요한 모든 위치에 추가되었는지 확인해야 합니다.
| 외부 인증서 | 설명 |
|---|---|
| 파일 시스템 위치 |
|
| LDAP 위치 |
|
| issuer | 외부 CA 서명 |
| 제목 | 외부 CA 제목 |
| 추가 정보 |
체인에 DER 형식의 모든 인증서가 있어야 하며 LDAP로 가져와야 합니다. NSS 데이터베이스에 |
하위 시스템 CA 인증서
이 인증서는 LDAP 데이터베이스에 작성할 때 LDAP 서버를 인증하는 데 사용됩니다. 이 인증서는 CA가 없는 설치에는 없습니다.
| subsystemCert | 설명 |
|---|---|
| 파일 시스템 위치 |
|
| LDAP 위치 |
|
| issuer | IPA CA |
| 제목 |
|
| 추가 정보 |
LDAP에서 직렬 및 Blob 불일치를 주의하십시오. 예를 들어 |
감사 서명 인증서
이 인증서는 감사 로그에 서명하는 데 사용됩니다. CA가 없는 설치에는 존재하지 않습니다.
| auditSigningCert | 설명 |
|---|---|
| 파일 시스템 위치 |
|
| LDAP 위치 |
|
| issuer | IPA CA |
| 제목 |
|
| 추가 정보 |
NSS 데이터베이스에 |
OCSP 서명 인증서
이 인증서는 OCSP(Online Certificate Status Protocol) 서비스를 제공하는 데 사용됩니다. CA가 없는 설치에는 존재하지 않습니다.
| ocspSigningCert | 설명 |
|---|---|
| 파일 시스템 위치 |
|
| LDAP 위치 |
|
| issuer | IPA CA |
| 제목 |
|
| 추가 정보 |
Tomcat 서블릿 인증서
이 인증서는 클라이언트가 PKI에 연결할 때 사용됩니다. 이 서버 인증서는 호스트에 고유하며 CA가 없는 설치에 존재하지 않습니다.
| 서버-인증 | 설명 |
|---|---|
| 파일 시스템 위치 |
|
| LDAP 위치 | |
| issuer | IPA CA |
| 제목 | CN=$HOSTNAME,O=REALM.NAME |
| 추가 정보 |
등록 기관 인증서
certmonger 및 IdM 프레임워크에서 PKI에 인증하는 데 사용하는 인증서입니다. 예를 들어 ipa cert-show 1 을 실행하는 경우 HTTPD는 PKI와 통신하고 이 인증서로 인증합니다. CA가 없는 설치에는 존재하지 않습니다.
| RA 에이전트 | 설명 |
|---|---|
| 파일 시스템 위치 |
|
| LDAP 위치 |
|
| issuer | IPA CA |
| 제목 |
|
| 추가 정보 |
LDAP에서 직렬 및 Blob 불일치를 주의하십시오. 예를 들어 |
HTTPD 프런트 엔드 인증서
HTTPD 프런트 엔드에 웹 UI 및 API에 대한 연결을 보호하는 데 사용되는 인증서입니다. 존재할 수 있어야 합니다.
| HTTPD | 설명 |
|---|---|
| 파일 시스템 위치 |
|
| LDAP 위치 | |
| issuer | CA가 없는 설치의 IPA CA 또는 외부 CA |
| 제목 |
|
| 추가 정보 |
사용자 이름이 |
LDAP TLS 및 STARTTLS 인증서
LDAP TLS 및 STARTTLS 연결에 사용되는 인증서입니다. 존재할 수 있어야 합니다.
| LDAP | 설명 |
|---|---|
| 파일 시스템 위치 |
|
| LDAP 위치 | |
| issuer | CA가 없는 설치의 IPA CA 또는 외부 CA |
| 제목 |
|
| 추가 정보 |
사용자 이름이 |
KDC 인증서
IdM KDC에 PKINIT에 사용되는 인증서입니다.
| KDC | 설명 |
|---|---|
| 파일 시스템 위치 |
|
| LDAP 위치 | |
| issuer | CA가 없는 설치의 IPA CA 또는 외부 CA |
| 제목 |
|
| 추가 정보 |
확장된 키 사용량 |
25.3. IdM 내부 인증서 갱신 프로세스 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 certmonger 는 내부 인증서를 추적하고 갱신을 트리거하고 IdM CA를 요청하여 새 인증서를 발행합니다.
외부 CA를 사용하고 있고 내부 인증서가 이 CA에서 발급된 경우 자동으로 갱신되지 않습니다. 이 경우 인증서 만료 날짜를 모니터링하여 만료되기 전에 갱신해야 합니다. 갱신 프로세스는 시간이 오래 걸리며 만료 날짜를 신중하게 추적하지 않으면 인증서가 만료되고 일부 서비스를 더 이상 사용할 수 없습니다.
내부 Red Hat Enterprise Linux IdM(Identity Management) 인증서가 만료되면 IdM이 시작되지 않습니다.
IdM CA 갱신 서버는 만료일 이전에 공유 내부 인증서(28일)를 갱신합니다. certmonger 는 이 갱신을 트리거하고 새 인증서를 cn=<nickname>,cn=ca_renewal,cn=etc,$BASEDN.certmonger 에 업로드하여 다른 IdM 서버에서 갱신 프로세스를 트리거하지만, CA가 아닌 서버에서도 갱신 프로세스를 트리거합니다. Server-Cert cert-pki-ca, HTTP, LDAP 및 PKINIT 인증서는 제목의 호스트 이름을 포함하는 각 복제본에 고유합니다.
인증서가 만료되기 전에 getcert 를 사용하여 공유 인증서를 수동으로 갱신하면 갱신 프로세스가 다른 복제본에서 트리거되지 않으며 LDAP에서 갱신된 인증서 다운로드를 수행하려면 다른 복제본에서 getcert 를 실행해야 합니다.