Um die Smartcard-Umleitung auf einer virtuellen Maschine (VM) unter RHEL 7.x zu konfigurieren, müssen Sie die Bibliotheken, von denen die Funktion abhängt, sowie das für die Authentifizierung erforderliche Stammzertifikat der Zertifizierungsstelle (CA) installieren. Außerdem müssen Sie einige Konfigurationsdateien bearbeiten, um des Einrichten der Authentifizierung abzuschließen.
Gehen Sie wie folgt vor, um die Smartcard-Umleitung auf einer RHEL 7.x-VM einzurichten.
In einigen der Beispiele im Verfahren werden Platzhalterwerte verwendet, um Entitäten in Ihrer Netzwerkkonfiguration darzustellen, z. B. den DNS-Namen Ihrer Active Directory-Domäne. Ersetzen Sie die Platzhalterwerte durch spezifische Informationen für Ihre Konfiguration, wie in der folgenden Tabelle gezeigt.
| Platzhalterwert |
Beschreibung |
| dns_IP_ADDRESS |
IP-Adresse Ihres DNS-Namenservers |
| mydomain.com |
DNS-Name Ihrer Active Directory-Domäne |
| MYDOMAIN.COM |
DNS-Name Ihrer Active Directory-Domäne in Großbuchstaben |
| MYDOMAIN |
DNS-Name der Arbeitsgruppe oder NT-Domäne, in der sich Ihr Samba-Server befindet, in Großbuchstaben |
| ads-hostname |
Hostname Ihres AD-Servers |
Hinweis: Wenn Sie die
vSphere-Konsole verwenden, um sich bei einer RHEL 7.x-VM anzumelden, auf dem
Horizon Agent installiert ist und die Smartcard-Umleitung aktiviert ist, kann eine verzögerte Abmeldezeit von zwei Minuten oder länger auftreten. Diese verzögerte Abmeldung tritt nur bei der
vSphere-Konsole auf. Die RHEL 7.x-Abmeldeerfahrung von
Horizon Client ist nicht betroffen.
Prozedur
- Installieren Sie die erforderlichen Bibliotheken.
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
- Installieren Sie ein Stamm-CA-Zertifikat.
- Laden Sie ein Stamm-CA-Zertifikat herunter und speichern Sie es in /tmp/certificate.cer auf Ihrem Desktop. Siehe How to export Root Certification Authority Certificate.
- Übertragen Sie das heruntergeladene Stamm-CA-Zertifikat in eine .pem-Datei.
openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
- Verwenden Sie den Befehl certutil, um das Stamm-CA-Zertifikat in der Systemdatenbank /etc/pki/nssdb zu installieren.
Ersetzen Sie „root CA cert“ im folgenden Beispielbefehl durch den Namen des Stamm-CA-Zertifikats in der Systemdatenbank.
certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
- Kopieren Sie das Stamm-CA-Zertifikat in das Verzeichnis /etc/pam_pkcs11/cacerts.
mkdir -p /etc/pam_pkcs11/cacerts
cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
- Navigieren Sie zu , aktivieren Sie das Kontrollkästchen Smartcard-Unterstützung aktivieren und klicken Sie auf Anwenden.
- Kopieren Sie die Smartcard-Treiber und die Treiberbibliothek in die Systemdatenbank /etc/pki/nssdb.
cp libcmP11.so /usr/lib64/
modutil -add "piv card 2.0" -libfile /usr/lib64/libcmP11.so -dbdir /etc/pki/nssdb/
Hinweis: Den Treiber
libcmP11.so erhalten Sie bei Ihrem Smartcard-Anbieter.
- Bearbeiten Sie die Einstellung module in der Konfigurationsdatei /etc/pam_pkcs11/pam_pkcs11.conf, wie im folgenden Beispiel.
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;
}
- Bearbeiten Sie die Datei /etc/pam_pkcs11/cn_map, damit sie die im folgenden Beispiel gezeigten Inhalte enthält. Welche konkreten Inhalte Sie einfügen müssen, entnehmen Sie den im Smartcard-Zertifikat aufgeführten Benutzerinformationen.
- Bearbeiten Sie die Konfigurationsdatei /etc/krb5.conf/, wie im folgenden Beispiel.
[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
- Bearbeiten Sie die Konfigurationsdatei /etc/pam.d/system-auth, damit sie die im folgenden Beispiel gezeigte Zeile enthält. Stellen Sie sicher, dass der Inhalt in einer einzelnen Zeile ohne Zeilenumbruch angezeigt wird.
auth optional pam_krb5.so use_first_pass no_subsequent_prompt preauth_options=X509_user_identity=PKCS11:/usr/lib64/libcmP11.so
- Bearbeiten Sie die Konfigurationsdatei /etc/pam.d/smartcard-auth, damit sie die im folgenden Beispiel gezeigte Zeile enthält. Stellen Sie sicher, dass der Inhalt in einer einzelnen Zeile ohne Zeilenumbruch angezeigt wird.
auth optional pam_krb5.so use_first_pass no_subsequent_prompt preauth_options=X509_user_identity=PKCS11:/usr/lib64/libcmP11.so
- Um die Smartcard-SSO-Funktion (Single Sign-On) zu unterstützen, konfigurieren Sie die Datei /etc/vmware/viewagent-greeter.conf. Siehe Einstellen der Optionen in Konfigurationsdateien auf einem Linux-Desktop.
- Starten Sie den PC/SC-Daemon neu.
chkconfig pcscd on
service pcscd start
- Installieren Sie das Paket Horizon Agent mit aktivierter Smartcard-Umleitung.
sudo ./install_viewagent.sh -m yes
Hinweis: Wenn Sie eine Fehlermeldung erhalten, die Sie auffordert, die Standard-PC/SC-Lite-Bibliothek zu installieren, deinstallieren Sie die benutzerdefinierte PC/SC-Lite-Bibliothek, die derzeit auf der Maschine vorhanden ist, und installieren Sie die Standard-PC/SC-Lite-Bibliothek mithilfe des folgenden Befehls.
yum reinstall pcsc-lite-libs pcsc-lite
Anschließend können Sie das Horizon Agent-Installationsprogramm ausführen.
- Wenn Sie eine benutzerdefinierte PC/SC Lite-Bibliothek verwenden, konfigurieren Sie die Optionen pcscd.maxReaderContext und pcscd.readBody in der Datei /etc/vmware/config.
- Starten Sie die RHEL 7.x-VM neu und melden Sie sich erneut an.