RHEL 7.x VM(가상 시스템)에서 스마트 카드 리디렉션을 구성하려면 기능이 의존하는 라이브러리, 인증에 필요한 루트 CA 인증서 및 필요한 PC/SC Lite 라이브러리를 설치합니다. 또한 인증 설정을 완료하려면 일부 구성 파일을 편집해야 합니다.

RHEL 7.x VM에서 스마트 카드 리디렉션을 설정하려면 다음 절차를 사용하십시오.

이 절차의 일부 예시는 AD 도메인의 DNS 이름과 같은 네트워크 구성의 엔티티를 나타내기 위해 자리 표시자 값을 사용합니다. 다음 표에 설명된 대로 자리 표시자 값을 구성과 관련된 정보로 바꿉니다.

자리 표시자 값 설명
dns_IP_ADDRESS DNS 이름 서버의 IP 주소
mydomain.com AD 도메인의 DNS 이름
MYDOMAIN.COM AD 도메인의 DNS 이름(모두 대문자)
MYDOMAIN Samba 서버를 포함하는 작업 그룹 또는 NT 도메인의 DNS 이름(모두 대문자)
ads-hostname AD 서버의 호스트 이름
스마트 카드 리디렉션은 RHEL 7.2 이상을 실행하는 데스크톱에서 지원됩니다.
참고: vSphere 콘솔을 사용하여 Horizon Agent가 설치되고 스마트 카드 리디렉션을 사용하도록 설정한 RHEL 7.x VM에 로그인하는 경우 로그아웃 시간이 2분 이상 지연될 수 있습니다. 이러한 지연된 로그아웃은 vSphere 콘솔에서만 발생합니다. Horizon Client의 RHEL 7.x 로그아웃 환경은 영향을 받지 않습니다.

사전 요구 사항

스마트 카드 리디렉션을 위해 RHEL 7.x 가상 시스템을 Active Directory와 통합

프로시저

  1. 필수 라이브러리를 설치합니다.
    yum install nss-tools nss-pam-ldapd esc pam_pkcs11 pam_krb5 opensc pcsc-lite-ccid authconfig 
          authconfig-gtk krb5-libs krb5-workstation krb5-pkinit pcsc-lite pcsc-lite-libs
    
  2. 루트 CA(인증 기관) 인증서를 설치합니다.
    1. 루트 CA 인증서를 다운로드하고 데스크톱의 /tmp/certificate.cer에 저장합니다. 루트 인증 기관 인증서를 내보내는 방법을 참조하십시오.
    2. 다운로드한 루트 CA 인증서를 찾은 후 .pem 파일에 전송합니다.
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    3. certutil 명령을 사용하여 시스템 데이터베이스 /etc/pki/nssdb에 루트 CA 인증서를 설치합니다.
      certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. 루트 CA 인증서를 /etc/pam_pkcs11/cacerts 디렉토리에 복사합니다.
      mkdir -p /etc/pam_pkcs11/cacerts
      
      cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
  3. 애플리케이션 > Sundry > 인증으로 이동한 후 스마트 카드 지원 사용 확인란을 선택하고 적용을 클릭합니다.
  4. 스마트 카드 드라이버를 복사하고 드라이버 라이브러리를 시스템 데이터베이스 /etc/pki/nssdb에 추가합니다.
    cp libcmP11.so /usr/lib64/
    modutil -add "piv card 2.0" -libfile /usr/lib64/libcmP11.so -dbdir /etc/pki/nssdb/
    참고: libcmP11.so 드라이버를 얻으려면 스마트 카드 제공자를 참조하십시오.
  5. 다음 예시와 같이 /etc/pam_pkcs11/pam_pkcs11.conf 구성 파일에서 모듈 설정을 편집합니다.
    pkcs11_module coolkey {
          module = libcmP11.so;                
          description = "Cool Key";
          slot_num = 0;
          ca_dir = /etc/pam_pkcs11/cacerts; 
          nss_dir = /etc/pki/nssdb;
          cert_policy = ca, signature;
    }
  6. 다음 예시와 비슷한 컨텐츠를 포함하도록 /etc/pam_pkcs11/cn_map 파일을 편집합니다. 포함할 특정 컨텐츠에 대해서는 스마트 카드 인증서에 나열된 사용자 정보를 참조하십시오.
    user sc -> user-sc
  7. 다음 예시에 표시된 것처럼 /etc/krb5.conf/ 구성 파일을 편집합니다.
    [libdefaults]
          dns_lookup_realm = false
          ticket_lifetime = 24h
          renew_lifetime = 7d
          forwardable = true
          rdns = false
          default_realm = MYDOMAIN.COM
          default_ccache_name = KEYRING:persistent:%{uid}
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname
                admin_server = ads-hostname
                default_domain = ads-hostname
                pkinit_anchors = FILE:/etc/pki/nssdb/certificate.pem
                pkinit_cert_match = <KU>digitalSignature
                pkinit_kdc_hostname = ads-hostname
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
  8. 다음 예시에 표시된 줄을 포함하도록 /etc/pam.d/system-auth 구성 파일을 편집합니다. 내용이 캐리지 리턴 없이 한 줄에 표시되는지 확인합니다.
    auth  optional  pam_krb5.so use_first_pass no_subsequent_prompt preauth_options=X509_user_identity=PKCS11:/usr/lib64/libcmP11.so
  9. PC/SC 데몬을 다시 시작합니다.
    chkconfig pcscd on
    service pcscd start
  10. PC/SC Lite 버전 1.8.8을 설치합니다.
    yum install git flex autoconf automake libtool libudev-devel flex
    git clone https://salsa.debian.org/rousseau/PCSC.git
    cd PCSC
    git checkout -b pcsc-1.8.8 1.8.8
    ./bootstrap
    ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= 
       --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin
       --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 
       --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man 
       --infodir=/usr/share/info --disable-static --enable-usbdropdir=/usr/lib64/pcsc/drivers
    make
    make install
  11. 스마트 카드 리디렉션을 사용하도록 설정하고 Horizon Agent 패키지를 설치합니다.
    sudo ./install_viewagent.sh -m yes
  12. RHEL 7.x VM을 다시 시작하고 다시 로그인합니다.