Um die Smartcard-Umleitung auf einer virtuellen Maschine (VM) unter RHEL 7.9 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.9-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.9-VM anzumelden, auf der Horizon Agent installiert und 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.9-Abmeldung von Horizon Client ist nicht betroffen.

Voraussetzungen

Integrieren einer RHEL 7.9-VM mit Active Directory für die Smartcard-Umleitung

Prozedur

  1. Installieren Sie die erforderlichen Bibliotheken.
    sudo 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. Installieren Sie ein Stamm-CA-Zertifikat.
    1. 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.
    2. Übertragen Sie das heruntergeladene Stamm-CA-Zertifikat in eine .pem-Datei.
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    3. 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.
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
  3. Navigieren Sie zu Anwendungen > Verschiedene > Authentifizierung, aktivieren Sie das Kontrollkästchen Smartcard-Unterstützung aktivieren und klicken Sie auf Anwenden.
  4. Bearbeiten Sie die Einstellung module in der Konfigurationsdatei /etc/pam_pkcs11/pam_pkcs11.conf, wie im folgenden Beispiel.
    use_pkcs11_module = coolkey;
    ...
    pkcs11_module coolkey {
          module = libcoolkeypk11.so;                
          description = "Cool Key";
          slot_num = 0;
          nss_dir = /etc/pki/nssdb;
          cert_policy = ca, signature;
    }
  5. 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.
    user sc -> user-sc
  6. 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
  7. Wenn die VM die MATE-Desktop-Umgebung ausführt, fügen Sie die Zeile auth include smartcard-auth am Anfang von /etc/pam.d/mate-screensaver hinzu (siehe folgendes Beispiel).
    #%PAM-1.0
     
    # Fedora Core
    auth include smartcard-auth            
    auth       include      system-auth
    auth       optional     pam_gnome_keyring.so
    account    include      system-auth
    password   include      system-auth
    session    include      system-auth
    

    Sie müssen diese Konfiguration durchführen, um sicherzustellen, dass Benutzer bei Anmeldung mit einer Smartcard den Bildschirm entsperren können.

  8. Um die Smartcard-SSO-Funktion (Single Sign-On) und den VMware Greeter bei Deaktivierung von SSO zu unterstützen, konfigurieren Sie die Datei /etc/vmware/viewagent-greeter.conf. Siehe Bearbeiten von Konfigurationsdateien auf einem Linux-Desktop.
  9. Starten Sie den PC/SC-Daemon neu.
    sudo chkconfig pcscd on
    sudo service pcscd start
  10. 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.

  11. Wenn Sie eine benutzerdefinierte PC/SC Lite-Bibliothek verwenden, konfigurieren Sie die Optionen pcscd.maxReaderContext und pcscd.readBody in der Datei /etc/vmware/config.
  12. Starten Sie die VM neu und melden Sie sich erneut an.