SAML Authentifizierung zwischen Citrix & Microsoft mit Azure MFA

Als Folge der zunehmenden Projekte gibt es hier ein kleines How To mit den folgenden Punkten:

  • Azure AD Seamless Single Sign-On (PTA / PHS)
  • SAML Authentifizierung (Azure AD als IdP & Citrix Gateway als SP)
  • Citrix Federated Authentication Service (FAS)
  • Microsoft Azure Multi-Factor-Authentication mit Conditional Access

Voraussetzungen

  • Voll funktionsfähige Citrix Virtual Apps and Desktop Umgebung (StoreFront & DDC Version 7.9 mindestens)
  • Citrix ADC mit funktionsfähiger Basiskonfiguration & aktivierter Enterprise oder Platinum Lizenz (Minimum Version 12.1 Build 50+ für native Workspace App & für Browser Zugriff Minimum Version 11.1)
  • Konfigurierter Unified Gateway vServer
  • Interne und externe DNS Einträge für Unified Gateway vServer (z.B. citrix.deyda.net)
  • Zertifikate für DNS Einträge (am einfachsten sind Wildcard-Zertifikate)
  • Bestehender Azure Tenant mit Azure-AD Basiskonfiguration (Domain, AAD Sync) & aktivierter Azure AD Premium-Lizenz
  • Installierte & Konfigurierte AD Connect Version (Minimum Version 1.1.644.0)
  • Firewall Freigabe für *.msappproxy.net auf Port 443
  • Domänen Administrator Zugangsdaten für die Domänen, die sich über Azure Connect mit Azure AD verbinden
  • Installierte Authenticator App auf dem Test User Mobilgerät

Azure AD Seamless SSO (PTA / PHS)

Ausführlichere Hintergrundinformationen zu dem Thema sind hier zu finden.

Activation Seamless SSO – AD Connect

Nun wird gezeigt, wie Pass-through authentication oder Password Hash Synchronization aktiviert werden kann. Für die Verwendung von Seamless SSO ist nur ein Feature erforderlich.

Activating Pass-through authentication

Um die Pass-through authentication zu aktivieren, stellt eine Verbindung zu dem AD-Mitglied her, auf dem AD Connect installiert ist.

  • Startet Azure AD Connect
Azure AD Connect
  • Klickt auf Configure im Welcome Screen
Welcome to Azure AD Connect
  • Klickt nun auf Change user sign-in und bestätigt dies mit Next
Additional tasks Change user sign-in
  • Gebt die Anmeldedaten des Global Administrator ein und bestätigt die Eingabe mit Next
Connect to Azure AD Global Administrator
  • Möglicherweise wird wegen einer MFA Einrichtung eine weitere Anmeldemaske angezeigt
Bei ihrem Konto anmelden
  • Wählt Pass-through authentication und dann Enable single sign-on aus.
  • Bestätigt dies mit Next
User sign-in Pass-through authentication
  • Unter Single single-on klickt auf Enter credentials
Single sign-on Enable single sign-on Enter credentials
  • Gebt im folgenden Fenster die Anmeldedaten eines lokalen Domänen Administrators ein und klickt auf OK
Forest Credentials Domain
  • Klickt auf Configure um die beschriebenen Aktionen durchzuführen
Configure Ready to configure
  • Bestätigt die erfolgreiche Ausführung im Fenster Configuration complete mit Exit
Configuration complete

Activating Password Hash Synchronization

Um die Password Hash Synchronization zu aktivieren, stellt eine Verbindung zu dem AD-Mitglied her, auf dem AD Connect installiert ist.

  • Startet Azure AD Connect
Azure AD Connect
  • Klickt auf Configure im Welcome Screen
Welcome to Azure AD Connect
  • Klickt nun auf Change user sign-in und bestätigt dies mit Next
Additional tasks Change user sign-in
  • Gebt die Anmeldedaten des Globalen Administrators ein und bestätigt die Eingabe mit Next
Connect to Azure AD Global Administrator
  • Möglicherweise wird wegen einem eingerichteten MFA eine weitere Anmeldemaske angezeigt
Bei ihrem Konto anmelden
  • Wählt Password Hash Synchronization und dann Enable single sign-on aus.
  • Bestätigt dies mit Next
User sign-in Password Hash Synchronization
  • Unter Single single-on klickt auf Enter credentials
Single sign-on Enable single sign-on Enter credentials
  • Gebt im folgenden Fenster die Anmeldedaten eines lokalen Domänen Administrators ein und klickt auf OK
Forest Credentials Domain
  • Klickt auf Configure um die beschriebenen Aktionen durchzuführen
