XenDesktop 7 plus NetScaler: Authenticate at StoreFront

XenDesktop 7 plus NetScaler: Authenticate at StoreFront

de Vor XenDesktop 7 lieferte Citrix XenApp und XenDesktop Distributionen zusammen mit dem Zugangsdienst Webinterface aus und dort konnte der Administrator oberhalb der Microsoft Internet Information Services Web Services und Site Services einrichten. In der Grundeinstellung wurden diese Dienste für unverschlüsseltes HTTP Protokoll konfiguriert. Wer den Zugang sichern wollte, der konnte das durch Aufspielen von Zertifikaten auf den Webinterface Servern und anschließende Änderung der Bindung dieses Diensten auf HTTPS erreichen oder er hat zusätzliche Secure Gateway, Access Gateway oder NetScaler aufgebaut und vor die Farm gestellt. Die Architektur entsprach dann im Wesentlichen dem folgendem Bild.

en Prior to XenDesktop 7, Citrix XenApp and XenDesktop distributions have been delivered together with Webinterface. Administrators had to configure the access point services Web Services and Site Services which work above Microsoft Internet Information Services. By default these services had to be configured for unencrypted HTTP protocol. Those, who wanted to secure access to XenApp and XenDesktop, could achieve this by uploading a certificate to the Web Interface servers and then change the binding of this service to HTTPS. The more sophisticated and vendor-recommended method to secure access to a citrix farm or site makes use of additional components like Secure Gateway, Access Gateway or NetScaler which has to be placed between Clients and the farm. The architecture then corresponded to the following figure.

dxns01

de Access Gateway und NetScaler sind im Gegensatz zu Secure Gateway in der Lage, die Authentikation sitzungsanfragender Benutzer selbst zu verantworten. Gemäß einstellbarer Richtlinien können sie eine lokal konfigurierte Benutzerverwaltung konsultieren oder sie befragen einen externen Verzeichnisdienst, beispielsweise LDAP oder RADIUS. Derart konfigurierte NetScaler Appliances präsentieren dem Anwender eine Anmeldemaske, die etwa so aussieht wie im nachstehenden Bildschirmfoto angezeigt.

en Access Gateway and NetScaler, in contrast to Secure Gateway, can handle the point of authentication themselves on a user’s request to open a session. According to the configured policy, the systems consult a locally configured password management or they query an external directory service like LDAP or RADIUS. With such a configuration, NetScaler appliances for example provide the user with a login screen that looks similar to the following screenshot.

dxns02

de Grundsätzlich ist es möglich, das Erscheinungsbild des NetScaler Logon-Dialogs individuellen Wünschen anzupassen und geeignete Alternativen sind von verschiedenen Autoren erhältlich. Dem Einsatz solcher thematisierter Logon-Screens steht jedoch entgegen, dass der Hersteller Citrix sich nicht für eigenmächtige Veränderungen an gehärteter Systemsoftware verantwortlich fühlt und der Anwender letztlich die Voraussetzungen für einen gültigen Wartungsvertrag verlässt, wenn er eine nicht vom Hersteller unterstützte Änderung durchführt.

Die Alternative besteht darin, den Login Dialog außerhalb von NetScaler oder Access Gateway zu platzieren. In NetScaler beispielsweise ist einem virtuellen Access Gateway Server auf der Konfigurationsseite zur Authentikation einfach die Funktion “Enable Authentication” abzuwählen.

en Basically, it is possible to customize the appearance of the NetScaler Logon dialog according toindividual needs. Some suitable alternatives are available from various authors. However, most of the available themed logon Screens are not officially supported by Citrix. Be informed that usually the manufacturer does not feel responsible for malfunction  after unauthorized modifications on hardened system software. In a worst case this may lead to void a valid maintenance contract.

The alternative is to place the login dialog outside of NetScaler or Access Gateway. On a virtual NetScaler Access Gateway server configuration page, authentication tab, one simply has to deselect the checkbox “Enable Authentication”.

dxns03

