Linux Virtual Delivery Agent

Föderierter Authentifizierungsdienst

Übersicht

Der Citrix Federated Authentication Service (FAS) ist eine privilegierte Komponente, die für die Integration mit den Active Directory-Zertifikatdiensten entwickelt wurde. Er stellt Benutzern dynamisch Zertifikate aus, sodass sie sich bei einer Active Directory-Umgebung anmelden können, als hätten sie eine Smartcard. Diese Funktionalität ermöglicht StoreFront™, eine breitere Palette von Authentifizierungsoptionen zu nutzen, wie z. B. Security Assertion Markup Language (SAML)-Assertions. SAML wird häufig als Alternative zu herkömmlichen Windows-Benutzerkonten im Internet verwendet.

Hinweis:

Um die SAML-Authentifizierung zu verwenden, konfigurieren Sie FAS auf dem VDA ordnungsgemäß.

Ab CU3 verwendet der Linux VDA kurze Verbindungen, um Daten mit FAS-Servern zu übertragen.

Das folgende Diagramm zeigt FAS, das in eine Microsoft-Zertifizierungsstelle integriert ist und Supportdienste für StoreFront und VDAs bereitstellt.

  • FAS-Architektur

  • Vertrauenswürdige StoreFront-Server kontaktieren den FAS, wenn Benutzer Zugriff auf die Citrix-Umgebung anfordern. Der FAS gewährt ein Ticket, das einer einzelnen Citrix Virtual Apps- oder Citrix Virtual Desktops™-Sitzung die Authentifizierung mit einem Zertifikat für diese Sitzung ermöglicht. Wenn ein VDA einen Benutzer authentifizieren muss, stellt er eine Verbindung zum FAS her und löst das Ticket ein. Nur der FAS hat Zugriff auf den privaten Schlüssel des Benutzerzertifikats. Der VDA muss jeden Signier- und Entschlüsselungsvorgang, den er mit dem Zertifikat durchführen muss, an den FAS senden.

  • Anforderungen

  • FAS wird unter Windows Server 2008 R2 und höher unterstützt.

  • Wir empfehlen, FAS auf einem Server zu installieren, der keine anderen Citrix-Komponenten enthält.
  • Der Windows Server muss für den Zugriff auf ein Registrierungsstellenzertifikat und einen privaten Schlüssel gesichert sein, um Zertifikate für Domänenbenutzer automatisch auszustellen und auf diese Benutzerzertifikate und privaten Schlüssel zuzugreifen.

In einer Citrix Virtual Apps™- oder Citrix Virtual Desktops-Site:

  • Die Delivery Controller müssen mindestens Version 7.9 sein.
  • Der StoreFront-Server muss mindestens Version 3.6 sein (Version, die mit dem XenApp- und XenDesktop 7.9 ISO bereitgestellt wird).
  • Die Linux VDAs müssen mindestens Version 7.18 sein. Stellen Sie sicher, dass die Konfiguration der Gruppenrichtlinie für den Federated Authentication Service korrekt auf die VDAs angewendet wurde, bevor Sie den Maschinenkatalog auf die übliche Weise erstellen. Weitere Informationen finden Sie im Abschnitt Gruppenrichtlinie konfigurieren in diesem Artikel.

Referenzen:

Windows für die Zertifikatanmeldung konfigurieren

Informationen zum Konfigurieren von Windows für die Zertifikatanmeldung finden Sie im Knowledge Center-Artikel CTX206156. Laden Sie die Datei Smart_card_config_Citrix_Env.pdf (im Folgenden „die PDF-Datei“) herunter und lesen Sie sie. Führen Sie die folgenden Schritte gemäß der PDF-Datei aus und beachten Sie dabei die Unterschiede oder Ergänzungen, die in jedem Schritt angegeben sind. Achten Sie besonders auf die Zielmaschine, auf der Sie arbeiten, z. B. AD, Delivery Controller oder StoreFront.

Eine Windows-Domäne einrichten (auf AD)

Domänencontrollerrollen installieren

Siehe den Abschnitt Installing Domain Controller Roles der PDF-Datei.

Stellen Sie während der Installation der Active Directory-Zertifikatdienste sicher, dass die folgenden Optionen ausgewählt sind:

Bild der Auswahl von Rollendiensten

Bild der Konfiguration von Active Directory-Zertifikatdiensten