Configure Ready to configure
  • Bestätigt die erfolgreiche Ausführung im Fenster Configuration complete mit Exit
Configuration complete

Lokale Active Directory

Im lokalen Active Directory ist nun ein neues Computerobjekt mit dem Namen AZUREADSSOACC zu finden. Dieses Objekt sollte vor dem Löschen geschützt werden.

Active Directory Users and COmputers AZUREADSSOACC

Azure Portal

Im Azure Portal können nun die aktivierten Seamless SSO Methoden geprüft werden.

  • Im Azure Portal klickt auf Azure Active Directory > Azure AD Connect
Azure Portal Azure Active Directory Azure AD Connect
  • Nun klickt auf die eingerichtete Seamless SSO Methode, die über Azure AD Connect aktiviert wurde
Azure AD Connect User Sign-In

Unter Seamless single sign-on können die mit Password Hash Synchronization aktivierten Domänen geprüft werden.

Seamless single sign-on

Bei der Pass-through authentication, wird ein Warnsymbol angezeigt, da der Agent nur auf einem Server gespeichert ist.

Pass-through Authentication

Laut Microsoft soll dies auf 3 interne Server verteilt werden.

Pass-through Authentication

Gruppenrichtlinien

Damit Seamless SSO auf den Endgeräten funktionieren kann, müssen noch einige Einstellungen über GPOs verteilt werden.

  • Stellt eine Verbindung zu einem Computer, mit der installierten Group Policy Management Console, her.
Group Policy Management
  • Fügt nun die folgenden Einstellungen zu einer bestehenden oder neuen GPO hinzu
    • In der GPO, geht nach User / Computer Configuration > Adminstrative Templates > Windows Components > Internet Explorer > Internet Control Panel > Security Page
    • Editiert die Site to Zone Assignment List mit den folgenden Werten
Value NameValue
login.microsoftonline.com3
aadg.windows.net.nsatc.net1
autologon.microsoftazuread-sso.com1
secure.aadcdn.microsoftonline-p.com1

Hinweis: Wenn Seamless SSO für einzelne Gruppen oder Benutzer deaktiviert werden soll, muss die GPO für diese Personen auf den Wert 4 gesetzt werden.

Site to Zone Assignment List
  • Dann geht auf den GPO Pfad User / Computer Configuration > Adminstrative Templates > Windows Components > Internet Explorer > Internet Control Panel > Security Page > Intranet Zone
  • Setzt die Einstellung Allow updates to status bar via script auf Enabled
Allow updates to status bar via script

Erneuerung des Kerberos Decryption Key

Microsoft empfiehlt, den Kerberos Decyption Key mindestens alle 30 Tage zu erneuern.

Dadurch wird die Gefahr des Ausspionierens des Kerberos Decryption Key reduziert.

Microsoft arbeitet an der Einführung einer automatisierten Funktion zur Erfüllung dieser Aufgabe.

Um den Kerberos Decryption Key des AZUREADSSOACC Computer Kontos zu erneuern, muss zunächst das Azure AD PowerShell-Modul aus der PowerShell Galerie heruntergeladen werden.

  • Startet PowerShell als Administrator auf dem Computer, auf dem AD Connect installiert ist, und führt den folgenden Befehl aus:
Install-Module MSOnline
  • Navigiert zum Pfad C:\Program Files\Microsoft Azure Active Directory Connect und importiert das Modul AzureADSSO.psd1
AzureADSSO.psd1
  • Führt den Befehl New-AzureADSSOAuthenticationContext aus
New-AzureADSSOAuthenticationContext
  • Gebt im folgenden Fenster die Anmeldedaten eines Azure-Administrators ein.
  • Führt dann Get-AzureADSSOStatus aus. Dadurch wird geprüft, welche Domänen im Seamless SSO Tenant gespeichert und aktiviert sind.
Get-AzureADSSOStatus
  • Führt dann den Befehl $passwd = Get-Credential und gebt im folgenden Fenster die Anmeldedaten eines lokalen Domänen Administrators ein.
$passwd = Get-Credential
  • Führt schließlich den folgenden Befehl aus, um die Aktualisierung des Decryption Key des AZUREADSSOACC Computer Kontos abzuschließen.
Update-AzureADSSOForest -OnPremCredentials $passwd

Dies muss für alle Domänen geschehen, die für Seamless SSO konfiguriert sind.

SAML Authentifizierung (Azure AD als IdP & Citrix Gateway als SP)

Weitere Hintergrundinformationen zu diesem Thema sind hier zu finden.

Active Directory

Wenn nicht der gleiche UPN in Azure AD und im lokalen Active Directory verwendet wird, muss dieser noch angepasst werden.

  • Öffnet dazu das Tool Active Directory Domains and Trusts
Active Directory Domains and Trusts
  • Klickt im Tool mit der rechten Maustaste auf das oberste Element (Active Directory Domains and Trusts) und klickt auf Properties
Active Directory Domains and Trusts Properties
  • Gebt im folgenden Fenster unter Alternative UPN suffixes die gewünschte Domain (z.B. deyda.net) ein und bestätigt die Eingabe über Hinzufügen
Add Alternative UPN Suffixes
  • Überprüft, ob der Domainname korrekt eingegeben wurde und bestätigt dies mit OK
UPN Suffixes
  • Jetzt kann der UPN der benötigten Benutzer massenweise oder manuell bearbeitet werden, um der Azure-AD Domäne zu gleichen.
Edit UPN

Azure Active Directory

Um unseren zukünftigen Service Provider anzubinden, muss jetzt eine Unternehmensanwendung im Azure Active Directory erstellt werden.

  • Um das Azure Active Directory zu konfigurieren, ruft portal.azure.com auf
portal.azure.com logon Microsoft Azure
  • Im Azure Navigation Panel, klickt auf Azure Active Directory
Microsoft Azure Navigation Panel Azure Active Directory
  • Im Azure Active Directory Fenster, klickt auf Unternehmensanwendungen
Azure Active Directory Enterprise Application
  • Nun klickt auf Neue Anwendung
Enterprise Application New Application Azure
  • Und klickt dann auf Nicht-Kataloganwendung
Non-Gallery Application Enterprise Application Azure
  • Im Eigene Anwendung hinzufügen Fenster, konfiguriert den Namen der Anwendung der für den Endbenutzer sichtbar ist, z.B. Citrix FAS und klickt auf Hinzufügen
Non-Gallery Application Enterprise Application Azure Name SAML based
  • Wartet auf die Erstellung der Anwendung. Informationen erhält man über das Element Benachrichtigungen am oberen Rand.
Notifications New Application
  • NAchdem die Anwendung erstellt wurde, klickt auf Azure Active Directory > Unternehmensanwendungen > Alle Anwendungen und dann auf die gerade erstellte neue Anwendung (z.B. Citrix FAS)
Enterprise Application All Application Citrix FAS
  • In der Unternehmensanwendung klickt auf Einmaliges Anmelden
Add Application Configure Single Signon
  • Unter SSO-Methode auswählen klickt auf SAML
SSO_Methode SAML Single-Signon Citrix FAS

Das folgende Fenster konfiguriert die Kommunikation zwischen dem Identity Provider und dem Service Provider.

Single-Signon SSO SAML Application
  • Klickt auf das Stift Icon in der oberen Ecke vom Bereich 1, um die Grundlegende SAML-Konfiguration
Basic SAML Configuration Application Single-Signon
  • Gebt folgendes ein:
    • Bezeichner (Citrix Gateway Adresse, z.B. https://citrix.deyda.net)
    • Antwort URL (Citrix Gateway Adresse mit /cgi/samlauth, z.B. https://citrix.deyda.net/cgi/samlauth)
  • Bestätigt die Eingabe mit Speichern
Basic SAML Configuration Entity ID Assertion URL
  • Die Einstellungen im Bereich 2 Benutzerattribute und Ansprüche können im bestehenden Standard bleiben.
User Atribute Unique User ID
  • Ladet unter SAML-Signaturzertifikat (Bereich 3) das Zertifikat (Base64) für den Service Provider (Citrix ADC) herunter
SAML Signing Certificate Certificate (Base64) Download
  • Kopiert aus Bereich 4 (Citrix FAS einrichten) die angezeigten URLs (URL für Anmeldung, Azure AD-Bezeichner & Abmelde-URL) in eine lokale Datei.
SAML SSO Login URL Azure AD Identifier Logout URL
  • Klickt auf das Bestätigungs Kontrollkästchen unten und klickt auf Weiter

Damit Benutzer die SAML-Authentifizierung für Citrix verwenden können, müssen diese der Anwendung zugeordnet werden.

  • Klickt auf Benutzer und Gruppen
Azure AD Application Users and Groups
  • Nun klickt auf Benutzer hinzufügen
Add Users to Application
  • Wählt nun die Benutzer aus der Liste aus, denen der Zugriff gewährt werden soll (oder wählt alle Benutzer aus) und bestätigt dies mit Zuweisen
Assign User or Group to Application
  • Ich habe nur einen Testbenutzer (user01) dafür autorisiert.
Assign User or Group to Application

Citrix ADC

Schließlich muss der Citrix ADC für die Kommunikation mit dem Identity Provider (Azure-AD) konfiguriert werden.

Citrix ADC Logon Mask
  • Ruft die Admin Weboberfläche des Citrix ADC auf und navigiert zu Traffic Management > SSL > Certificates > Server Certificates
Traffic Management SSL Certificates Server Certificats SAML
  • Klickt dort auf Install, um das zuvor heruntergeladene Zertifikat der Unternehmensanwendung zu importieren
Server Certificates Install Azure Portal Signature Certificate
  • Gebt das folgende ein und bestätigt dies mit Install
    • Certificate-Key Pair Name (Eindeutiger Name für das SAML-Signaturzertifikat, z.B. SAML-Azure-AD)
    • Certificate File Name (Heruntergeladenes Signatur-Zertifikat, z.B. Citrix FAS.cer)
Install Server Certificate NetScaler ADC
  • Das installierte Zertifikat ist nicht unter Server oder Client Vertificates zu finden, sondern unter Unknown Certificates.
Traffic Management SSL SSL Certificates Unknown Certificates SAML FAS
  • Navigiert dann nach Security > AAA – Application Traffic > Virtual Servers um die SAML Authentication Policy und den Authentication vServer zu erstellen
NetScaler ADC SAML Security AAA - Application Traffic Virtual Servers
  • Unter Authentication Virtual Servers, klickt auf Add um den neuen vServer zu erstellen
Authentication Virtual Servers AAA - Application Traffic FAS SAML
  • Nun gebt folgendes ein:
    • Name (Name des vServer, z.B. Azure-AD_auth_VS
    • IP Address Type (Non Addressable)
  • Klickt auf OK
Authentication Virtual Server Basic Settings Non Addressable
  • Im folgenden Wizard klickt auf No Server Certificate um ein Server Zertifikat anzubinden (nicht das IdP Zertifikat !)
No Server Certificate SAML Authentication Virtual Server
  • Klickt auf Click to select
Server Certificate Binding Wildcard
  • Wählt das Server Zertifikat aus (z.B. Wildcard Zertifikat) und klickt auf Select
Server Certificate Binding Server Certificates Wildcard
  • Klickt auf Bind.
Server Certificate Binding Server Certificates Wildcard Bind
  • Wenn das Zertifikat gebunden ist (1 Server Certificate) klickt Continue
Server Certificate SAML Authentication Virtual Server
  • Unter dem Menü Eintrag Advanced Authentication Policies klickt auf No Authentication Policy.
Server Certificate SAML Authentication Virtual Server Advanced Authentication Policies Authentication Policy
  • Klickt auf das + Symbol unter Select Policy.
Policy Binding SAML Authentication Virtual Server Advanced Authentication Policies Authentication Policy
  • Gebt das folgende ein:
    • Name (Name der Authentication Policy, z.B. saml_auth_pol)
    • Action Type (SAML)
    • Expression (HTTP.REQ.IS_VALID)
  • Klickt auf das + Symbol neben Action
SAML Authentication Virtual Server Advanced Authentication Policies Authentication Policy Create
  • Konfiguriert nun den Authentication SAML Server mit den folgenden Werten:
    • Name (Name des SAML Authentication Server, z.B. saml_auth_server)
    • IDP Certificate Name (Zertifikat von der Azure-AD Anwendung, z.B. SAML-Azure-AD)
    • Redirect URL (Anmelde URL von der Azure AD Anwendung, z.B. https://login.microsoftonline.com/…/saml2)
    • Single Logout URL (Abmelde URL aus der Azure-AD Anwendung, z.B. https://login.microsoftonline.com/…/saml2)
    • Signing Certificate Name (Server Zertifikat des Citrix Gateway, z.B. Wildcard Zertifikat)
    • Issuer Name (Bezeichner / Identifier aus der Azure Enterprise App, z.B. https://citrix.deyda.net)
    • Reject Unsigned Assertion (Off)
SAML Authentication SAML Server Advanced Authentication Policies Authentication Action
  • Klickt auf More und editiert noch die folgenden Einstellungen:
    • Signature Algorithm (RSA-SHA256)
    • Digest Method (SHA256)
  • Bestätigt die Eingaben mit Create
SAML Authentication SAML Server Advanced More Signature Algorithm Digest Method
  • Prüft die Eingaben und bestätigt diese mit Create
SAML Authentication SAML Server Advanced Authentication Policies Authentication Action
  • Unter Policy Binding prüft die Eingaben und ändert die folgende Einstellung:
    • Goto Expression (END)
  • Bestätigt dies wiederum mit Bind
SAML Authentication SAML Server Advanced Authentication Policies Authentication Action END
  • Wenn die Authentication Policy angebunden ist klickt auf Continue und Done
SAML Authentication SAML Server Advanced Authentication Policies
SAML Authentication SAML Server

Um die Konfiguration auf dem Citrix ADC abzuschließen, muss nur noch die neu erstellte SAML Authentication Policy an unseren Gateway Virtual Server gebunden werden.

  • Um dies zu tun, navigiert nach NetScaler Gateway > Virtual Servers.
Citrix ADC Gateway NetScaler Gateway Virtual Servers
  • Wählt den in StoreFront für FAS konfigurierten Gateway vServer aus (z.B. https://citrix.deyda.net = UG_VPN_ug_10.0.0.8_443) und klickt auf Edit
NetScaler Gateway Virtual Servers Edit

Unbind all connected LDAP or RADIUS authentication policy from the vServer.

  • Klickt auf die ausgewählten Policies unter Basic Authentication (z.B. 1 LDAP Policy)
NetScaler Gateway Virtual Servers LDAP Policy
  • Wählt die Policies aus und klickt auf Unbind
Unbind LDAP Policy VPN Virtual Server Authentication
  • Bestätigt das folgende Fenster mit Yes
Confirm Pop Up Do you want to unbind the selected entitiy
  • Prüft, dass weder unter Basic Authentication noch unter Advanced Authentication eine Policy gebunden ist
NetScaler Gateway Virtual Servers Basic Authentication Advanced Authentication SAML IDP Policy
  • Klickt auf der rechten Seite unter Advanced Settings auf Authentication Profile
NetScaler Gateway Virtual Servers Basic Authentication Advanced Authentication SAML IDP Policy Authentication Profile
  • Klickt auf das + Symbol unter Authentication Profile.
NetScaler Gateway Virtual Servers Basic Authentication Advanced Authentication Profile
  • Gebt einen Namen (z.B. saml_auth_profile) unter Create Authentication Profile ein und klickt auf Click to select unter Authentication Virtual Server
NetScaler Gateway Virtual Servers Basic Authentication Advanced Authentication SAML Authentication Profile
  • Wählt den vorher erstellten Authentication Virtual Server (Azure-AD_auth_VS) aus und klickt auf Select
NetScaler Gateway Virtual Servers Basic Authentication Advanced Authentication SAML Authentication Profile Authentication Virtual Servers
  • Bestätigt die Eingaben mit einem klick auf Create
NetScaler Gateway Virtual Servers Basic Authentication Advanced Authentication SAML Authentication Profile Authentication Virtual Servers
  • Klickt auf OK und auf Done
NetScaler Gateway Virtual Servers Basic Authentication Advanced Authentication SAML Authentication Profile Authentication Virtual Servers
  • Navigiert nach NetScaler Gateway > Global Settings um dort die single sign-on domain zu entfernen
NetScaler Gateway Global Settings
  • Klickt auf Change Global Settings.
NetScaler Gateway Global Settings Change Global Settings
  • Löscht den eventuellen Eintrag unter Single Sign-on Domain
NetScaler Gateway Global Settings Change Global Settings Single Sign-on Domain
  • Gegebenenfalls müssen die Richtlinien des Gateway vServer auch bezüglich Single Sign-on-Domain angepasst werden
NetScaler Gateway Polices Session Cache
NetScaler Gateway Polices Session Cache

CLI Befehle

Das Zertifikat muss zunächst über WinSCP auf die Citrix ADC Appliance hochgeladen werden. Es muss unter dem Pfad /nsconfig/ssl/ abgelegt werden.

Beispiel:

Wenn die Authentication Policies nicht bekannt sind. Diese können wie folgt herausgefunden werden (rote Umrandung). In der blauen Umrandung sind die Session Policies hinterlegt.

Beispiel:

Primary ldap authentication policy name

Jetzt wo die Session Policies bekannt sind und können die Session Profiles anpassen.

show vpn sessionaction

Citrix Federated Authentication Service (FAS)

Zertifizierungsstelle

Als Nächstes muss eine Microsoft PKI-Umgebung erstellt werden, wenn es diese in der Domäne noch nicht gibt. Macht dies auf dem Rechner, der als Zertifizierungsstelle dienen soll. In meinem Beispiel ist es der Domänen Controller selbst.

  • Dazu geht in den Server Manager und klickt auf Add Roles and Features
Server Manager
  • Klickt durch den Wizard bis zum Punkt Server Roles und wählt Active Directory Certificate Services aus
  • Bestätigt die Auswahl mit Add Features
Add Roles and Features Wizard
  • Klickt dann in den Registerkarten Server Roles, Features und AD CS auf Next
Active Directory Certificate Services
  • Unter Role Services wählt folgende Punkte aus:
    • Certification Authority
    • Certification Authority Web Enrollment
AD CS Role Services
  • Falls Pop-up Fenster mit zusätzlichen Features erscheinen, bestätigt diese ebenfalls mit Add Features
Certification Authority Web Enrollment Add Features
  • Startet die Installation mit einem klick auf Install
Confirm installation selections
  • Klickt auf den Notifications Bereich im Server Manager
  • Klickt dort auf Configure Active Directory Certificate Services
Notifications Configure ADCS
  • In der folgenden Konfiguration können die Standardeinstellungen mit Next bestätigt werden
AD CS Configurations Credentials
  • Von mir genutzte Konfiguration:
    • Setup Type (Enterprise CA)
    • CA Type (Root CA)
    • Private Key (Create a new private key)
    • CA Name (Name of the CA, e.g. Deyda-CA)
    • Validity Period (5 Years)
  • Bestätigt die Einstellungen mit Configure
Configuration AD CS Confirmation

Nun muss dem Domänen Controller ein Zertifikat der lokalen CA ausgestellt werden.

  • Öffnet dazu die MMC auf dem Domänen Controller
start run mmc
  • Klickt auf File und dann auf Add / Remove Snap-in …
Add Remove Snap-in
  • Nun klickt auf Certificates und auf Add
Certificates
  • Wählt im folgenden Fenster Computer account und bestätigt dies mit Next
Certificates snap-in Computer account
  • Schließt das Fenster schließlich mit OK
Certificates Local Computer
  • Geht per Rechts-Klick auf Personal und klickt dann auf All Tasks > Request New Certificate…
Request New Certificate
  • Wählt im Fenster Certificate Enrollment die passende Active Directory-Enrollemtn Policy aus und klickt auf Next
Certificate Enrollment Before you begin
Certificate Enrollment Active Directory Enrollment Policy
  • Wählt Domain Controller Authentication aus und bestätigt dies mit Enroll
Domain Controller Authentication Enroll

Citrix Federated Authentication Service

Jetzt kann der FAS-Server installiert und konfiguriert werden. In meinem Beispiel installiere ich den FAS mit auf den StoreFront Server.

  • Hängt dazu die ISO der verwendeten Citrix Virtual Apps and Desktops Version ein und startet autoselect.exe
  • Startet dann die Installation, indem im folgenden Fenster Federated Authentication Service ausgewählt wird
Federated Authentication Service Citrix Virtual Apps and Desktops 7 1912 LTSR
  • Klickt auf „I have read, understand, and … “ und bestätigt dies mit Next
Software License Agreement FAS
  • Bestätigt nun die folgenden Standardeinstellungen mit Next
Citrix Virtual Apps and Desktops 7  Core Components
  • Und klickt wieder auf Next
Citrix Virtual Apps and Desktops 7  Firewall
  • Startet die Installation mit Finish.
Citrix Virtual Apps and Desktops 7  Summary
Installing prerequisites and components
  • Möglicherweise muss der Server während oder nach der Installation neu gestartet werden.
Citrix Virtual Apps and Desktops 7  Finish
  • Um die Grundkonfiguration des FAS über die GPO durchzuführen, kopiert die ADMX / ADML DAteien aus dem angegebenen Pfad des FAS Servers (C:\Program Files\Citrix\Federated Authentication Service\PolicyDefinitions).
Federated Authentication Service GPO Policy Definitions
  • Fügt diese in den PolicyDefinitions Speicher der Active Directory ein
Federated Authentication Service GPO Policy Definitions Active Directory
  • Erstellt eine neue oder editiert eine bestehende GPO, welche den folgenden Systemen zugeordnet werden muss:
    • FAS Server
    • StoreFront Server
    • VDA Worker
GPO Group Policy FAS
  • In der GPO navigiert in den Pfad:
  • Unter Federated Authentication Service gebt den FQDN des FAS Server ein
  • Aktualisiert die lokale GPOs auf dem FAs Server per gpupdate /force
cmd gpupdate /force FAS
  • Überprüft die Registry das die folgenden Einträge erstellt sind:

 Oder / Und

Registry Editor HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Citrix \ Authentication \ UserCredentialService \ Addresses
  • Startet nun über „run as administrator“ das Citrix Federated Authentication Service Tool
Citrix Federated Authentication Service Tool with the "run as administrator" parameter
  • Unter Connect to FAS Server sieht man die Liste der über GPO eingetragenen FAS Server.
  • Wählt den gewünschten Server aus und klickt auf OK.
Connect to the Federated Authentication Service
  • Im folgenden Fenster wird die FAS konfiguriert.
  • Klickt auf Deploy im ersten Bereich mit dem Namen Deploy certificate templates
Citrix FAS Administration Console Deploy certificate templates
  • Klickt auf OK, so dass die Zertifikat Templates automatisch im Hintergrund in der CA hinterlegt werden
Deploy Certificate Templates
FAS
  • Nach erfolgreicher Einrichtung erscheint ein grüner Haken neben dem ersten Punkt
  • Klickt dann auf Publish im zweiten Bereich (Set up a certificate authority)
Citrix FAS Administration Console Set up certificate authority
  • Unter Certificate Authority wählt eure Microsoft CA für FAS aus (z.B. DC01.deyda.local\CA-DEYDA) und klickt auf OK
Setup certificate authority FAS Server
  • Nach erfolgreichem Setup, erscheint auch neben dem zweiten Punkt ein grüner Haken
  • Nun klickt auf Authorize neben dem Punkt Authorize this service
Authorize this service FAS Server
  • Wählt wieder eure CA und klickt auf OK
FAS Server Authorize service Certificate Authority
  • Neben dem dritten Punkt erscheint nun ein blinkender Kreis, weil die ausgelöste Zertifikats Anfrage für den FAS Server noch in der CA bestätigt werden muss
Waiting for Approval Pending Certificate
  • Hierfür baut eine Verbindung zum CA Server auf und startet den Server Manager
  • Im Server Manager klickt auf Tools > Certification Authority
Server Manager CA Certification Authority
  • In der Certification Authority Konsole, klickt auf Pending Requests
certsrv Certification Authority Local FAS
  • Dort klickt mit der rechten Maustaste auf die Anfrage des FAS Servers (z.B. DEYDA \ CTX01) und klickt dann auf All Tasks > Issue
Pending Requests Issue All Tasks
  • Danach erscheint das Zertifikat unter Issued Certificates
Certification Authority Issued Certificates FAS Server

Das jetzt genehmigte Zertifikat läuft normalerweise alle 2 Jahren ab.

Es ist daher empfohlen, dieses Zertifikat in die Überwachung einzubeziehen, damit das Zertifikat rechtzeitig erneuert wird, bevor es abläuft.

Hier sind die PowerShell Befehle zum Abrufen des Ablaufdatums (Ersetzt CTX01.deyda.local mit dem FQDN des FAS Servers).

  • Nach der Genehmigung erscheint auch ein grüner Haken neben dem dritten Punkt
  • Nun klickt auf Create im Bereich Create a Rule
Authorize this Service Citrix Federated Authentication Service
  • Klickt auf Next um die Default Rule zu erstellen
Create a rule fas Create the default rule
  • Unter Template wählt Citrix_SmartcardLogon aus und klickt auf Next
Create a rule fas Template Citrix_SmartcardLogon
  • Im Certificate authority Bereich wählt eure FAS CA (z.B. DC01.deyda.local\CA-DEYDA) aus und klickt Next
Create a rule fas Certificate Authority CA
  • Nun wählt Allow in-session use wenn Double-Hop Szenarien auch unterstützt werden sollen
  • Klickt auf Next
Create a rule fas In-session use Allow in session use
  • Unter Access control klickt auf Manage StoreFront access permissions
Create a rule fas Access control Manage StoreFront access permissions
  • Im folgenden Fenster löscht die hinterlegte Gruppe der Domain Computers
Permissions for StoreFront Servers Domain Computers
  • Fügt danach eure StoreFront Server hinzu und gebt diesen die Assert Identity (Allow) Berechtigung
  • Bestätigt dies mit OK
Permissions for StoreFront Servers StoreFront Servers
  • Klickt nun auf Next
Create a rule fas Access control Manage StoreFront access permissions
  • Unter Restrictions können die Benutzer und die Worker definiert werden, für die die Zertifikatsauthentifizierung über FAS erlaubt werden soll
Create a rule fas Restrictions Manage user permissions Manage VDA permissions
  • Klickt auf Manage user permissions
  • Hier können die Benutzer definiert werden, die sich über SAML bei Citrix anmelden können. Standardmäßig wird hier die Gruppe Domänen Benutzer gespeichert. Dies kann so bleiben.
Permissions for Users
  • Klickt auf Manage VDA permissions
  • Unter Manage VDA permissions wird wiederum die Liste der Citrix Worker definiert, bei denen die SAML Authentifizierung funktionieren soll. Standardmäßig steht dies auf Domänen Computer, was auch so bleiben kann.
Citrix Federated Authentication Service Configuration Security Access Control Lists Permission for VDAs FAS
  • Nachdem alles definiert wurde, klickt auf Next
  • Im letzten Fenster klickt auf Create
Summary Fas Create a rule
  • Jetzt haben alle Punkte einen grünen Haken
Citrix FAS

StoreFront

Jetzt werden die StoreFront Server konfiguriert, so dass diese mit dem FAS-Server kommunizieren können.

  • Geht auf die Citrix StoreFront Konsole und notiert denn Store (z.B. Store) der mit dem FAS Server kommunizieren soll
StoreFront Stores FAS PowerShell
  • Startet eine Administrative PowerShell auf dem StoreFront Server
Windows PowerShell Run as administrator StoreFront FAS
  • Führt die folgenden Befehl im PowerShell (Ändert den Store Pfad in Zeile 2 mit eurem vorher notierten Store Namen) Fenster aus:
Windows Power Shell FAS Get-STFAuthenticationService Set-STFClaimsFactoryNames -AuthenticationService $auth -ClaimsFactoryName "FASClaimsFactory"
Set-STFStoreLaunchOptions -StoreService $store -VdaLogonDataProvider "FASLogonDataProvider
  • Wenn die Zuordnung wieder deaktiviert werden soll, z.B. fürs Troubleshooting, führt den folgenden Befehl in einem administrativen PowerShell (Passt die Zeile 2 an) Fenster aus:
  • Nun öffnet nochmals die Citrix StoreFront Konsole
  • Klickt im rechten Menüband auf Manage Authentication Methods
Manage Authentication Methods StoreFront Citrix
  • Aktiviert Pass-through from Citrix Gateway, wenn es noch deaktiviert ist
Citrix StoreFront Manage Authentication Methods Pass-through from Citrix Gateway
  • Klickt dann auf das Getriebe Symbol neben Pass-through from Citrix Gateway und klickt auf Configure Delegated Authentication.
Citrix StoreFront Manage Authentication Methods Pass-through from Citrix Gateway Configure Delegated Authentication
  • Im folgenden Fenster, prüft das Fully delegate credential validation to Citrix Gateway aktiviert ist
  • Klickt zweimal auf OK um die Fenster wieder zu schliessen
Citrix StoreFront Manage Authentication Methods Pass-through from Citrix Gateway Configure Delegated Authentication Fully delegate credential validation to Citrix Gateway
  • Klickt nun auf Manage Citrix Gateways.
Manage Authentication Methods StoreFront Citrix
  • Fügt unter Manage Citrix Gateways ein neues Gateway hinzu oder bearbeitet ein vorhandenes, um eine Verbindung zum Citrix Gateway herzustellen, das später als Service Provider verwendet wird
Manage Citrix Gateways ADD EDIT FAS
  • In meinem Fall, wurde ein vorhandenes Gateway via Edit angepasst
  • Hierfür konfiguriert folgendes unter Authentication Settings:
    • Version (10.0 (Build69.4) or later)
    • VServer IP address (IP Adresse der Gateway VIP, z.B. 10.0.0.8)
    • Logon type (Domain)
    • Callback URL (Adresse für den Callback des StoreFront, z.B. https://citrix.deyda.net)
  • Bestätigt die Eingaben mit Finish
StoreFront Authentication Settings Callback URL

Wichtig:
Auch im internen DNS muss die Callback Adresse richtig aufgelöst werden.

DNS Lookup Fallback URL
  • Im Hauptmenü der StoreFront Konsole klickt auf Configure Remote Access Settings
  • Prüft das Allow users to access only resources delivered through StoreFront (No VPN tunnel) aktiviert ist
Configure Remote Access Settings - Store Service Enable Remote Access

Delivery Controller

Der XML-Trust muss noch auf dem Delivery Controller aktiviert werden, falls dieser nicht bereits aktiviert ist.

  • Um dies zu aktivieren, startet eine administrative PowerShell Konsole
Deliver Controller Citrix PowerShell Run as administrator
  • Führt den folgenden Befehl aus
Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true FAS Delivery Controller

In den neueren Version von CVAD (>1906) folgt nach dem ausführen der PowerShell Befehle ein Citrix-Cloud Fenster, in dem nochmals die Citrix-Cloud Anmeldedaten hinterlegt werden müssen.

Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true FAS Delivery Controller Citrix Cloud

Microsoft Azure Multi-Factor-Authentication with Conditional Access

Ausführlichere Hintergrundinformationen zu diesem Thema findet man hier.

Conditional Access

  • Zunächst baut eine Verbindung zum Azure-Portal mit einem Administrativen Account auf (https://portal.azure.com)
  • Klickt dort auf Azure Active Directory > Security
Azure Active Directory Security
  • Klickt auf Conditional Access
Conditional Access