Wie man AccessGateway (ICAProxy) und HTTP Reverse Proxy (TM Content Switching mit AAA) kombinieren kann
NetScaler wird bereits von vielen Kunden für den Zugang zu sicheren XenApp / XenDesktop Umgebungen eingesetzt. Auch bei der Entwicklung von neuen Produkten und Technologien wie Citrix beispielsweise CloudGateway StoreFront mit ist ein NetScaler Wichtiger Bestandteil für eine mögliche Referenzarchitektur: beim distance Zugriff NetScaler steht in der DMZ und für sorgt sicheren 2-Faktor Authentifizierung (Zertifikate oder OTP). Die Komponente bietet aber mehr als queen Funktionalitäten: neben Sicherheitsfeatures wie AAA (Authentifikation, Authorization, Accounting), Reverse Proxy im Netzwerk, Zertifikats-Handling, gehören SSL Offload auch Load Balancing L4-L7, ContentSwitching und Traffic Manager (TM AAA) zu den Kern-Funktionen der Appliance.
Viele Kunden wünschen sich Ihre Infrastruktur und Komponenten und zu zu konsolidieren vereinfachen. NetScaler den bietet Vorteil, unterschiedliche Funktionen auch einer Appliance zu kombinieren Und hier ist der Vorteil - einfache Umsetzung durch Verwendung der identischen Module zur Authentifizierung - leider auch ein Nachteil: Ohne einen kleinen Kunstgriff, sich lässt der Traffic Manager und SSLVPN nicht miteinander verbinden
Aber erst einmal von vorne
Einsatzbeispiel der Lösung
Wir gehen von einer Anforderung aus, die in der Praxis Häufig zu finden ist :.
Ein Kunde hat folgende Dienste für den away - Zugriff
- für ICA XenApp und XenDesktop Umgebungen
- für HTTPs: Microsoft SharePoint and Microsoft Outlook Web Access
(das ist nur ein Beispiel; grundsätzlich ist jede nahezu Web-Anwendung yesterday möglich)
Beispiel 1: Konfiguration für den Zugriff auf XenApp / XenDesktop
- Benutzer startet den Browser zum SSLVPN VServer (AG_IP: SSL) und dabei die gibt ein address https://ag.demo.net
- Anmeldung am NetScaler und http-forward incl. SSO am Web Interface (WI) oder CloudGateway
- erzeugen eines launch.ica files in WI / CloudGateway
- Start der ICA Session auf den gleichen SSLVPN VServer mit ICA client (spielt dabei der keine Client Benutzer Rolle -. egal ob Plugin online, receiver, WebClient, Java Client, HTML5, etc.)
Dazu ist die Verwendung von nur einer externen mit IP Port 443 notwendig
Beispiel 2: Konfiguration für den Zugriff via browser auf Microsoft Outlook Web Access / Microsoft SharePoint mit vorgeschalteter Anmeldung a NetScaler
- einen ContentSwitch VServer (parallel dazu ) am aufsetzen NetScaler (CS_IP: SSL)
- zur einen Authentisierung TrafficManager VServer (TM_IP: SSL) konfigurieren (im weiteren abgekürzt TM)
- Authentisierung gleiche wie am Access Gateway, incl. SSO am Backend
- Verwendung eines Wildcard Zertifikats ermöglich Mehrere services hinter den gleichen CS_IP eindeutig zu adressieren
Dazu ist die Verwendung von mindestens zwei IPs put Port 443 notwendig : so können sich gehen a https://owa.demo.net Benutzer anmelden oder https://sharepoint.demo.net (IP eine oder bei Verwendung von SNI Wildcard Zertifikaten) und werden zur Anmeldung auf den TM VServer http: // . tm.demo.net weitergeletet
Für die Benutzer sieht das aus wie folgt:
ICAProxy: https://ag.demo.net zeigt auf die XA / XD Umgebung
ContentSwitch mit Authentisierung: https://owa.demo.net bringt mit oder https://sharepoint.demo.net vorgeschaltetem AAA auf OutlookWeb Access / SPS, wobei beide auf der gleichen auf CS_IP gehostet werden (zusätzlich sind noch andere beliebig Adressen möglich). Findet dabei die über einen Authentisierung Redirect zu https://TM.demo.net auf der zusätzlichen TM_IP statt.
Somit sind die beiden aus Benutzersicht Dienste voneinander getrennt. Dabei entstehen folgende Nachteile:
- Benutzer müssen sich mehrere URL bookmark
- Die unterschiedlichen Dienste laufen auf mehreren IPs (mindestens drei verschiedene IPs bei Verwendung von Access Gateway und Content mit Switching Anmeldung)
- Wenn beide Dienste zusammen verwendet werden sollen, müssen sich Benutzer zwei Mal anmelden (und abmelden), da Access Gateway und TM unterschiedliche verwenden Authentisierungs-cookies
- Über Access Gateway können Benutzern basierend auf AD-Gruppen als auch Sowohl anwendungen URL zugewiesen. Falls diese aber nun auf Content Switch "zeigen" muss sich ein Benutzer anmelden erneut
- WebInterface kann zur Änderung AD Passworts often nicht einfach verwendet werden
ContentSwitch Einstiegspunkt als zu ICA- und Anwendungen HTTP type of
Aus beschriebenen Gründen oben, es wäre sinnvoll, als einen ContentSwitch einzigen Einstiegspunkt einsetzten zu können. Die können auch unterschiedlichen Dienste zwar direkt über unterschiedliche angesprochen Namen werden, aber im Normalfall will Benutzer der über alle Sessions https://portal.demo.net starten, sich und im anmelden Dort einfachsten WebInterface Fall das als für Anwendungen Landing page (XA) / Desktops (XD / XA) / URL (PublishedContent) sehen
Kleiner Exkurs als zu URLs Published content :.
Die Verteilung URL als der hat Published- contents für Kunden XA natürlich den Vorteil, dass man Bestehende Mechanismen zur Zuweisung von Anwendungen in der XenApp / XenDesktop farm yesterday auch zur Verteilung URL verwenden der kann. Über diese, im lokalen Browser URL aufgerufen, werden über die geschützten NetScaler Web-Anwendungen aufgerufen, incl. SSO, Web ApplikationFirewall und allen anderen Tools umfangreichen die NetScaler of bietet. Nicht zuletzt ist auch dieser Weg zu perfekt für den Übergang StoreFront und Receiver, weil der Dort content published auch nach Anmeldung zur Verfügung steht am Receiver. D. H. und auch für SmartPhones Tablets mit Receiver umständliche ist keine Anmeldung notwendig portal einem .
Doch nun zu den Technische Herausforderungen und den Lösungsansätzen.
Problem 1: Hinter einen ContentSwitch kann als auf Service keinen SSLVPN VServer verwiesen werden
- Solution 1: Verwendung eines Double Hop deployments
Der ContentSwitch mit TM AAA läuft auf dem ersten Hop und auf den verweist SSLVPN VServer auf dem zweiten HOP - Solution 2 :. Umweg über einen TCP: * VServer
Man up correctly eine Art Schleife indem man über einen noch einmal TCP ALL VServer durch die Traffic Engine NetScaler läuft und damit einen Double Hop simuliert
Abgekürzt das heißt: CS-VS_SSL-> LB -VS_HTTP-> LB-SRV_SSL -> LB-VS_TCP: * -> LB_SRV_TCP: * -> SSLVPN_VS - Eine Form Based SSO ermöglicht die Weitergabe der Anmelden information an den 2. Hop mit SSLVPN. Dies wird über eine TM SSO durchgeführt action
SSO formSSOAction policy:
TM_FormSSO-to_AG -actionURL "/ cgi / login" connection -userField -passwdField -ssoSuccessRule passwd "HTTP.RES.SET_COOKIE.EXISTS (" NSC_CERT ') && HTTP.RES.SET_COOKIE.EXISTS ( "NSC_AAAC ") "
problem 2: Der TM AAA verwirft die-Authentisierungs cookies vom SSLVPN VServer
- es ist als notwendig, diese cookies vorher umzuschreiben (aus wird also NSC_AAAC z B AG_AAAC bei der Answer und wird wieder aus AG_AAC NSC_AAAC beim Request ..) Rewrite Policy
rESPONSE: . true / HTTP.REQ.HEADER ( "Cookie") REGEX_SELECT REPLACE "NSC_AAAC"
REQUEST (re PL_AAAC!): true / HTTP.RES.FULL_HEADER.REGEX_SELECT (re NSC_AAAC!) REPLACE "PL_AAAC"
Diese Implementierung ergibt eine zusätzliche, elegant Möglichkeit zur Konsolidierung:
Der ContentSwitch wird den Anwendungsservern vorgeschaltet, davon unabhängig, ob diese über ICA oder HTTP angesprochen werden
besonderen Dank möchte ich hier Benedikt.Henghuber@provectus.de aussprechen, das der aufgebaut initial und viele Details und dafür getestet validiert hat. Und auch a Dominik.Feser@citrix.com, der immer wieder mit Kompetenz und guten Ideen zur Seite ist gestanden
Details zur Implementierung sind auch unter folgender URL nachzulesen :. Http://www.provectus.de/? p = 502
Über Hinweise und wurde ich mich neue Anwendungsfälle sehr freuen
Gruß
Peter
0 Komentar