In der Citrix Cloud gibt es mittlerweile viele unterschiedliche Möglichkeiten der Authentifizierung. Neben der nativen Citrix Cloud Anmeldung (optional mit 2FA) gibt es stand heute noch folgende Möglichkeiten:
- Azure Active Directory
- Citrix Gateway
- Okta
- Google Cloud Identity
- SAML 2.0 (z.B. für PING etc.)
Etwas neuer ist nun die Citrix eigene „Adaptive Authentifizierung“ hinzugekommen um die es in diesem Blogbeitrag geht.
Was ist Adaptive Authentifizierung?
Im Wesentlichen handelt es sich bei der Adaptiven Authentifizierung um ein Netscaler HA Paar (Enterprise 100), welches von Citrix auf Azure gehosted wird. Der Kunde benötigt dafür kein eigens Azure Abonnement. Als Kunde erhält man Vollzugriff auf die ADC Instanz und kann dort die Konfiguration nach Belieben vornehmen. Das Patchmanagement wird von Citrix durchgeführt, ebenfalls werden die notwendigen IP Adressen von Citrix gestellt.
Voraussetzungen
Für die Einrichtung sollten wir uns folgende Information bereithalten:
- Einen FQDN für die Instanz
- Zugang zum DNS Provider (wir müssen einen öffentlichen A-Record anlegen)
- Ein passendes öffentliches Zertifikat
- Eine passende Lizenz
Die Adaptive Authentifizierungs-Lizenz kann entweder als Add-On Lizenz zu allen Citrix DaaS Lizenz erworben werden oder ist ab der Citrix DaaS Premium Lizenz aufwärts bereits enthalten:
Konfiguration
Die Konfiguration erfolgt in 3 relativ einfachen Schritten. Provisionierung, Konfiguration und Aktivierung.
1. Provisionierung
Um mit der Provisionierung der ADC Instanzen zu beginnen, navigiert man einfach zu folgender URL: https://adaptive-authentication.cloud.com. Alternativ kann man sich auch über das Menü des Citrix Cloud Portals dorthin begeben („Identitäts- und Zugriffsverwaltung –> Adaptive Authentifizierung“).
Mit einem Klick auf „Provision“ startet man.
Im Anschluss muss man sich entscheiden, auf welchem Wege die OnPrem AD angesprochen werden soll. Die Wahl besteht zwischen Cloud Connectoren (Die Cloud Connector Appliance wird derzeit noch nicht unterstützt) und dem Azure VNet peering.
Dieser Schritt hat bei mir etwas 15 Minuten gedaurt.
Im weiteren Verlauf vergeben wir noch die Zugangsdaten, vergeben unseren FQDN und laden unser Zertifikat hoch.
Nachdem man das notwendige Zertifikat als PFX File hochgeladen, und das entsprechende Passwort eingegeben hat, zeigt der Wizard die öffentliche IP für den Authentifizierungsdienst an.
Erst wenn man den entsprechenden DNS Namen mit dieser IP als A-Record öffentlich bekannt gemacht hat, kann man mit den weiteren Schritten fortfahren.
Die letzte Aufgabe der Provisionierung besteht im bekanntgeben der öffentlichen IP-Adressen, die administrativ auf die Netscaler zugreifen dürfen. Änderungen der Konfiguration können wir also nur vorgenommen werden, wenn man von einer bekannten IP Adresse zugreift.
2. Konfiguration
Nach der Provisionierung erfolgt die Konfiguration. Der Wizard zeigt einem nun die Management IP Adressen der beiden Knoten an. Zugreifen können wir entweder über diese IP-Adressen, oder aber man macht sich die Mühe und erstellt wie empfohlen DNS Einträge und Konfiguriert entsprechend die Zertifikate (https://docs.citrix.com/en-us/citrix-adc/current-release/ssl/config-ssloffloading.html#configure-ssl-for-adc-admin-ui-access):
Nachdem man die IP-Adresse oder den DNS-Namen des primären Knoten im Browser eingibt (und natürlich von einer IP Adresse zugreift, die man vorher angegeben hat), wird man von der bekannten Netscaler (bzw. ADC oder wie auch immer Citrix sich entscheidet :-)) Anmeldemaske begrüßt.
Wer sich gewünscht hat hier einen fertigen SaaS Service zu erhalten, der wird leider (noch?) enttäuscht. Die Provisionierung hat lediglich 2 ADC Instanzen mit einer absoluten Basiskonfiguration auf Azure bereitgestellt. Man wird auch direkt vom altbekannten Welcome Screen empfangen, was mich doch etwas verwundert hat. Man sollte es tunlichst unterlassen!! hier eine Subnet IP Adresse zu vergeben.
Ich habe hie nur die Zeitzone eingestellt, einen NTP-Server hinterlegt und den Citrix ADM Service Connect durchgeführt.
Mit der Konfiguration der Authentifizierung wird man alleine gelassen. Bei der Provisionierung wurde ein AAA-vServer mit der IP Adresse angelegt,
Die Konfiguration der Authentifizierung ist nicht Teil dieses Blogs. Sie erfolgt ebenso wie bei einem onPrem ADC. Es gibt viele gute Beispiele im Netz z.B. auch auf Netscaler Community: PoC Guide: nFactor for NetScaler Gateway Authentication with Native OTP
In diesem Fall habe ich einen nFactor Flow gebaut, der das native OTP Feature des Netscalers nutzt. ManageOTP kann nur von vertrauten IP-Adressen (also aus dem Unternehmensnetzwerk) aufgerufen werden.
Benutzer aus Unternehmensnetzwerken müssen sich auch nur per Single-Faktor, also AD Passwrot anmelden. Wer von einer unbekannten IP Adresse kommt, muss seine zweiten Faktor angeben.
Dieser nFactor Flow muss dann an den AAA vServer gebunden werden.
3. Aktivierung
Der finale Schritt ist die Aktivierung. Diese erfolgt im Cloud Portal unter der Workspacekonfiguration –> Authentifizierung. Hier muss einfach der Haken bei „Adaptive Authentifizierung“ gesetzt werden.
Greift man nun per Browser oder Workspace App auf die Workspace URL zu, wird man auf die URL des Adaptive Authentication Services umgeleitet. Nach erfolgreicher Authentifizierung erfolgt wieder der Redirect zum Workspace.
Fazit
Meiner Meinung nach ist dieser Service zwar brauchbar, ist allerdings noch bei Weitem nicht ausgereift. Leider ist es nicht möglich diesen Service zu nutzen, wenn man nicht bereits Erfahrung im Umgang mit Netscaler hat. Um diesen Dienst interessanter zu machen benötigt, es meiner Meinung nach fertige Templates oder zumindest eine Wizard basierte Konfiguration, die man für die nFaktor Authentifizierung verwenden kann. Beispiele wären AD + MFA mit nativ OTP | Selektive MFA nach Lokation etc.