2.2. Ansible을 사용하여 스마트 카드 인증을 위해 IdM 서버 구성


Ansible을 사용하여 RHEL IdM(Identity Management) CA가 신뢰하는 <EXAMPLE.ORG> 도메인의 인증 기관(CA)에서 발급한 인증서에 대해 스마트 카드 인증을 활성화할 수 있습니다. 이렇게 하려면 ipasmartcard_server ansible-freeipa 역할 스크립트로 Ansible 플레이북을 실행할 때 사용할 수 있도록 다음 인증서를 가져와야 합니다.

  • <EXAMPLE.ORG> CA의 인증서를 직접 발행했거나 해당 하위 CA 중 하나 이상을 통해 루트 CA의 인증서입니다. 기관에서 발급한 인증서가 있는 웹 페이지에서 인증서 체인을 다운로드할 수 있습니다. 자세한 내용은 인증서 인증을 활성화하기 위해 브라우저 구성 의 4단계를 참조하십시오.
  • IdM CA 인증서입니다. IdM CA 서버의 /etc/ipa/ca.crt 파일에서 CA 인증서를 가져올 수 있습니다.
  • <EXAMPLE.ORG> CA와 IdM CA 간에 중간인 모든 CA의 인증서입니다.

사전 요구 사항

  • IdM 서버에 대한 루트 액세스 권한이 있어야 합니다.
  • IdM 관리자 암호를 알고 있습니다.
  • 루트 CA 인증서, IdM CA 인증서 및 모든 중간 CA 인증서가 있습니다.
  • 다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.

    • Ansible 버전 2.15 이상을 사용하고 있습니다.
    • freeipa.ansible_freeipa 컬렉션을 설치했습니다.
    • 이 예제에서는 ~/MyPlaybooks/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
    • 이 예제에서는 secret.yml Ansible vault가 ipaadmin_password 를 저장하고 secret.yml 파일을 보호하는 암호를 저장하는 파일에 대한 액세스 권한이 있다고 가정합니다.
  • freeipa.ansible_freeipa 모듈이 실행되는 대상 노드인 대상 노드는 IdM 도메인의 일부입니다. IdM 클라이언트, 서버 또는 복제본입니다.

프로세스

  1. CA 인증서가 DER 와 같은 다른 형식의 파일에 저장된 경우 이를 PEM 형식으로 변환합니다.

    # openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEM
    Copy to Clipboard Toggle word wrap

    IdM 인증 기관 인증서는 PEM 형식이며 /etc/ipa/ca.crt 파일에 있습니다.

  2. 선택 사항: openssl x509 유틸리티를 사용하여 PEM 형식의 파일 내용을 보고 발급 자 및 주체 값이 올바른지 확인합니다.

    # openssl x509 -noout -text -in root-ca.pem | more
    Copy to Clipboard Toggle word wrap
  3. ~/MyPlaybooks/ 디렉터리로 이동합니다.

    $ cd ~/MyPlaybooks/
    Copy to Clipboard Toggle word wrap
  4. CA 인증서 전용 하위 디렉터리를 생성합니다.

    $ mkdir SmartCard/
    Copy to Clipboard Toggle word wrap
  5. 편의를 위해 필요한 모든 인증서를 ~/MyPlaybooks/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
    Copy to Clipboard Toggle word wrap
  6. Ansible 인벤토리 파일에서 다음을 지정합니다.

    • 스마트 카드 인증을 위해 구성할 IdM 서버입니다.
    • IdM 관리자 암호입니다.
    • 다음 순서로 CA 인증서의 경로입니다.

      • 루트 CA 인증서 파일
      • 중간 CA 인증서 파일
      • IdM CA 인증서 파일

    파일은 다음과 같을 수 있습니다.

    [ipaserver]
    ipaserver.idm.example.com
    
    [ipareplicas]
    ipareplica1.idm.example.com
    ipareplica2.idm.example.com
    
    [ipacluster:children]
    ipaserver
    ipareplicas
    
    [ipacluster:vars]
    ipaadmin_password= "{{ ipaadmin_password }}"
    ipasmartcard_server_ca_certs=/home/<user_name>/MyPlaybooks/SmartCard/root-ca.pem,/home/<user_name>/MyPlaybooks/SmartCard/intermediate-ca.pem,/home/<user_name>/MyPlaybooks/SmartCard/ipa-ca.crt
    Copy to Clipboard Toggle word wrap
  7. 다음 콘텐츠를 사용하여 install-smartcard-server.yml 플레이북을 생성합니다.

    ---
    - name: Playbook to set up smart card authentication for an IdM server
      hosts: ipaserver
      become: true
    
      roles:
      - role: ipasmartcard_server
        state: present
    Copy to Clipboard Toggle word wrap
  8. 파일을 저장합니다.
  9. Ansible 플레이북을 실행합니다. 플레이북 파일을 지정하고 secret.yml 파일을 보호하는 암호를 저장하는 파일 및 인벤토리 파일을 지정합니다.

    $ ansible-playbook --vault-password-file=password_file -v -i inventory install-smartcard-server.yml
    Copy to Clipboard Toggle word wrap

    ipasmartcard_server Ansible 역할은 다음 작업을 수행합니다.

    • IdM Apache HTTP 서버를 구성합니다.
    • KDC(Key Distribution Center)에서 Kerberos(PKINIT)의 초기 인증을 위한 공개 키 암호화 기능을 활성화합니다.
    • 스마트 카드 권한 부여 요청을 수락하도록 IdM 웹 UI를 구성합니다.
  10. 선택 사항: 사용자 인증서를 발급한 인증 기관이 OCSP 응답자를 제공하지 않는 경우 IdM 웹 UI에 대한 인증을 위해 OCSP 검사를 비활성화해야 할 수 있습니다.

    1. root 로 IdM 서버에 연결합니다.

      ssh root@ipaserver.idm.example.com
      Copy to Clipboard Toggle word wrap
    2. /etc/httpd/conf.d/ssl.conf 파일에서 SSLOCSPEnable 매개변수를 off 로 설정합니다.

      SSLOCSPEnable off
      Copy to Clipboard Toggle word wrap
    3. 변경 사항이 즉시 적용되도록 Apache 데몬(httpd)을 다시 시작합니다.

      # systemctl restart httpd
      Copy to Clipboard Toggle word wrap
    주의

    IdM CA에서 발급한 사용자 인증서만 사용하는 경우에만 OCSP 검사를 비활성화하지 마십시오. OCSP 응답자는 IdM의 일부입니다.

    사용자 인증서가 OCSP 서비스 요청을 수신 대기하는 위치에 대한 정보가 포함되어 있지 않은 경우 OCSP 검사를 계속 활성화하고 IdM 서버에서 사용자 인증서를 거부하지 못하도록 하려면 Apache mod_ssl 구성 옵션SSLOCSPDefaultResponder 지시문을 참조하십시오.

이제 인벤토리 파일에 나열된 서버가 스마트 카드 인증을 위해 구성됩니다.

참고

전체 토폴로지에서 스마트 카드 인증을 활성화하려면 Ansible 플레이북의 hosts 변수를 ipacluster 로 설정합니다.

---
- name: Playbook to set up smartcard for IPA server and replicas
  hosts: ipacluster
[...]
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat