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.
-

-
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:
- Active Directory-Zertifikatdienste https://social.technet.microsoft.com/wiki/contents/articles/1137.active-directory-certificate-services-ad-cs-introduction.aspx
- Konfigurieren von Windows für die Zertifikatanmeldung http://support.citrix.com/article/CTX206156
- Installieren des Federated Authentication Service Federated Authentication Service
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:



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

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.



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:
- Installieren Sie den Federated Authentication Service
- Aktivieren Sie das Federated Authentication Service-Plug-in auf StoreFront-Servern
- Konfigurieren Sie die Gruppenrichtlinie
- 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
- 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.

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)
- Keine Ergänzung. Siehe den Artikel Federated Authentication Service.
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)
- Keine Ergänzung. Siehe den Artikel Federated Authentication Service.
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_ADINTEGRATIONWAYentspricht, wennCTX_EASYINSTALL_ADINTEGRATIONWAYangegeben ist. WennCTX_EASYINSTALL_ADINTEGRATIONWAYnicht angegeben ist, verwendetCTX_FAS_ADINTEGRATIONWAYseinen 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:

Ü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.

Ü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.

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:

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
- Die gängigen FAS-Bereitstellungen sind im Artikel Architekturübersicht des Federated Authentication Service zusammengefasst.
- “How-to”-Artikel werden im Kapitel Erweiterte Konfiguration des Federated Authentication Service vorgestellt.
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.

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:
