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 서버의 호스트 이름 |
참고:
vSphere 콘솔을 사용하여
Horizon Agent가 설치되고 스마트 카드 리디렉션을 사용하도록 설정한 RHEL 7.x VM에 로그인하는 경우 로그아웃 시간이 2분 이상 지연될 수 있습니다. 이러한 지연된 로그아웃은
vSphere 콘솔에서만 발생합니다.
Horizon Client의 RHEL 7.x 로그아웃 환경은 영향을 받지 않습니다.
프로시저
- 필수 라이브러리를 설치합니다.
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
- 루트 CA(인증 기관) 인증서를 설치합니다.
- 루트 CA 인증서를 다운로드하고 데스크톱의 /tmp/certificate.cer에 저장합니다. 루트 인증 기관 인증서를 내보내는 방법을 참조하십시오.
- 다운로드한 루트 CA 인증서를 찾은 후 .pem 파일에 전송합니다.
openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
- certutil 명령을 사용하여 시스템 데이터베이스 /etc/pki/nssdb에 루트 CA 인증서를 설치합니다.
certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
- 루트 CA 인증서를 /etc/pam_pkcs11/cacerts 디렉토리에 복사합니다.
mkdir -p /etc/pam_pkcs11/cacerts
cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
- 으로 이동한 후 스마트 카드 지원 사용 확인란을 선택하고 적용을 클릭합니다.
- 스마트 카드 드라이버를 복사하고 드라이버 라이브러리를 시스템 데이터베이스 /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
드라이버를 얻으려면 스마트 카드 제공자를 참조하십시오.
- 다음 예시와 같이 /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;
}
- 다음 예시와 비슷한 컨텐츠를 포함하도록 /etc/pam_pkcs11/cn_map 파일을 편집합니다. 포함할 특정 컨텐츠에 대해서는 스마트 카드 인증서에 나열된 사용자 정보를 참조하십시오.
- 다음 예시에 표시된 것처럼 /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
- 다음 예시에 표시된 줄을 포함하도록 /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
- PC/SC 데몬을 다시 시작합니다.
chkconfig pcscd on
service pcscd start
- 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
- 스마트 카드 리디렉션을 사용하도록 설정하고 Horizon Agent 패키지를 설치합니다.
sudo ./install_viewagent.sh -m yes
- RHEL 7.x VM을 다시 시작하고 다시 로그인합니다.