Mit der Authentifizierungsfunktion für Clientgerätezertifikate können Sie die Zertifikatauthentifizierung für Clientsysteme für Horizon Client für Linux einrichten. Unified Access Gateway authentifiziert die Clientsysteme. Die SoftHSM2-Bibliothek verwaltet die Verteilung und Bereitstellung von Zertifikaten auf dem Clientsystem. Nach erfolgreicher Geräteauthentifizierung muss der Benutzer immer noch die Benutzerauthentifizierung durchführen.

Voraussetzungen

Für diese Funktion gelten die folgenden Anforderungen.

  • Unified Access Gateway 2.6 oder höher
  • Das Clientsystem ist mit einem Stamm-CA-Zertifikat ausgestattet, das Unified Access Gateway akzeptiert

Weitere Informationen zum Konfigurieren von Unified Access Gateway finden Sie in der Dokumentation zu Unified Access Gateway.

Einrichten des Linux-Clientsystems für die Gerätezertifikatauthentifizierung

Um die Authentifizierung von Gerätezertifikaten einzurichten, müssen Sie diese allgemeinen Aufgaben ausführen:

  • Installieren Sie die SoftHSM2-Bibliothek auf dem Clientsystem.
  • Erstellen Sie ein kryptografisches Token für die SoftHSM2-Bibliothek.
  • Bereiten Sie das Gerätezertifikat sowie öffentliche und private Schlüssel vor.
  • Importieren Sie die Zertifikats- und Schlüsseldatei in die SoftHSM2-Datenbank.
  • Konfigurieren Sie die SoftHSM2-Bibliothek zur Verwendung durch Horizon Client.

Das folgende Verfahren enthält Leitlinien für den Abschluss des Setups auf einem allgemeinen Linux-Clientsystem. Bestimmte Schritte können je nach Linux-Distribution variieren.