Bild des AD CS-Konfigurationsfensters

Öffnen Sie http://localhost/certsrv/, um zu überprüfen, ob die folgende Willkommensseite angezeigt wird. Wenn ja, wurden die Active Directory-Zertifikatdienste erfolgreich installiert.

Bild der Willkommensseite bei erfolgreicher Installation der AD-Zertifikatdienste

Die Zertifizierungsstelle für die Smartcard-Nutzung vorbereiten

Keine Ergänzung. Siehe den Abschnitt Preparing the Certificate Authority for Smart card usage der PDF-Datei.

Ein Domänencontroller-Zertifikat ausstellen

Keine Ergänzung. Siehe den Abschnitt Issuing a Domain Controller Certificate der PDF-Datei.

Microsoft IIS für HTTPS konfigurieren (auf StoreFront)

HTTPS auf Microsoft IIS konfigurieren

Keine Ergänzung. Siehe den Abschnitt Configuring HTTPS on Microsoft IIS der PDF-Datei.

Nicht in die Domäne eingebundene Computer

Siehe den Abschnitt Non-Domain Joined Computers der PDF-Datei.

Das CA-Zertifikat von der Microsoft CA abrufen (auf AD)

Keine Ergänzung. Siehe den Abschnitt Retrieving the CA Certificate from the Microsoft CA der PDF-Datei.

Das vertrauenswürdige CA-Zertifikat unter Windows installieren

Keine Ergänzung. Siehe den Abschnitt Installing the Trusted CA Certificate on Windows der PDF-Datei.

Citrix StoreFront konfigurieren (auf StoreFront)

Den Store erstellen

Siehe den Abschnitt Creating the Store der PDF-Datei.

Nach der vorhergehenden IIS-Konfiguration wird die Basis-URL des gemeinsamen Stores zwangsweise auf https:// anstatt auf http:// gesetzt. Da FAS den Store nicht mit Smartcards teilt, wird ein neuer Store für FAS benötigt. Der Linux VDA FAS ist mit allen StoreFront-Authentifizierungsmethoden kompatibel. Beispielsweise kann der FAS-Store so konfiguriert werden, dass er Passwörter oder SAML verwendet, aber nicht beides gleichzeitig. Wenn SAML ausgewählt ist, leitet die StoreFront-URL automatisch zum IdP um und die Passwortauthentifizierungsmethode wird ignoriert.

Bild der Erstellung des FAS-Stores

Bild der Verwaltung von Smartcard-Authentifizierungsmethoden

Bild des erstellten FAS-Stores

