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

RHEL 7.x/6.x 데스크톱에 대한 스마트 카드 리디렉션을 설정하려면 다음 절차를 사용하십시오.

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

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

사전 요구 사항

스마트 카드 리디렉션을 위해 RHEL 7.x/6.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/
  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. RHEL 배포를 위한 필수 PC/SC Lite 버전을 설치합니다.
    • RHEL 7.x의 경우 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
    • RHEL 6.x의 경우 PC/SC Lite 버전 1.7.4을 설치합니다.
      yum groupinstall "Development tools"
      yum install libudev-devel
      service pcscd stop
      wget https://alioth.debian.org/frs/download.php/file/3598/pcsc-lite-1.7.4.tar.bz2
      tar -xjvf pcsc-lite-1.7.4.tar.bz2
      cd ./pcsc-lite-1.7.4
      ./configure --prefix=/usr/ --libdir=/usr/lib64/ --enable-usbdropdir=/usr/lib64/pcsc/drivers
       --enable-confdir=/etc --enable-ipcdir=/var/run  --disable-libusb --disable-serial --disable-usb
       --disable-libudev
      make
      make install
      service pcscd start
  11. 스마트 카드 리디렉션을 사용하도록 설정하고 Horizon Agent 패키지를 설치합니다.
    sudo ./install_viewagent.sh -M yes
    RHEL 배포를 위한 필수 패키지를 설치합니다.
    • RHEL 7.x의 경우 Horizon Agent 7.8 이상을 설치합니다.
    • RHEL 6.x에서는 View Agent 6.2.1 이상을 설치합니다.
  12. 시스템을 재부팅하고 다시 로그인합니다.