de Nun leitet NetScaler als Gateway zu XenDesktop 7 eingehende HTTP-Anfragen an StoreFront weiter. StoreFront erkennt, dass NetScaler ihn beliefert. Statt eine Anmeldemaske zu präsentieren reagiert StoreFront jedoch mit dem Kommentar, die Anforderung könne nicht abgeschlossen werden.

en NetScaler now acts as a gateway to XenDesktop 7 who forwards incoming HTTP requests to StoreFront. Storefront recognizes beeing delievered by NetScaler. However, instead of presenting a login screen Storefront reacts with the comment, the request could not be completed.

dxns04

de Ein Blick in die Ereignismeldungen des Systems, auf dem StoreFront installiert wurde, zeigt an, dass Single Sign-on umgesetzt werden sollte, jedoch das Passwort nicht akzeptiert wurde und die erkannte Benutzerkennung “Anonymous” sei.

en A look at the event messages of the StoreFront system shows that single sign-on should be played out but the password was not accepted and the recognized user name is “Anonymous”.

dxns05

de Auf der Seite von NetScaler ergibt eine Abfrage an die Liste der aktuell aktiven Benutzersitzungen, dass er tatsächlich eine Sitzung ohne registriertes Benutzerkonto zwischen einem Arbeitsplatzsystem 192.168.199.151 und einem virtuellen NetScaler Server 192.168.199.222 unterhält.

en At NetScaler, a query to the list of currently active user sessions shows an active session is maintained between a workstation with IP 192.168.199.151 and a virtual NetScaler server 192.168.199.222 without a known user account.

dxns06

de Ursache des Verhaltens ist, dass vermeintlich vergessen wurde, dem StoreFront mitzuteilen, dass er selbst für die Authentikation des Benutzers zuständig ist. Administratoren von XenApp 6.5 oder XenDesktop 5.6 kennen das Problem und konfigurieren bei der Erstellung eines Web Service zu Webinterface 5.4 den Authentikationspunkt auf das Webinterface.

en Cause of the behavior is that the administrator forgot to tell StoreFront that now he himself is responsible for authentication of the user. Administrators of XenApp 6.5 and XenDesktop 5.6 know the problem and, when creating a web service for Web Interface 5.4, they configure the point of authentication at Web Interface.

dxns06a

de In seinem Wissensartikel CTX132787 XenDesktop 5.6 with Receiver StoreFront and Access Gateway zeigt Citrix, dass der Schalter “Users must log on at Access Gateway” das Verhalten von StoreFront manipuliert.

en In his knowledge article CTX132787 XenDesktop 5.6 with Receiver Storefront and Access Gateway Citrix shows that the switch “Users must log on at Access Gateway” manipulates the behavior of StoreFront.

dxns06b

de Besagter Artikel referenziert jedoch nicht, auf welche Version von StoreFront sich der Beitrag bezieht (This document applies to XenDesktop 5.6 x32) und der Hersteller bietet aktuell nur StoreFront 1.2 sowie StoreFront 2.0 auf seinen Webseiten zum Download an. Seit StoreFront 1.2 fehlt die Option “Manage Logon Methods” zu “Receiver for Web”.

en However, the article does not point out to which version of Storefront it refers (This document applies to XenDesktop 5.6 x32). For now, the manufacturer currently only offers Storefront Storefront 1.2 and 2.0 on ist website for download. Since Storefront 1.2, the “Management Methods Logon” option is missing at configuration page “Receiver for Web”.

dxns06c

