Mit dem Update von Chromium auf die Version 100.0.4896.60 gibt es einen Fehler beim Laden der Gateway/Storefont Seiten in Verbindung mit dem Portal Theme „RfWebUI“. Dabei hängen die User in einer Ladeschleife fest. Seit Microsoft am 31.März die neue Edge Version (mit entsprechender Chromium Engine) veröffentlicht hat, tritt das Problem nochmals deutlicher zu Tage.
Laut unseren ersten Beobachtungen trat das Problem nur mit RfWebUi und einem Browser/ einer Engine Version über 99 im User-Agent Header-String auf.
User-Agent Header neuer Microsoft Edge
Nach der Manipulation des Strings im Browserdebugger (mit der gleichen Chromium 100 Engine) funktionierte der Zugriff sofort wieder.
Manipulierter User-Agent Header
Citrix hat das Problem laut einem kürzlich veröffentlichtem KB-Artikel inzwischen eingegrenzt auf fehlerhafte Expressions in Verbindung mit einem Custom RfWebUI Theme. Im Artikel ist ein permanenter Fix beschrieben:
Nachdem wir uns in Teil 1 und Teil 2 der Serie „VerSAMLung“ mit Webapplikationen beschäftigt haben, betrachten wir in Teil 3 die Anbindung von Citrix Virtual Apps and Desktops (CVAD) mit Azure Active Directory Anmeldung. Da auch hier kein Kennwort vorliegt, welches für ein Single Sign on genutzt werden könnte und der Storefrontserver kein KCD unterstützt, kommt eine weitere Citrix Komponente „Citrix Federated Authentication Service“ (FAS), welche eine virtuelle Smartcard Anmeldung am Citrix Desktop ermöglicht zum Einsatz.
Dies ermöglicht dem User ein einmaliges Anmelden an seinem Azure AD integriertem Notebook und danach ohne weitere Passworteingabe direkt auf Citrix CVAD zuzugreifen.
Editieren der Default Rule auf dem Citrix FASStorefront Server BerechtigungenVDA Berechtigungen (in dieser kleinen Testumgebung haben wir keine spezielle Ausnahme gemacht)Benutzer Berechtigungen (Auch hier dürfen alle Benutzer die Regel nutzen)
FAS integration für den Storefront Store aktivieren (Per Powershell auf dem Storefrontserver ausführen, dabei Storenamen anpassen):
Als nächstes muss nun überprüft werden ob die entsprechenden Authentication Methods aktiviert sind. Hierbei ist darauf zu achten, dass unter „Pass-through from Citrix Gateway“ der Haken unter „Configure Delegated Authentication“ gesetzt ist:
Authentication MethodsDas Setzen des Hakens veranlasst den Storefront komplett dem Gateway zu vertrauen für die Anmeldedaten. Hierfür ist dann allerdings ein sog. Callback erforderlich, den wir im nächsten Schritt konfigurieren.Es sollte später geprüft werden, ob die Callback URL eingetragen und auch von den Storefrontservern erreichbar ist. Wichtig: das Gateway/ Callback -RL Zertifikat muss dabei vom Storefront als Vertrauenswürdig betrachtet werden, sonst funktioniert der Callback nicht.
Einrichtung Gateway Virtual Server auf dem ADC
Als nächstes muss man das Citrix Gateway konfigurieren. Wenn noch kein Gateway existiert kann mit dem Wizard eins mit Standard Settings erstellt werden:
Erstellen des Citrix Gateway via Wizard
Name, VIP, FQDN und Port festlegen
Zertifikat anbinden
zu Testzwecken haben wir ein selbst signiertes Zertifikat genommen (welches wir auch auf dem Storefront als vertrauenswürdig hinzugefügt haben)
Als Primäre Authentication haben wir Radius genommen (entfernen wir später wieder), andernfalls läuft der Wizard nicht weiter. Dann wählen wir das Portaltheme aus.
Die Anbindung von CVAD erfolgt im Abschnitt „Applications“. Auf Add Applications klicken um die Applikationen hinzuzufügen.
in unserem Fall wählen wir XenApp & XenDesktop (der neue Name scheint im Wizard noch nicht angekommen) und wählen als Integrationspunkt den Storefront aus.
Storefront URL und STA Adresse hinzufügen
Mit Done wird der Wizard geschlossen und das Gateway ist gebaut.
Einrichtung Enterprise Application im Microsoft Azure Portal
Auch hier benötigen wir wieder eine Enterprise Applikation in Azure AD wie in Teil 1 schon beschrieben.
Gateway/ SAML SP Konfiguration auf dem ADC
Nun entfernen wir die Dummy Radius Policy, die wir mit dem Wizard erstellt haben.Statt der Radius Policy legen wir jetzt einen AAA Virtual Server an, an den wir die SAML Policies binden und den wir später selber in Netscaler N-Factor Manier per Authentication Profile an das Gateway binden.
add authentication vserver aaamwdemo SSL 0.0.0.0
Zertifikat an den AAA Virtual Server binden (tritt hier nicht äußerlich in Erscheinung, muss aber vorhanden sein).
Die „Redirect“ und die „Single Logout Url“ sind bei unserem Beispiel (Microsoft Azure AD) gleich und können den Settings der Enterprise Application im Azure entnommen werden („Reply URL“ und „Single Sign On Url“).
Dort laden wir uns ebenfalls das „SAML Signing“ als „Certificate (Base64)“ herunter und fügen es auf dem ADC als „IDP Certificate“ über den Knopf „Add“ hinzu (siehe nächster Screenshot).
Das EA Feld „Identifier“ im Azure und das Feld „Issuer“ auf dem ADC müssen den gleichen Text String enthalten, wir haben die URL/den FQDN des SAML-SP verwendet.
Nach Citrix Best Practices muss zur Absicherung eine Relaystate Regel konfiguriert werden (vergl. Citrix Application Delivery Controller and Citrix Gateway – SAML Configuration Reference Guide): https://support.citrix.com/article/CTX316577
bind authentication vserver aaamwdemo -policy pol_AzureSSOHapp-Citrix-ADC-CVAD -priority 100 -gotoPriorityExpression NEXT
Im nächsten Schritt legen wir ein Authentication Profile an, welches die AAA Settings zusammenfasst und die Bindung an das Gateway ermöglicht.Im Profil wird der AAA Virtual Server verknüpft.Die Domain kann leer gelassen werden oder wenn der Cookie von verschiedenen Virtual Servern genutzt werden soll, die übergeordnete Domain angegeben werden.
Über den Punkt „Authentication Profile“ wird das Profil an den Gateway Virtual Server gebunden. Hinweis: Das Objekt sollte danach nicht mehr mit dem Wizard bearbeitet werden.
Dem aufmerksamen Betrachter sind vielleicht die SSL Settings des Gateways aufgefallen. Diese sind so vom Wizard erzeugt worden und nur für eine Testumgebung einzusetzen. Für den produktiven Einsatz wären diese anzupassen (z.B. SSL abschalten, Perfect Forward Secrecy implementieren, aktuelles Cipherset erstellen).
Test der fertigen Konfiguration
Wenn man sich nun von einem nicht Azure AD integrierten Gerät anmelden würde, erschiene je nach Azure Conditional Access Konfiguration ggf. einfach die Azure Anmeldeseite und/oder die Tokenabfrage auf dem Mobiltelefon und danach die Storefront oder RFWEBUI Oberfläche, von der aus man die Applikationen starten kann.
Wenn sich der User an einem Azure AD integrierten Gerät anmeldet, ist er danach direkt am Azure AD angemeldet. Greift er dann auf den ADC zu , wird er dort über die Vertrauensbeziehung zwischen ADC als SAML SP und Azure AD als SAML IDP direkt angemeldet und kann die Applikationen starten.
Wie im Folgenden Video zu sehen ist nur die Anmeldung am Notebook/ Desktop erforderlich, alles weitere erfolgt über Single Sign On:
Im ersten Teil unserer Serie „verSAMLung“ haben wir den Citrix Application Delivery Controller (ADC) als SP an die MS Azure MFA Authentifizierung (als IdP) angebunden und so die bequeme und transparente Nutzung von Applikationen auf dem Citrix ADC möglich gemacht, welche mit einer Pre-Authentifizierung geschützt sind.
Bisher muss man sich nach der Anmeldung am Azure (welche der ADC nutzt) noch immer an der eigentlichen Applikation anmelden, aber auch dafür gibt es eine Lösung. Der ADC bietet die Möglichkeit Anmeldedaten zu extrahieren und die diese auch für den Single Sign On im Backend zu benutzen. Im einfachsten Fall, könnte die dem ADC bekannte Username/ Kennwort Kombination z.B. für eine 401 Header Based Authentication genutzt werden, hierfür wäre lediglich eine Traffic Policy, welche Web Single Sign On anschaltet, notwendig.
In Verbindung z.B. mit SAML oder Certificate based Authentication ist das Vorgehen ein klein wenig komplizierter, da auf dem ADC keine Anmeldedaten vorliegen (was dem Sicherheitsniveau natürlich sehr zuträglich ist). Hier muss ein Verfahren genutzt werden, welches alleine mit den im SAML Token vorhandenen oder im Zertifikat vorhandenen Informationen auskommt. Neben der Möglichkeit hier im Backend ebenfalls SAML für den SSO zu benutzen, gibt es die Möglichkeit Kerberos Constrained Delegation (KCD) zu nutzen. Da sämtliche Applikationen aus dem Windows Umfeld damit sehr einfach angebunden werden können, bietet sich diese Möglichkeit oft an um eine Applikationen zu verSAMLen (SAML fähig zu machen).
DNS und NTP auf dem ADC
Wie auch in den späteren Logs erkennbar sein wird, benötigt der Netscaler für die Nutzung von Kerberos eine funktionierende DNS Auflösung der Windows Active Direcory Domain und eine per NTP korrekt synchronisierte Uhrzeit. Für die Domain/ den DC kann theoretisch auf dem Netscaler auch manuell ein Ressource Record hinzugefügt werden. Zur Zeitsynchronisation sind idealerweise mindestens zwei NTP Server einzutragen und die Synchronisation einzuschalten.
Konfiguration AD Account / Delegation
Bei der Constrained Delegation wird ein Servcie Benutzer für den NetScaler angelegt, dem dann die Delegierung (Zugriff im Auftrag eines anderen Benutzers) erlaubt wird:
Nachdem der Benutzer angelegt wurde, muss der HOST SPN gesetzt werden, damit die Regsiterkarte „Delegation“ erscheint:
setspn -S HOST/[Name d. Deleg.-konto].[FQDN] [NetBIOS-Domainname]\[Name d. Deleg.-konto]
Setzen des Host SPNKerberos Delegierungskonto 1/2
Auf der Registerkarte „Delegation“ des Accounts wird dann die eigentliche Delegierung konfiguriert, der Service SPN „http/demoweb.mwdemo.local@MWDEMO.LOCAL“ für einen internen Microsoft IIS Webserver.
Kerberos Delegierungskonto 2/2
Konfiguration KCD auf dem ADC
Für den Account wird dann auf dem ADC ein KCD Objekt erstellt, welches in einer Traffic Policy eingebunden wird:
Mittels einer Traffic Policy und einem Traffic Profile, welches auf dem Load Balancing Vserver gebunden wird, wird gesteuert an welchen Stellen die KCD SSO Settings angewendet werden sollen:
Traffic Profile (unten ist der KCD Account ausgewählt)
add tm trafficAction prof_traf_wia_demoweb_kcd -SSO ON -persistentCookie OFF -InitiateLogout OFF -kcdAccount wiakcd_appdelegation
Traffic Policy über die das o.g. Profile angebunden wird
Ein Debugging ist mittels cat /tmp/nkrb.debug möglich.
Bei unserem ersten Versuch in der Demo Umgebung gab es wegen den unterschiedlichen Realms in Verbindung mit dem Azure AD noch Probleme:
Log Fehler
Wir haben daraufhin in den KCD Settings das Feld „User Realm“ ergänzt, dies verhindert, dass wie oben eine Cross Realm Authentifizeirung zwischen Azure AD und AD Domäne versucht wird. Somit wird die Anfrage „Username@michaelwesseldemo.onmicrosoft.com“ zu der passenden Anfrage „Username@mwdemo.local“ umgewandelt. Dieser „Workaround“ betrifft unserer Testumgebung aufgrund der fehlenden routingfähigen Domäne.
Hier die Logs des Erfolgsfalls:
Log Erfolg – 1Log Erfolg – 2 Log Erfolg – 3Log Erfolg – 4Log Erfolg – 5Log Erfolg – 6Log Erfolg – 7
Im Nachfolgenden erläutern wir die Vorteile, wenn Citrix ADC und Azure Active Directory verSAMLt sind und wie wir dies umgesetzt haben.
Folgende Vorteile ergeben sich:
Benutzer muss lediglich beim Anmelden am Arbeitsgerät ein Passwort eingeben (SSO) und ist somit automatisch beim Citrix NetScaler bekannt und bestenfalls alles was mit diesem verknüpft ist. Von dort aus kann z.B. der Zugriff auf Applikationen wie Citrix Xenapp/XenDesktop oder auch Web-Applikationen erfolgen. (Ohne zusätzliche Anmeldung)
Azure AD als der Zugangspunkt für Benutzer.
Benutzersteuerung/Berechtigungsverwaltung zentral in Azure AD.
Conditional Access\Begrenzter Zugriff + MFA (Azure AD P1 Lizenz)
Das SAML Protokoll wurde geschaffen um über eine Teilung in Identity Provider (IdP) und Service Provider (SP) die Authentication für Zugriffe zu ermöglichen. Dabei kann sofern eine Applikation z.B. aus der Cloud bezogen wird, trotzdem gegen einem IdP, der unter Kontrolle des eigenen Unternehmens steht authentifiziert werden (in unserem Falle ist dieser in der Cloud als MS Azure AD ausgeprägt). Der SAML SP (AAA auf dem ADC) vertraut diesem IdP und lässt den Request beim Vorhandensein der Authentifizierungsinformationen passieren. Sind die Informationen nicht vorhanden, würde der Citrix ADC auf die Anmeldeseite des SAML IdP weiterleiten.
In unserem speziellen Fall meldet das Gerät bereits beim MS Windows Logon den Benutzer in der Cloud beim Azure AD an. Der Benutzer besitzt daher zum Zeitpunkt seines ersten Zugriffs schon die entsprechenden Anmeldeinformationen und der ADC (bzw. die AAA / SP Komponente) lässt den Benutzer mit SSO passieren.
Deployment einer Enterprise Applikation in Azure (IDP)
Um eine Kommunikation mit dem Citrix ADC via SAML herzustellen benötigt man auf der Azure Active Directory Seite eine Enterprise Applikation. Diese wird im Azure Active Directory -> Enterprise Applications -> New Application bereitgestellt und wird benötigt um sich mit dem SP per SAML auszutauschen.
Microsoft bietet bereits diverse Vorlagen für Enterprise Applikationen an. In unserem Fall benötigen wir die Vorlage „Cirix ADC SAML Connector for Azure AD“.
In der Enterprise Applikation müssen die benötigten Informationen wie Identifier, Reply URL und Sign On URL des Citrix ADC hinterlegt werden.
1.) Enterprise Applikation -> Name der APP -> Single Sign-on Identifier: https://FQDN Reply URL: http(s)://FQDN der WebApplication/cgi/samlauth Sign On URL: https://FQDN/CitrixAuthService/AuthService.asmx
Ebenfalls finden sich dort die Informationen die der Citrix ADC im späteren Verlauf benötigt z.B. die Login URL von Azure Active Directory oder die Metadaten URL.
2.) Mittels Metadaten URL kann der Austausch der Informationen zwischen AAD und ADC automatisch erfolgen. Voraussetzung hierfür ist dass die Version des CItrix ADC den Austausch via Metadaten bereits unterstützt.
3.) Falls ein Austausch via Metadaten nicht in Frage kommt ,können die Informationen auch manuell dem Citrix ADC übergeben werden (Login URL, Zertifikat…).
Berechtigungskontrolle für die Enterprise Applikation
Im Anschluss müssen die Benutzer noch die Berechtigungen erhalten, um die Enterprise Applikation nutzen zu können. In unserem Fall stellen wir die Applikation für alle Benutzer zur Verfügung. Wir deaktivieren somit die Zuweisung für einzelne Benutzer komplett:
Assignment required = No
Falls eine Zuweisung an einzelne Benutzer erwünscht ist, einfach „Assignment required“ auf „Yes“ umstellen (Standardeinstellung) und die Zuweisung für Benutzer unter „Users and Groups“ durchführen.
Konfiguration des AAA Servers / SAML SPs auf dem ADC
Um eine Applikation auf dem Netscaler mit einer Preauthentication zu schützen, kommt die AAA Funktion zum Einsatz. Hierfür wird ein AAA Virtual Server Objekt angelegt, welches in der SAML Welt gleichzeitig den SAML Service Provider (SP) darstellt, der in unserem Fall dem Microsoft Azure Identity Provider (IdP) vertraut. Um für eine Web Applikation die Anmeldung am AAA bzw. dem SAML IdP zu erzwingen, wird der AAA Vserver auf dem enstprechenden Load Balancer oder Content Switch Objekt über die „Authentication“ Registerkarte verknüpft.
Anlage des AAA Virtual Servers
add authentication vserver aaademo SSL 0.0.0.0
Ein SSL Zertifikat muss gebunden werden, auch wenn der AAA Vserver nicht direkt angesprochen wird.
Falls der Import der Metadaten nicht funktioniert, können die Daten auch aus dem XML extrahiert werden und manuell hinterlegt werden. Das IdP Zertifikat lässt sich auf der Azure Enterprise Appliacation im Azure Portal exportieren (Base64 bietet sich an).
Die erstellte SAML SP Policy muss dann an den AAA Virtual Server / SAML SP gebunden werden und der AAA Virtual Server auf der Registerkarte „Authentication“ des Load Balancers oder Content Switches verknüpft werden. Auf ADCs mit einer aktuellen Firmware haben sich zudem die Defaults für die Athorization geändert, so dass eine pasende Authorization Policy anzulegen ist.
Ausblick
Mit dem Vorliegen der Anmeldeinformationen kann auf dem Netscaler auch eine detaillierte Berechtigung auf bestimmte URLs anhand von z.B. Gruppenmitgliedschaften über Authorization Policies erfolgen.
Außerdem ist es möglich authentifizierte Benutzer z.B. per SAML oder KCD an Servern hinter der Pre-Authentication automatisch anzumelden.
Im MS Azure sind umfangreiche Möglichkeiten der Multi Faktor Authentifizierung und des Conditional Access möglich.
Mehr zu diesen und anderen Möglichkeiten werden sie in den weiteren Artikeln unserer Serie „verSAMLt“ lesen.
Neben der Nutzung des ADC als Load Balancer und Content Switch oder Gateway für Virtual Apps and Desktops, bietet die Lösung auch die Möglichkeit echtes SSL VPN zu implementieren.
Falls ein bestehender Gateway Virtual Server konfiguriert ist, kann dieser mit wenigen Schritten oft um ein wahlweises SSL VPN erweitert werden.
Voraussetzungen
Netscaler Gateway Virtual Server muss im Smart Access Modus sein („IcaOnly = false“)
Es müssen ausreichend Universal Licenses vorhanden sein, für alle Verbindungen zu diesem Gateway Virtual Server
Einbau in ein bestehendes Gateway
Am einfachsten lässt sich das Full-VPN in ein bestehendes Gateway implementieren, wenn man über eine Gruppenmitgliedschaft einem teil der Benutzer die selektive Auswahl des Full VPN als Alternative zum Virtual Apps and Desktops anbiete. Hierzu gibt es idealerweise in der LDAP Policy des Gateways eine funktionierende Group Extraction. Der ADC wird dann beim Login eines Benutzers versuchen LDAP Gruppenmitgliedschaften auf ADC Gruppenmitgliedschaften (hier: CitrixFullVPN) zu übersetzen.
add aaa group CitrixFullVPN
An diese Gruppe können wir nun den gewünschten Client IP-Bereich für das VPN binden und eine entsprechende Policy, welche die Benutzerauswahl („-Client Choices ON“) einblendet und die VPN Funktion zusätzlich konfiguriert:
add vpn sessionAction AC_VPN -splitDns REMOTE -splitTunnel OFF -transparentInterception ON -defaultAuthorizationAction ALLOW -SSO ON -ssoCredential PRIMARY -icaProxy OFF -wihome "https://store.mycompany.de/Citrix/StoreWeb" -ClientChoices ON -ntDomain mycompany -clientlessVpnMode OFF -iconWithReceiver OFF
add vpn sessionPolicy PL_VPN-classic ns_true AC_VPN
bind aaa group CitrixFullVPN -intranetIP 192.168.1.0 255.255.255.0
bind aaa group CitrixFullVPN -policy PL_VPN-classic -priority 100
Bei der Konfiguration kann über die Parameter „-splitTunnel“ und „-splitDns“ angegeben werden, ob der komplette Traffic in den Tunnel geleitet werden soll oder nur ein Teil des Traffics. Eine ähnliche Konfiguration ist für DNS möglich. Im obigen Beispiel, wird der komplette Traffic nach dem VPN Verbindungsaufbau in den Tunnel geleitet und DNS Remote, also über den Netscaler abgewickelt.
Routing
Es ist theoretisch möglich die Full VPN Funktionalität ohne einen zusätzlichen Adressbereich zu nutzen, der Netscaler lässt dann alle Clients per Übersetzungstabelle über die SNIP kommunizieren. In der Praxis hat sich gezeigt, das einige Backendsysteme damit nicht klarkommen und der Traffic außerdem in einer Firewall selektiver behandelt werden kann, wenn ein zusätzlicher Adressbereich genutzt wird. Zu diesem Adressbereich wiederum wird dann über die bestehende SNIP des Netscalers geroutet. Es ist also auf einer zentralen Firewall oder einem Gateway eine Route analog dem folgenden Beispiel zu konfigurieren:
Das Netscaler Gateway Plugin beherrscht neben den klassischen primären und sekundären Faktoren auch die Anzeige der Netscaler NFactor Faktoren/ eines Flows im Plugin und kann somit auch damit kombiniert werden.
Die Verbindungen innerhalb des VPNs können mittels Authorization Policies pro Benutzer oder Gruppe eingeschränkt werden.
Always On before logon Funktion des Netscaler Gateway
Inzwischen dürfte sich rumgesprochen haben, das über die Netscaler Gateway Funktion des Netscalers nicht nur ein Zugriff auf ein XenDesktop realisiert werden kann, sondern auch Web-Applikationen und ein vollwertiges SSL VPN integriert werden können.
Weitaus weniger bekannt ist, dass mit der Version 11.1 der Netscaler Firmware zur SSL VPN Funktion eine Always On Funktion bzw. jetzt zusätzlich noch eine „Always on service“ Funktion hinzugekommen ist.
Bisher konnten sich Benutzer an einem Notebook anmelden um dann eine Netscaler Gateway Verbindung aufzubauen und dann gesteuert über ein Session Profile ein Full VPN aufbauen.
Die bisherige Funktion konnte prinzipbedingt einige Situationen nicht abdecken:
Benutzer startet das Notebook außerhalb des Unternehmensnetzes und benötigt Support bei der VPN/ Gateway Anmeldung.
Ein Benutzer wechselt mit einem eingeschalteten Gerät aus dem VPN (z.B. Internet Cafe/ Homeoffice etc.) in das Unternehmensnetz oder will mit einem Gerät transparent weiterarbeiten welches vorher im Unternehmensnetz war.
Das Unternehmen möchte den Netzwerkzugriff bei abgebautem VPN kontrollieren.
Neue Benutzer ohne Cached Credentials müssen sich am mobilen Gerät anmelden.
Das Notebook soll bereits vor dem Windows Logon im Netz sein um es mit Policies oder Softwareverteilung zu versorgen.
Wie funktioniert der Always on Service bzw. die neue Funktion „Always on before logon“?
Die Always On Funktion verbindet ein mobiles Endgerät mit einem VPN Endpunkt, mit dem es zuvor manuell verbunden wurde.
Abhängig davon ob sich das mobile Endgerät im Unternehmensnetz oder „on the road“ befindet, wird die VPN Verbindung automatisch auf und abgebaut.
Die Funktion „always on before logon“ wird über den „Always on service“ realisiert (Ablauf im Modus „Always on sErvcie with a user persona“):
Nach dem Einschalten des Geräts wird eine Verbindung, der „Machine level tunnel“ zum Netscaler Gateway mit einem Device Zertifikat aufgebaut
(Bild von Citrix)
Der Benutzer meldet sich mit seinem AD Benutzer an das Gerät an
Nach der Anmeldung wird der Benutzer ggf. nach seinem zweiten Faktor befragt und nach erfolgreicher Verifizierung der „Machine Level tunnel“ durch einen „User level Tunnel ersetzt“
Wenn der Benuter sich abmeldet wird der „User Level Tunnel“ wieder durch den „Machine level tunnel“ ersetzt
Ob und welcher Tunnel aufgebaut ist, lässt sich bei einem gesperrten Gerät über die Sign-In Options sehen (service mode= Machne level tunnel):
(Bild von Citrix)
Wie funktioniert die normale „Always on“ Funktion ?
Sollte keine primäre Netzwerkverbindung vorhanden sein, wartet der Always on Service im Hintergrund auf den Verbindungsaufbau.
Nach der neuen „always on before logon“ Funktionalität greift die bereits länger vorhandene „always on“ Funktion.
Durch ein Always On Profile auf dem Netscaler kann kontrolliert werden, ob die VPN Verbindung aufgebaut bleiben soll, wenn das Gerät sich im Unternehmensnetzwerk („Location based VPN“) befindet oder was passieren soll wenn kein VPN Tunnel aufgebaut werden kann („Network Access on VPN Failure)“. Über das Setting „Full Access“ kann normaler Netzwerkzugriff und logon an jedem anderen Netscakler Gateway als Backup freigeschaltet werden.
(Bild von br/ MWDE)
Systemanforderungen
AlwaysOn service
Windows version
Citrix ADC and Windows VPN plug-in version
Always on service without a user persona
Windows 7 and later
No recommendation on specific Citrix ADC version. VPN plug-in must be version 13.0.36.xx and later or 12.1.53.xx and later.
Always on service with a user persona
Windows 8 and later
Citrix ADC and VPN plug-in must be version 13.0.41.xx and later.
Welche Schritte sind zur Konfiguration von „Always on service with a user persona“ notwendig?
Für ein bestehendes Netscaler Gateway muss ein Authentication Profile mit einem neuen AAA Authenticationserver erzeugt werden (sofern noch kein Netscaler N-Factor im Einsatz ist)
Es muss eine EPA Policy hinzugefügt werden welche auf „is_aoservice“ prüft und die Action „sys.client_expr(“device-cert_0_0”)“ triggert (Binden mit Prio 100).
Es muss eine EPA Policy hinzugefügt werden welche auf „is_aoservice.not“ prüft den Actiontyp „No_AUTHN“ hat (Binden mit Prio 110) als „Next Factor“ wird eine LDAP Authentication Policy hinterlegt.
Sowas passiert nur alle paar Jahre mal – eine Sicherheitslücke von solch drastischer Kritikalität. Das BSI hat denn auch die potenziellen Auswirkungen zunächst erheblich unterschätzt und den Fall als weit weniger kritisch bewertet als das US-amerikanische NIST. Inzwischen ist aber klar, dass der Fall es nicht umsonst bis in die Tagesschau geschafft hat.
Für einen bestimmten Build (50.28) von Citrix ADC/Gateway (the artist formerly known as NetScaler) wirken die Workarounds aufgrund eines weiteren Bugs nicht – zusätzliche Maßnahmen oder ein Update auf einen halbwegs aktuellen Build von 12.1 sind erforderlich (siehe Citrix Artikel)
Citrix hat Updates zur Fehlerbehebung angekündigt, für die Versionen 11.1 und 12.0 sind diese Stand heute verfügbar, für weitere unterstützte Versionen sollen die Updates spätestens nächste Woche folgen
Seit der zweiten Januar-Woche wird die Lücke aktiv ausgenutzt, spätestens ab dieser Zeit konnten intensive Scans durch die ganze Welt beobachtet werden, die verwundbare Systeme identifiziert und vermutlich für spätere Angriffe dokumentiert haben
Nachdem die ersten weniger freundlichen Hacker ihren Exploit Code veröffentlicht haben, wurden weitere Skripte von gewissenhaften Security Experten veröffentlicht, da die Katze nun aus dem Sack war, die eigentlich noch zurückgehalten werden sollte
Auf einem verwundbaren System sind Spuren der Kompromittierung zu finden, so lange sich der Angreifer nicht sehr gründlich Mühe gibt, diese zu verwischen – und den nötigen Zugriff dafür erlangt hat
Falls keine Spuren zu finden sind, ist dies keine 100%-ige Garantie, dass nichts passiert ist
Bei den ersten Spuren sind insbesondere Zertifikate (Private Keys) auf den betroffenen Systemen als kompromittiert zu betrachten und sollten zurückgerufen und ausgetauscht werden
lokale Benutzer auf betroffenen Systemen sind insofern gefährdet als dass der Angreifer potenziell Hashes der Passwörter in seinen Besitz bringen konnte, die er nun versuchen kann in Ruhe per brute force zu enttarnen – Passwortwechsel sollten umgehend umgesetzt werden
Weiterhin sind auf dem betroffenen System konfigurierte Service Accounts für die interne Infrastruktur gefährdet und müssen als kompromittiert angesehen werden
Eine Neu-Installation betroffener Systeme sollte sowieso vorgenommen werden
Insbesondere falls keine Firewall vor dem betroffenen System ausgehende Verbindungen verhindert, kann der Angreifer sogar eine Remote Shell auf dem System erlangt haben. Von diesem Fuß in der Tür kann er alle darüber hinaus netzwerktechnisch erreichbaren Systeme ins Visier genommen haben – zusammen mit erlangten Informationen zu Service Accounts ein Silbertablett für weiteres Eindringen
Was wir tun
Nach der frühzeitigen Information und Unterstützung unserer Kunden im Dezember arbeiten wir seit einer Woche nunmehr in Eskalationen und Analysen bei zahlreichen Fällen mit. Dabei geht es immer um eine Kadenz von Maßnahmen:
Schutzstatus feststellen
Schutz ggf. herstellen
Kompromittierungsstatus feststellen
Isolation und Recovery ggf. einleiten
Mögliche Tiefe der Kompromittierung feststellen (was kann der Angreifer unmittelbar erlangt haben)
Mögliche Kompromittierungen weiterer Systeme analysieren (was kann der Angreifer ggf. über das direkt verwundbare System hinaus erreicht haben)
Das Ergebnis kann leider fast nie eine sichere Aussage der Art „es ist nichts passiert“ sein. Dieser kann man sich nur anhand von Indizien annähern. Lediglich bei unmittelbar nach Bekanntwerden konsequent und korrekt implementierten Schutzmaßnahmen gehen wir von einer faktischen Unversehrtheit aus. In allen anderen Fällen muss eine Risikobewertung stattfinden, um die Tiefe und Ausführlichkeit zu bestimmen, in der analysiert und bereinigt werden muss.
Aufgrund der Menge an Fällen sind unsere Vorlaufzeiten zur umfassenden Bearbeitung neuer Anfragen aktuell im Bereich von Tagen. Die ersten Schritte in o.g. Kadenz können aber jederzeit im Bereich Same, maximal Next Business Day gegangen werden. Kommen Sie gerne auf uns zu.
Es war ein beispielloses Szenario: Für mehrere Tage waren keinerlei Firmware-Versionen von Citrix NetScaler zum Download verfügbar, zurückgezogen aufgrund eines nicht näher spezifizierten „Issues“, der gefunden worden sei.
Die Verweise auf Best Practises und Secure Deployment Guides legten bereits nahe, dass ein Sicherheitsrisiko im Bereich des Management Access vorliegen dürfte. Dieser ist immer auf der NetScaler IP (NSIP) als der primärer Management-IP zugänglich und kann auf jeder Subnet IP (SNIP) ebenfalls aktiviert werden. Welcher Dienst genau betroffen sei (in Frage kamen SSH oder der Webserver für die GUI), war nicht erkennbar. In den allermeisten Deployments jedoch dürfte der verwundbare Dienst ohnehin nur im Management-Netz erreichbar gewesen sein, gemäß Best Practises sogar nur für explizit berechtigte Admin-Arbeitsplätze. Insofern erschien die Maßnahme überraschend heftig, zu der Citrix mit dem Zurückziehen sämtlicher Builds griff.
Jetzt hat Citrix neue Builds der supporteten Versionen 10.1, 10.5, 10.5e, 11.0, 11.1 und 12.0 bereitgestellt. Im zugehörigen Security Bulletin ist nun auch ausgeführt, worum es sich handelt: Die Authentifizierung am Management Interface kann unter bestimmten Umständen umgangen werden, so dass Unbefugte administrativen Zugriff erlangen können.
Zeitnahe Updates sind dringend angeraten. Derweil die schon empfohlenen Best Practises zum sicheren Deployment. In allen Punkten unterstützen wir zahlreiche Unternehmen aktiv – kommen Sie gerne auf uns zu, wenn Sie Fragen haben.
Wir haben schon lange in etlichen internen Runden darauf gedrängt, und auch die ersten positiven Signale (natürlich streng vertraulich) bereits im Sommer zurückbekommen. Und jetzt ist es endlich offiziell: Citrix lockert die SSL-VPN Lizenzierung auf. Bisher konnten wir trotz der Investition in Citrix NetScaler Standard oder Enterprise Lizenzen nur 5 Concurrent User SSL-VPN nutzen. Weitere User mussten separat per NetScaler Gateway Universal Licenselizenziert werden oder aus XenApp / XenDesktop Platinum übernommen werden. Einzig die NetScaler Platinum Lizenz hat 100 CCU SSL-VPN mitgebracht.
Wie schon angekündigt gibt es einige Neuigkeiten rund um die neue NetScaler 11.1 Firmware. Für das neue NetScaler Management and Analytics System (MAS) habe ich mir ein paar Tage in unserem DemoCenter und unserer Lab-Umgebung gegönnt.