Hinweis: Die Gerätezertifikatauthentifizierung wird auch auf Thin Clients unterstützt, auf denen Becrypt Paradox ausgeführt wird. Setup-Informationen erhalten Sie in der Dokumentation zu Becrypt Paradox.
  1. Installieren Sie die SoftHSM2-Bibliothek auf dem Linux-Clientsystem mithilfe einer der folgenden Methoden.
    1. Methode 1: Verwenden Sie Paketverwaltungstools.
      Auf einem Ubuntu-System können Sie beispielsweise folgenden Befehl ausführen.
      sudo apt-get install softhsm2
    2. Methode 2: Kompilieren und installieren Sie die SoftHSM2-Bibliothek manuell.
      1. Klonen Sie das SoftHSM2-Quellcode-Repository auf das System.
        git clone https://github.com/opendnssec/SoftHSMv2.git
      2. Kompilieren, konfigurieren und installieren Sie die SoftHSM2-Bibliothek aus dem geklonten Quellcode.
        Hinweis: Horizon Client installiert seine eigene OpenSSL-Bibliothek und nutzt auch die OpenSSL-Bibliothek, die mit SoftHSM2 verknüpft ist. Um Konflikte während der Laufzeit zu vermeiden, stellen Sie sicher, dass Sie SoftHSM2 mit derselben OpenSSL-Bibliothek verknüpfen, die vom Horizon Client installiert wurde.

        Im folgenden Befehlsbeispiel sollte der <Pfad zur OpenSSL-Bibliothek> den Pfad „include“ und „lib“ enthalten.

        cd SoftHSMv2/
        sh autogen.sh
        ./configure --with-crypto-backend=openssl --with-openssl=<path to OpenSSL library>
        make
        sudo make install
        
  2. Erstellen Sie ein kryptografisches Token für die SoftHSM2-Bibliothek.

    Standardmäßig verfügt SoftHSM2 über einen Token-Steckplatz. Wenn Sie ein Token im ersten Steckplatz initialisieren, wird automatisch ein zweiter Steckplatz hinzugefügt. Nachfolgende Steckplätze werden hinzugefügt, wenn Sie ein neues Token in jedem Steckplatz initialisieren.

    1. Führen Sie den Befehl aus, um das Token zu erstellen.
      softhsm2-util --init-token --slot 0 --label "<your token label>"
    2. Notieren Sie sich die Steckplatz-ID, die vom Tokenerstellungsbefehl zurückgegeben wird. Sie benötigen diese Steckplatz-ID später, wenn Sie X.509-Gerätezertifikat und Schlüsseldateien in die SoftHSM2-Datenbank importieren.
  3. Bereiten Sie das X.509-Gerätezertifikat sowie öffentliche und private Schlüssel vor.
    1. Holen Sie sich das Gerätezertifikat im PFX-Format, das den Privatschlüssel enthält.
    2. Konvertieren Sie die PFX-Datei in eine Schlüsseldatei im PEM-Format. Beispielsweise wandelt der folgende Befehl client.pfx in client-keys.pem um.
      openssl pkcs12 -in client.pfx -nocerts -nodes -out client-keys.pem
    3. Konvertieren Sie die PEM-Schlüsseldatei in eine PKCS8-Schlüsseldatei.
      openssl pkcs8 -in client-keys.pem -topk8 -nocrypt -out client-keys.pk8
    4. Konvertieren Sie die PFX-Datei in ein X.509-Zertifikat im DER-Format.
      openssl pkcs12 -in client.pfx -nokeys -nodes -out client-cert.pem
      openssl x509 -outform der -in client-cert.pem -out client-cert.der
  4. Importieren Sie das X.509-Zertifikat und die Schlüsseldatei in die SoftHSM2-Datenbank.
    1. Importieren Sie die Schlüsseldatei in die SoftHSM2-Datenbank.

      Beispielsweise importiert der folgende Befehl die client-key.pk8-Datei. Ersetzen Sie <Ihr Token-Etikett> und <Steckplatz-ID> durch die Werte, die Sie in Schritt 2 erhalten haben.

      softhsm2-util --import client-key.pk8 --token "<your token label>" --slot <slot ID> --label "client" --id 0001
    2. Importieren Sie das X.509-Zertifikat in die SoftHSM2-Datenbank.

      Beispielsweise importiert der folgende Befehl dieclient-cert.der-Datei. Ersetzen Sie <softhsm2-pin> durch die PIN, die für den Zugriff auf die SoftHSM2-Datenbank erforderlich ist.

      pkcs11-tool --module /usr/local/lib/softhsm/libsofthsm2.so -l -p <softhsm2-pin> --write-object client-cert.der --type cert --id 0001
    3. Vergewissern Sie sich, dass das X.509-Zertifikat, der öffentliche Schlüssel und der private Schlüssel alle in der SoftHSM2-Datenbank gespeichert sind.
      pkcs11-tool --module /usr/local/lib/softhsm/libsofthsm2.so -l -p <softhsm2-pin> --token-label "<your token label>" --list-objects
  5. Konfigurieren Sie die SoftHSM2-Bibliothek zur Verwendung durch Horizon Client.
    sudo mkdir /usr/lib/vmware/view/pkcs11
    sudo ln -s /usr/local/lib/softhsm/libsofthsm2.so /usr/lib/vmware/view/pkcs11/libsofhsm2.so

Unterstützung für den FIPS-Compliance-Modus

Wenn Sie die Authentifizierung von Gerätezertifikaten in einer Umgebung verwenden möchten, die dem Federal Information Processing Standard (FIPS) entspricht, führen Sie zunächst die unter Aktivieren des FIPS-kompatiblen Modus beschriebenen Schritte aus. Führen Sie dann den im vorherigen Abschnitt, Einrichten des Linux-Clientsystems für die Gerätezertifikatauthentifizierung, beschriebenen Setup-Vorgang mit der folgenden Änderung aus.

Führen Sie die folgende Befehlssequenz aus, um die SoftHSM2-Bibliothek mit FIPS-Compliance-Modus zu kompilieren.
cd SoftHSMv2/
sh autogen.sh
./configure --with-crypto-backend=openssl --with-openssl=<path to OpenSSL library>  --enable-fips
make
sudo make install
Hinweis: Wenn Sie während der Kompilierung auf Probleme wegen fehlender Header stoßen, können Sie den Quellcode für FIPS-bezogene Header von www.openssl.org/source/ herunterladen. Kopieren Sie die Header in den Pfad zur OpenSSL-Bibliothek und wiederholen Sie die Befehlssequenz, um die SoftHSM2-Bibliothek mit FIPS-Compliance-Modus zu kompilieren.