de Zu beiden StoreFront Versionen 1.2 und 2.0 vermerkt Citrix sich in seinen eDocs die Hinweise (http://support.citrix.com/proddocs/topic/dws-storefront-12/dws-known-issues.html, http://support.citrix.com/proddocs/topic/dws-storefront-20/dws-known-issues.html) “Users cannot access resources after disabling Pass-through from NetScaler Gateway authentication” und die Anleitung zur Lösung des Problems lautet “To resolve this issue, set the value of the requireTokenConsistency attribute to false in the store configuration file if you disable the Pass-through from NetScaler Gateway authentication method”.

Tatsächlich verwaltet StoreFront zu einem Store mehrere Dienste. Ein Blick auf die Konfiguration des Internet Information Services (IIS) Manager gibt Auskunft über die komplexe Hierarchie, die StoreFront bedient.

en To both StoreFront versions 1.2 and 2.0, Citrix eDocs stated in his known issues that (http://support.citrix.com/proddocs/topic/dws-storefront-12/dws-known-issues.html, http://support.citrix.com/proddocs/topic/dws-storefront-20/dws-known-issues.html) “Users can not access resources after disabling pass-through from NetScaler gateway authentication” and the instructions for solving the problem is “to resolve this issue , set the value of the requireTokenConsistency attribute to false to store the configuration file if you disable the pass-through from NetScaler Gateway authentication method”.

Actually, StoreFront managed several services on a store. A look at the configuration of Internet Information Services (IIS) Manager provides information about the complex hierarchy that StoreFront operates on.

dxns07

de Die Konfigurationsdatei zum Store liegt als web.config im Verzeichnis Store unterhalb Citrix. Sie enthält XML-formatierte Konfigurationsattribute und kann mit einem gewöhnlichen Editor bearbeitet werden.

en The store’s configuration file is web.config located inside the store directory below Citrix. It contains XML-formatted configuration attributes and can be edited with any text editor.

dxns08

de Der relevante Ausdruck befindet sich etwa in der Mitte der 48 kByte großen Datei. Wir haben außerdem den Wert von “useTwoTickets” auf “true” geändert.

en The relevant expression is located approximately in the middle of the 48 Kbyte file. We also did change the value of “useTwoTickets” to “true”.

dxns09

de Nach Abschluss der Änderungen und Abspeichern der Konfigurationsdatei muss der IIS Dienst neu gestartet werden, damit StoreFront die Konfigurationsänderungen übernimmt.

en After completing the change, save the configuration file. Next, the IIS service must be restarted so that StoreFront applies the configuration changes.

dxns10

de Nun reicht NetScaler die Anfrage an StoreFront weiter und StoreFront präsentiert eine Anmeldemaske.

en Now NetScaler forwards incoming requests to StoreFront and StoreFront presents a login screen to new users.

dxns11

de Nach Eingabe von Benutzerkennung und Passwort zeigt der Webbrowser auf Seite des Client die veröffentlichten Ressourcen an; genauer: zum Tab Desktops zeigt er die Liste der veröffentlichten Desktops an.

en After entering your user ID and password, the client’s web browser displays the page containing the published resources, or, more precisely, displays the list of published desktops on the desktop.

dxns12

de Falls dem Benutzer lediglich ein Desktop veröffentlicht wurde, startet StoreFront jedoch sofort diesen Desktop, unabhängig von eventuell zusätzlich veröffentlichten Anwendungen. Dieser Sachverhalt kann in der Konfiguration von StoreWeb geändert werden.

en If only one desktop has been published to the user, then StoreFront will immediately start this desktop, regardless of any additional published applications. This situation can be changed in the configuration of StoreWeb.

dxns13

de Das Attribut “autoLaunchDesktop” zum Objekt “userInterface” ist auf “false” zu ändern.

en Change the attribute “auto launch desktop” for object “user interface” to “false”.

dxns14

de Damit diese Änderung greift muss der Administrator abschließend erneut den IIS beenden und starten.

en To apply this change the administrator must finally again stop and start the IIS.

XenDesktop 7 plus NetScaler: Authenticate at StoreFront

XenDesktop Icon Customization

de Administratoren von XenDesktop 7 veröffentlichen Zugänge zu zentral verwalteten Client-Betriebssystemen oft über das Werkzeug Studio. Im ersten Schritt erzeugen sie Machine Collections, die gleichartig konfigurierte virtuelle oder physische Windows 7 oder Windows 8 Systeme gruppieren. Anschließend eingerichtete Delivery Groups verweisen auf eine zuvor angelegte Machine Collection und berechtigen ausgewählte Benutzergruppen zum Zugriff darauf. Mit der Registrierung in einem StoreFront stehen sie schließlich den zugangsberechtigten Anwendern zur Auswahl bereit.

en Administrators of XenDesktop 7 often publish access to centrally managed client operating systems using the tool Studio. In the first step, they generate machine collections that group similarly configured virtual or physical Windows 7 or Windows 8 systems. Next, delivery groups are created which refer to a previously created machine collection and entitle selected user groups to access it. After registration in a StoreFront, authorized users may access a desktop from the presented list.

xd7a

de Anders als bei Applikationen kann der Administrator einem Desktop über Studio kein individuelles Icon zuordnen.

en Different from the creation of applications, Studio does not offer to assign an individual icon to a published desktop.

xd7f

deWer mehrere Desktops zu unterschiedlichen Einsatzbereichen veröffentlicht, der muss zunächst seinen Anwendern identische Kacheln zu unterschiedlichen Desktops präsentieren. Der Funktionsvorrat des XenDesktop PowerShell Software Development Kits kann helfen das Ergebnis zu verbessern.

Zunächst muss der Administrator einen Windows 7 kompatiblen Satz von Icons erzeugen. Im Beispiel wurde das Gnu Image Manipulation Programm GIMP genutzt und der Autor hat ein Windows 7 Logo in einer Auflösung von 256×256 Pixeln in 32 Bit Farbtiefe (RGBA) erzeugt.

en By default, if one publishes multiple desktops for different application areas they are initially presented with identical tiles for different desktops to its authorized users. The feature set of the XenDesktop PowerShell Software Development Kit can help to improve the result.

First, the administrator has to create a Windows 7 compatible set of icons. In the example, the Gnu Image Manipulation Program GIMP was used and the author has created a Windows 7 logo in a resolution of 256×256 pixels, 32-bit color (RGBA).

xd7c

de Aus diesem Bild sind nun weitere Icons zu Auflösungen von 128, 64, 48, 32, 24 und 16 Pixel Länge und Breite zu erzeugen und diese sind in die Icon Datei zu integrieren. Das kann mit Mitteln von Gimp umgesetzt werden. Im Beispiel hat der Autor statt dessen Pixelformer genutzt, dort das Ausgangsbild importiert, 6-fach dupliziert und anschließend die Einzelbilder passend skaliert. Das Ergebnis wurde auf dem Delivery Controller im Pfad C:Temp als Win7.ico abgelegt.

en From this image, more icons at resolutions of 128, 64, 48, 32, 24 and 16 pixel length and width need to be built  and these have to be integrated into the icon file. This can be implemented with help of Gimp. In the example, the author instead has used Pixelformer, imported the original image into it, duplicated it 6 times, and then scaled each copy to fit the needed frame sizes. The result was saved on the delivery controller in the path C: Temp as Win7.ico.

xd7d

de Nun kommt der spannende Teil: Einsatz für PowerShell. Der Einfachheit halber werden im Beispiel die Schritte mit Administratorrechten ausgeführt.

  1. Aktivieren der Citrix PowerShell Snap-ins
    Add-PSSnapin Citrix.*
  2. Importieren des Icons in die XenDesktop SQL Datenbank
    Get-CtxIcon -FileName “C:TempWin7.ico” | New-BrokerIcon
  3. Zuordnen des neuen Icons zu einer vorhandenen Delivery Group
    Set-BrokerDesktopGroup -Name Win7Group -IconUid 1004

en Now for the fun part: use of PowerShell. For simplicity, in this example the steps are performed with administrator privileges.

  • Add the Citrix PowerShell snap-in
    Add-PSSnapin Citrix.*
  • Import icon into the XenDesktop SQL database
    Get-CtxIcon -FileName “C:TempWin7.ico” | New-BrokerIcon
  • Map the new icon to an existing Delivery Group
    Set-BrokerDesktopGroup -Name Win7Group -IconUid 1004

xd7e

de Die Prozedur kann beliebig wiederholt werden. Der Lohn der Arbeit heißt individuelle Veröffentlichungen und zufriedene Anwender von XenDesktop.

en The procedure can be repeated as needed. The earnings of this work are individual publications and satisfied users of XenDesktop.

xd7b