Starten Sie Internet Explorer und öffnen Sie die URL des FAS-Stores (z. B. https://mzgwy-ddc.xd.local/Citrix/FASWeb).

Hinweis: Die URL des FAS-Stores muss mit Web enden.

FAS installieren und einrichten

Der Installations- und Einrichtungsprozess besteht aus den folgenden Schritten:

  1. Installieren Sie den Federated Authentication Service
  2. Aktivieren Sie das Federated Authentication Service-Plug-in auf StoreFront-Servern
  3. Konfigurieren Sie die Gruppenrichtlinie
  4. Verwenden Sie die Administrationskonsole des Federated Authentication Service, um: (a) die bereitgestellten Vorlagen bereitzustellen, (b) Zertifizierungsstellen einzurichten und (c) den Federated Authentication Service zur Verwendung Ihrer Zertifizierungsstelle zu autorisieren
  5. Konfigurieren Sie Benutzerregeln

Anweisungen zu den einzelnen Schritten finden Sie unter Federated Authentication Service. Beachten Sie die folgenden Unterschiede oder Ergänzungen bei den einzelnen Schritten. Achten Sie besonders auf die Zielmaschine, auf der Sie arbeiten, z. B. AD, Delivery Controller, StoreFront oder den FAS-Server.

Installieren des Federated Authentication Service (auf dem FAS-Server)

Installieren Sie FAS aus Sicherheitsgründen auf einem dedizierten Server, der ähnlich wie ein Domänencontroller oder eine Zertifizierungsstelle gesichert ist.

Aktivieren des Federated Authentication Service-Plug-ins in einem StoreFront Store (auf StoreFront)

Stellen Sie sicher, dass der folgende Befehl denselben FAS-Store-Namen verwendet, den Sie bei der Konfiguration von StoreFront eingegeben haben. Zum Beispiel ist FAS der Store-Name in diesem Beispiel:

$StoreVirtualPath = “/Citrix/FAS

Konfigurieren des Delivery Controller™ (auf dem Delivery Controller)

Um den Federated Authentication Service zu verwenden, konfigurieren Sie den Delivery Controller so, dass er den StoreFront-Servern vertraut, die sich mit ihm verbinden können: Führen Sie das PowerShell-Cmdlet Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true aus. Manchmal müssen Sie zuerst Add-PSSnapin citrix.* ausführen.

Konfigurieren der Gruppenrichtlinie (auf dem FAS-Server und im AD)

Sie müssen Administrator sein, um die Schritte 1–7 in diesem Abschnitt ausführen zu können. Schritt 1 muss auf dem FAS-Server und die Schritte 2–7 müssen im AD ausgeführt werden.

Nachdem Sie die Schritte 1–7 abgeschlossen haben, überprüfen Sie im Registrierungs-Editor des FAS-Servers, ob die FAS-Richtlinie festgelegt wurde.

Abbildung zum Festlegen der FAS-Richtlinie

Unterstützung für In-Session-Zertifikate aktivieren

  • Der Linux VDA unterstützt keine In-Session-Zertifikate.

Verwenden der Administrationskonsole des Federated Authentication Service (auf dem FAS-Server)

Bereitstellen von Zertifikatvorlagen (auf dem FAS-Server)

Keine Ergänzung. Siehe den Artikel Federated Authentication Service.

Einrichten von Active Directory-Zertifikatdiensten (auf dem FAS-Server)

Autorisieren des Federated Authentication Service (auf dem FAS-Server)

Keine Ergänzung. Siehe den Artikel Federated Authentication Service.

Konfigurieren von Benutzerregeln (auf dem FAS-Server)

Keine Ergänzung. Siehe den Artikel Federated Authentication Service.

Weitere Informationen finden Sie auch in den Abschnitten Delegierte Registrierungsagenten und Zugriffssteuerungslisten-Konfiguration im Abschnitt Sicherheitsüberlegungen des Artikels Federated Authentication Service.

Federated Authentication Service ADFS-Bereitstellung

Informationen zur Bereitstellung des ADFS IdP für den Federated Authentication Service finden Sie unter Federated Authentication Service ADFS-Bereitstellung.

Konfigurieren des Linux VDA

FAS-Server festlegen

Geben Sie bei einer Neuinstallation des Linux VDA den FQDN jedes FAS-Servers ein, wenn Sie während der Ausführung von ctxinstall.sh oder ctxsetup.sh nach CTX_XDL_FAS_LIST gefragt werden, um FAS zu verwenden. Da der Linux VDA keine AD-Gruppenrichtlinien unterstützt, können Sie stattdessen eine durch Semikolons getrennte Liste von FAS-Servern angeben. Wenn eine Serveradresse entfernt wird, füllen Sie die Lücke mit der Textzeichenfolge <none> und behalten Sie die Reihenfolge der Serveradressen unverändert bei.

Für ein Upgrade einer bestehenden Linux VDA-Installation können Sie ctxsetup.sh erneut ausführen, um die FAS-Server festzulegen. Oder Sie können die folgenden Befehle ausführen, um die FAS-Server festzulegen und den Dienst ctxvda neu zu starten, damit Ihre Einstellung wirksam wird.

sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "<Your-FAS-Server-List>" --force

service ctxvda restart
<!--NeedCopy-->

Um die FAS-Server über ctxreg zu aktualisieren, führen Sie die folgenden Befehle aus:

sudo /opt/Citrix/VDA/bin/ctxreg update -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -v "Addresses" -d "<Your-FAS-Server-List>"

service ctxvda restart
<!--NeedCopy-->

Installieren eines Stamm-CA-Zertifikats

Zur Überprüfung der Benutzerzertifikate installieren Sie das Stamm-CA-Zertifikat auf dem VDA. Beziehen Sie das AD-Stammzertifikat aus dem vorhergehenden Schritt Abrufen des CA-Zertifikats von der Microsoft CA (im AD) oder laden Sie dessen DER-Format vom Stamm-CA-Server http://CA-SERVER/certsrv herunter.

Hinweis:

Die folgenden Befehle gelten auch für die Konfiguration eines Zwischenzertifikats.

Konvertieren Sie eine DER-Datei (.crt, .cer, .der) in PEM, indem Sie einen Befehl ähnlich dem folgenden ausführen:

sudo openssl x509 -inform der -in root.cer -out root.pem
<!--NeedCopy-->

Installieren Sie dann das Stamm-CA-Zertifikat im openssl-Verzeichnis, indem Sie einen Befehl ähnlich dem folgenden ausführen:

sudo cp root.pem /etc/pki/CA/certs/
<!--NeedCopy-->

Hinweis:

  • Legen Sie das Stamm-CA-Zertifikat nicht unter dem Pfad /root ab. Andernfalls hat FAS keine Leseberechtigung für das Stamm-CA-Zertifikat.

FAS konfigurieren

Führen Sie das folgende Skript aus, um FAS zu konfigurieren:

sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
<!--NeedCopy-->

Hinweis:

Das vorhergehende Skript behandelt nur Szenarien mit einem einzelnen Stamm-CA-Zertifikat.

Wenn in Ihrer Umgebung Zwischenzertifikate vorhanden sind, fügen Sie die Zwischenpfade wie folgt zu /etc/krb5.conf hinzu:

[realms] EXAMPLE.COM = { … pkinit_anchors = FILE:/etc/pki/CA/certs/root.pem pkinit_pool = FILE:/etc/pki/CA/certs/intermediate.pem … }

Zwei Umgebungsvariablen werden hinzugefügt, damit ctxfascfg.sh im stillen Modus ausgeführt werden kann:

  • **CTX_FAS_ADINTEGRATIONWAY=winbind sssd centrify** – Bezeichnet die Active Directory-Integrationsmethode, die CTX_EASYINSTALL_ADINTEGRATIONWAY entspricht, wenn CTX_EASYINSTALL_ADINTEGRATIONWAY angegeben ist. Wenn CTX_EASYINSTALL_ADINTEGRATIONWAY nicht angegeben ist, verwendet CTX_FAS_ADINTEGRATIONWAY seinen eigenen Wert.
  • CTX_FAS_ROOT_CA_PATH=<Stamm_CA_Zertifikat> – Gibt den vollständigen Pfad des Stamm-CA-Zertifikats an.

Wählen Sie die korrekte Active Directory-Integrationsmethode und geben Sie dann den korrekten Pfad des Stamm-CA-Zertifikats ein (zum Beispiel /etc/pki/CA/certs/root.pem).

Das Skript installiert dann die Pakete krb5-pkinit und pam_krb5 und konfiguriert die entsprechenden Konfigurationsdateien.

Einschränkung

  • FAS unterstützt nur eine begrenzte Anzahl von Plattformen und AD-Integrationsmethoden. Siehe die folgende Matrix:

      Winbind SSSD Centrify
    RHEL 7.7 /CentOS 7.7
    Ubuntu 18.04 ×
    Ubuntu 16.04 ×
    SLES 12.3 ×
  • FAS unterstützt noch keine Bildschirmsperre. Wenn Sie in einer Sitzung auf die Sperrschaltfläche klicken, können Sie sich nicht erneut über FAS bei der Sitzung anmelden.
  • Diese Version unterstützt nur die gängigen FAS-Bereitstellungen, die im Artikel Architekturübersicht des Federated Authentication Service zusammengefasst sind, und umfasst nicht Windows 10 Azure AD Join.

Fehlerbehebung

Bevor Sie FAS beheben, stellen Sie sicher, dass der Linux VDA korrekt installiert und konfiguriert ist, sodass eine Nicht-FAS-Sitzung erfolgreich im gemeinsamen Store mithilfe der Kennwortauthentifizierung gestartet werden kann.

Wenn Nicht-FAS-Sitzungen ordnungsgemäß funktionieren, setzen Sie die HDX-Protokollstufe der Klasse Login auf VERBOSE und die VDA-Protokollstufe auf TRACE. Informationen zum Aktivieren der Trace-Protokollierung für den Linux VDA finden Sie im Knowledge Center-Artikel CTX220130.

FAS-Server-Konfigurationsfehler

Das Starten einer Sitzung aus dem FAS-Store schlägt fehl. Ein Beispiel finden Sie im folgenden Screenshot:

Fehler beim Starten einer Sitzung aus dem FAS-Store

Überprüfen Sie /var/log/xdl/hdx.log und suchen Sie nach einem Fehlerprotokoll, das dem folgenden ähnelt:

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: query2fas: failed to retrieve data: No such file or directory.

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: sayhello2fas_internal: Failed to query.

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: sayhello2fas_convertcredential: exit.

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: LoginFasValidate: Failed to start FAS.

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: receive_data: LoginFASValidate - parameters check error.

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: receive_data: Exit FAILURE

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: main: EXITING login process..., FAILURE
<!--NeedCopy-->

Lösung

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Citrix-Registrierungswert “HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService” auf <Ihre-FAS-Server-Liste> gesetzt ist.

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
<!--NeedCopy-->

Wenn die vorhandene Einstellung falsch ist, befolgen Sie den vorhergehenden Schritt FAS-Server festlegen, um sie erneut festzulegen.

Falsche Stamm-CA-Zertifikatkonfiguration

Das Starten einer Sitzung aus dem FAS-Store schlägt fehl. Ein graues Fenster erscheint und verschwindet nach einigen Sekunden wieder.

Bild einer ungültigen Anmeldung aufgrund falscher Stamm-CA-Zertifikatkonfiguration

Überprüfen Sie /var/log/xdl/hdx.log und suchen Sie nach einem Fehlerprotokoll, das dem folgenden ähnelt:

2018-03-27 10:15:52.227 <P9099:S3> citrix-ctxlogin: validate_user: pam_authenticate err,can retry for user user1@CTXFAS.LAB

2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: logout_user: closing session and pam transaction

2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: validate_user: Exit (user=user1@CTXFAS.LAB)=INVALID_PASSWORD

2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: LoginBoxValidate: failed validation of user 'user1@CTXFAS.LAB', INVALID_PASSWORD

2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: Audit_login_failure: Not yet implemented
<!--NeedCopy-->

Lösung

Überprüfen Sie, ob der vollständige Pfad des Stamm-CA-Zertifikats in /etc/krb5.conf korrekt festgelegt ist. Der vollständige Pfad ähnelt dem folgenden:


 [realms]

EXAMPLE.COM = {

    ......

    pkinit_anchors = FILE:/etc/pki/CA/certs/root.pem

    ......

}  
<!--NeedCopy-->

Wenn die vorhandene Einstellung falsch ist, befolgen Sie den vorhergehenden Schritt Stamm-CA-Zertifikat installieren, um es erneut festzulegen.

Alternativ können Sie überprüfen, ob das Stamm-CA-Zertifikat gültig ist.

Fehler bei der Shadow-Konto-Zuordnung

FAS ist über SAML-Authentifizierung konfiguriert. Der folgende Fehler kann auftreten, nachdem ein ADFS-Benutzer den Benutzernamen und das Kennwort auf der ADFS-Anmeldeseite eingegeben hat.

Bild eines Fehlers bei der Shadow-Konto-Zuordnung

Dieser Fehler weist darauf hin, dass der ADFS-Benutzer erfolgreich überprüft wurde, aber kein Shadow-Benutzer in AD konfiguriert ist.

Lösung

Legen Sie das Shadow-Konto in AD fest.

ADFS nicht konfiguriert

Der folgende Fehler tritt bei einem Anmeldeversuch im FAS-Store auf:

Bild von nicht konfiguriertem ADFS

Die Ursache ist, dass der FAS-Store für die Verwendung der SAML-Authentifizierung konfiguriert ist, während die ADFS-Bereitstellung fehlt.

Lösung

Stellen Sie den ADFS IdP für den Federated Authentication Service bereit. Weitere Informationen finden Sie unter ADFS-Bereitstellung des Federated Authentication Service.

Verwandte Informationen

Bekanntes Problem

Bei Verwendung von FAS kann es zu Fehlern kommen, wenn Sie versuchen, eine veröffentlichte Desktop- oder App-Sitzung mit nicht-englischen Zeichen zu starten.

Bild eines Fehlers beim Starten von Sitzungen mit nicht-englischen Zeichen

Problemumgehung

Klicken Sie im CA-Tool mit der rechten Maustaste auf Vorlagen verwalten, um die Vorlage Citrix_SmartcardLogon von Aus diesen Active Directory-Informationen erstellen in In der Anforderung bereitstellen zu ändern:

Bild der Option "In der Anforderung bereitstellen"

Föderierter Authentifizierungsdienst