Access

CTX-Blog

powered by Ecki's Place

12. July, 2008

AAC Tuning, Teil 4

Die Optik eines AAC Logon Points ist leider nicht so leicht an die CI einer Firma anpassbar, wie die des Citrix Web Interfaces. Wie es trotz fehlender Assistenten geht, möchte ich in dem folgenden PDF zeigen.

Das HowTo steht, der besseren Lesbarkeit wegen, als PDF zum Download zur Verfügung. Es kann hier heruntergeladen werden: AAC4_5_CustomizeLogonPoint_Rev1.1_DE.pdf

Das PDF beschreibt in detaillierten und bebilderten Einzelschritten den Weg zu einem individuellen AAC LogonPoint. Dieser könnte dann z. B. so aussehen:
Angepasster LogonPoint - LoginAngepasster LogonPoint - Portal

Weitere lesenswerte Dokumentationen zur Anpassung eines AAC LogonPoints finden sich hier:

  • Basic Customization of the Advanced Access Control 4.x Logon Point
  • How to Customize the Default View for Web Interface 4.6 When it is Embedded in Access Gateway Advanced Edition
  • Und hier noch ein aktuell interessanter Artikel zu FireFox 3.0:

  • Access Interface Appears Incorrectly with Firefox 3.0
  • Gruss
    Ecki

    15. December, 2007

    AAC Tuning, Teil 3

    Two Factor Authentication mit RSA, SafeWord oder einer beliebigen RADIUS Lösung ist eine gängige Methode zur sicheren Authentifizierung an einem AAC Deployment. AAC beschriftet das Eingabefeld für das RSA/SafeWord/RADIUS One Time Passwort bei einem deutschen Client jedoch starr mit dem Text “SecurID-PASSCODE”, “SafeWord CODE:” oder generisch mit “RADIUS-Passwort”.

    Endbenutzer kennen ihre One Time Passwort Lösung jedoch meist unter einem anderem Namen, meist dem Namen des Herstellers. Dies kann dann zu Verwirrung und Problemen bei der Eingabe führen.

    Dieses Problem lässt sich für RSA und SafeWord recht einfach lösen. Eine Lösung für RADIUS ist weiter unten beschrieben. Wie schon im ersten und zweiten Beitrag zu dieser Reihe, befindet sich der Schlüssel in der Datei “web.config” im Root des jeweiligen LogonPoint Verzeichnisses.

    Auf einem Standard AAC Server vermutlich unter:

    C:\Inetpub\wwwroot\CitrixLogonPoint\#LogonPointName#

    Es existiert noch eine weitere Version dieser Datei unter “C:\Inetpub\wwwroot\CitrixLogonPoint\”, welche unberührt bleiben sollte !

    Diese Datei lässt sich mit einem Editor wie z. B. NotePad öffnen und bearbeiten. Im letzten Drittel findet sich der Abschnitt <appSettings>, in dem diverse Einstellungen vorgenommen werden können. Unter Anderem lässt sich hier auch die Anzeige für das Eingabefeld des One Time Passwords manipulieren, so dass ein beliebiger Text angezeigt werden kann. Dazu genügt es, folgende Zeilen im <appSettings> Block einzufügen:

    <add key=”SecondaryAuthenticationPromptOverride” value=”Password:” />
    und
    <add key=”SecondaryAuthenticationToolTipOverride” value=”Enter Password” />

    Wobei “Password:” für den anzuzeigenden Text steht und “Enter Password” den Text für den Tool Tip festlegt.

    Der Abschnitt sollte dann z. B. so aussehen:

    <appSettings>
    <add key="DebugConsoleTrace" value="False" />
    <add key="AdvancedGatewayClientDownloadUrl" value="http://www.citrix.com" />
    <add key="AdvancedGatewayClientActivationDelay" value="10" />
    <add key="MaxConnectionsToAuthenticationService" value="20" />
    <add key="LogonPointId" value="00000000-0000-0000-0000-000000000000" />
    <add key="DeployedBy" value="LACONFIG" />
    <add key="ExtendedSecurIdFunctionalityEnabled" value="true" />
    <add key="SecondaryAuthenticationPromptOverride" value="SafeWord PIN + Zahlencode:" />
    <add key="SecondaryAuthenticationToolTipOverride" value="PIN und Zahlencode eingeben" />
    <!- -

    Nach dem Speichern der Datei und einem Refresh des LogonPoints sollte der neue Text erscheinen 🙂

    Dieses Vorgehen funktioniert leider nur bei RSA SecureID und SafeWord. Der Text, welcher bei einer RADIUS Lösung angezeigt wird, ist leider hart codiert und kann nicht so einfach geändert werden. Es gibt zwar bereits einen Feature Request bei Citrix, aber wann eine Lösung effektiv verfügbar sein wird, ist momentan noch nicht abzusehen.

    Joel Donaldson hat im Citrix AAC Forum jedoch auch für diesen Fall eine tolle Umgehungs- / Übergangslösung veröffentlicht. Eine einfache Manipulation der Datei BasePage.aspx aus dem jeweiligen LogonPoint Verzeichnis löst das Problem auf elegante Art und Weise.

    Es genügt, bei einem deutschen LogonPoint, folgenden Abschnitt vor dem </body> Tag einzufügen:

    <script type="text/javascript" language="JavaScript">
    document.body.innerHTML=document.body.innerHTML.replace("RADIUS-Kennwort:","Kobil Einmalpasswort:");
    </script>

    Das Ergbnis sieht dann so aus:
    Loginprompt nach der Manipulation

    Sollen auch englische LogonPoints unterstützt werden, hilft ein weiterer Code Block, der die englische Schreibweise berücksichtigt:

    <script type="text/javascript" language="JavaScript">
    document.body.innerHTML=document.body.innerHTML.replace("RADIUS Password:","Kobil OTP:");
    </script>

    Weitere Sprachen können so leicht hinzugefügt werden.

    Wer sich nun fragt, warum das funktioniert, dem kann evtl. diese Erklärung weiterhelfen. Der Script Code sucht im Text der ausgelieferten Webseite nach dem String “RADIUS-Kennwort:” und ersetzt ihn dann durch den zweiten Parameter der Funktion “document.body.innerHTML.replace”, also in unserem Beispiel durch “Kobil Einmalpasswort:”.

    Achtung, dies funktioniert nur, solange JavaScript im Browser aktiviert und erlaubt ist. Ist JavaScript abgeschaltet, erscheint wieder der ursprüngliche Text “RADIUS-Kennwort:”! Weitere Nebenwirkungen sind bei dieser Anpassung nicht zu befürchten.

    < < AAC Tuning, Teil 2

    !!! Bitte beachtet den ersten Kommentar zu diesem Beitrag !!!

    Gruss
    Ecki

    17. July, 2007

    LANMANServer und LANMANWorkstation Tuning

    Bei Brian Madden bin ich auf ein sehr interessantes Dokument zum Thema Terminal Server Tuning gestossen. In diesem Artikel werden sämtliche relevanten LANMANServer und LANMANWorkstation Parameter und Registry Keys vorgestellt und erkärt, die in diesem Zusammenhang von Bedeutung sind.

    Anschliessend werden mögliche Optimierungsmassnamen und deren Risiken besprochen und sogar ein ADM Template zur Verfügung gestellt, mit dem sich die besprochenen Optimierungen via GPO umsetzen lassen.

    Der vollständige Artikel kann hier nachgelesen werden.

    Gruss
    Ecki

    28. May, 2007

    AAC Tuning, Teil 2

    AAC Admins, die RSA SecureID, SafeWord oder eine andere Two Factor Authentifizierungsmethode einsetzen, kennen das Dilemma. Durch den Token wird zwar die Sicherheit deutlich erhöht, wenn der Token aber mal nicht zur Hand ist, gibt es keinen Zugriff auf interne Ressourcen. Das muss nicht sein. Ein LogonPoint der für Two Factor Authentication konfiguriert wurde, erfordert nicht immer zwingend ein One Time Passwort.

    Wie schon im ersten Beitrag zu dieser Reihe, befindet sich der Schlüssel in der Datei “web.config” im Root des jeweiligen LogonPoint Verzeichnisses.

    Auf einem Standard AAC Server vermutlich unter:

    C:\Inetpub\wwwroot\CitrixLogonPoint\#LogonPointName#

    Es existiert noch eine weitere Version dieser Datei unter “C:\Inetpub\wwwroot\CitrixLogonPoint\”, welche unberührt bleiben sollte !

    Diese Datei lässt sich mit einem Editor wie z. B. NotePad öffnen und bearbeiten. Im letzten Drittel findet sich der Abschnitt <appSettings>, in dem diverse Einstellungen vorgenommen werden können. Unter Anderem lässt sich hier auch die Two Factor Authentication so konfigurieren, dass ein One Time Passwort nicht mehr zwingend erforderlich ist. Dazu genügt es, folgende Zeile im <appSettings> Block zu ändern:

    Von
    <add key=”SecondaryAuthenticationIsOptional” value=“false” />
    auf
    <add key=”SecondaryAuthenticationIsOptional” value=“true” />

    Der Abschnitt sollte dann so aussehen:

    <appSettings>
    <add key="DebugConsoleTrace" value="False" />
    <add key="AdvancedGatewayClientDownloadUrl" value="http://www.citrix.com" />
    <add key="AdvancedGatewayClientActivationDelay" value="10" />
    <add key="MaxConnectionsToAuthenticationService" value="20" />
    <add key="LogonPointId" value="00000000-0000-0000-0000-000000000000" />
    <add key="DeployedBy" value="LACONFIG" />
    <add key="ExtendedSecurIdFunctionalityEnabled" value="true" />
    <add key="SecondaryAuthenticationIsOptional" value="true" />
    <!- -

    Nach dem Speichern der Datei sieht der User bei diesem einen LogonPoint nun zwar immer noch die Eingabemaske für RSA, SafeWord, etc., kann dieses Eingabefeld nun aber auch leer lassen und nur mit Username und Passwort einloggen.

    Diese Manipulation reisst natürlich erst ein Mal ein grosses Loch in die Sicherheitseinstellungen der Installation. Um nun die Two Factor Authentication nicht völlig zu entwerten, muss an anderer Stelle nachgebessert werden. Mit Hilfe eines angepassten Filters und einer angepassten Policy kann die Sicherheit jedoch weiterhin hoch gehalten werden.

    Der Filter für den vollwertigen Zugriff muss zwingend RSA, SafeWord, oder RADIUS als Authentifizierung voraussetzen. Dazu bietet der Filtergenerator den Punkt “Authentication Strength”. Nur wer eine starke Authentifizierung durchführt, bekommt Vollzugriff auf alle Ressourcen.

    Authentication Strength

    Hat der User sein Token ein Mal nicht im Zugriff, kann er sich trotzdem ohne One Time Passwort authentifiziert. Dann greift allerdings ein anderer Filter (identisch mit dem Filer für vollwertigen Zugriff, allerdings ohne Strong Authentication) und eine andere Policy, die den Zugriff restriktiver handhabt. So kann der User zumindest auf eine eingeschränkte Umgebung zugreifen und ist nicht zum Däumchen drehen verdammt 🙂

    < < AAC Tuning, Teil 1 AAC Tuning, Teil 3 >>

    !!! Bitte beachtet den ersten Kommentar zu diesem Beitrag !!!

    Gruss
    Ecki

    23. May, 2007

    AAC Tuning, Teil 1

    Welcher AAC Admin hat nicht schon einmal über das Verhalten des EPA-Scans geflucht. Sobald auch nur ein EPA-Scan in der AMC (Access Management Console) definiert ist, wird der EPA-Scan bei jedem LogonPoint automatisch gestartet, egal, ob er gebraucht wird, oder nicht.

    Sehr lästig ist dieses Verhalten z. B. bei einem reinen OWA (Outlook Web Access) LogonPoint, der nichts anderes, als einen eingeschränkten Zugriff auf das persönliche Mailkonto bereitstellen soll. Damit er von Überall her funktioniert und auch “Clientless” arbeitet, darf er natürlich keinen EPA-Scan voraussetzen. Trotzdem erscheint bei jedem Aufruf dieses LogonPoints der Download- und Installationshinweis für den EPA-Scan-Client. Ein beherzter Klick auf “Skip Scan” bringt einen zwar weiter, ohne den Client installieren zu müssen, der Download findet aber trotzdem jedes Mal im Hintergrund statt, sehr hinderlich, bei langsamen Internetverbindungen. Dazu kommt die Verunsicherung weniger computeraffiner Zeitgenossen, die u. U. endlos versuchen, auf eingeschränkten InternetCafe PC’s den EPA-Scan-Client zu installieren, was ihnen mangels Rechten nie gelingen wird…

    Per Zufall bin ich kürzlich über eine Option gestolpert, die dieses Verhalten ändern kann. Gut versteckt und kaum dokumentiert, werden sie wohl bisher nur Wenige entdeckt haben. Der Schlüssel befindet sich in der Datei “web.config” im Root des jeweiligen LogonPoint Verzeichnisses.

    Auf einem Standard AAC Server vermutlich unter:

    C:\Inetpub\wwwroot\CitrixLogonPoint\#LogonPointName#

    Es existiert noch eine weitere Version dieser Datei unter “C:\Inetpub\wwwroot\CitrixLogonPoint\”, welche unberührt bleiben sollte !

    Diese Datei lässt sich mit einem Editor wie z. B. NotePad öffnen und bearbeiten. Im letzten Drittel findet sich der Abschnitt <appSettings>, in dem diverse Einstellungen vorgenommen werden können. Unter Anderem lässt sich hier auch der EPA-Scan deaktivieren. Dazu genügt es, folgende Zeile unter dem <appSettings> Block einzufügen:

    <add key=”EndpointAnalysisDisabled” value=“true” />

    Der Abschnitt sollte dann so aussehen:

    <appSettings>
    <add key="DebugConsoleTrace" value="False" />
    <add key="AdvancedGatewayClientDownloadUrl" value="http://www.citrix.com" />
    <add key="AdvancedGatewayClientActivationDelay" value="10" />
    <add key="MaxConnectionsToAuthenticationService" value="20" />
    <add key="LogonPointId" value="00000000-0000-0000-0000-000000000000" />
    <add key="DeployedBy" value="LACONFIG" />
    <add key="ExtendedSecurIdFunctionalityEnabled" value="true" />
    <add key="SecondaryAuthenticationIsOptional" value="false" />
    <add key="EndpointAnalysisDisabled" value="True" />
    <!- -

    Nach dem Speichern der Datei gelangt der User bei diesem einen LogonPoint nun direkt zur Eingabemaske für seinen Usernamen und sein Passwort, ohne Umweg über die EPA-Scan Zwischenseite 🙂

    AAC Tuning, Teil 2 >>

    !!! Bitte beachtet den ersten Kommentar zu diesem Beitrag !!!

    Gruss
    Ecki

    14. March, 2007

    Registry Scan (Watermark) mit CAG 4.5.x Advanced

    Wer das Citrix Access Gateway (CAG) mit Advanced Access Control (AAC) schon eine Weile kennt, speziell die Version 4.2, kennt sicher auch den “Citrix Watermark” End Point Analysis Scan (EPA Scan). Eine Möglichkeit, über einen Registry Key die Zugehörigkeit zu einer bestimmten Sicherheitsgruppe zu definieren. Im Gegensatz zu MAC oder Domain Filtern war dieser Scan eine einfache Möglichkeit, schnell den Sicherheitskontext zu wechseln, um z. B. bei Produktdemonstrationen unterschiedliche Zugriffsszenarien vorführen zu können.

    Das Update auf die AAC Version 4.2.5, bzw. auf die Version 4.5 brachte hier massive Änderungen im Bereich EPA Scans mit sich. Als einschneidendste Änderung kann die Verpflichtung zum Signieren aller EPA Scans gelten. Neu sind alle EPA Scans von Citrix bereits signiert. Selbst erstellt EPA Scans funktionieren nun ebenfalls nur noch, wenn sie signiert und damit als vertrauenswürdig gekennzeichnet sind. Diesen Aufwand und die damit verbundenen Kosten scheuen viele Kunden. Für Citrix Partner, die nur eine Demo Site aufbauen wollen, lohnt sich der Aufwand in der Regel ebenfalls nicht. Wer daher kein Geld in Custom Scans z. B. von EPAFactory stecken wollte, musste sich zwangsläufig mit den mitgelieferten EPA Scans arrangieren:-(

    Hier möchte ich daher einen Weg aufzeigen, wie mit den vorhandenen Möglichkeiten trotzdem ein funktionierender Registry Scan zu erstellen ist. Die meisten EPA Scans machen tatsächlich nichts anderes, als in der Registry des Clients an vorkonfigurierten Stellen vorhandene Werte auszulesen. Daher kann prinzipiell fast jeder EPA Scan als Registry Scan verwendet werden. Als Beispiel verwende ich hier den mitgelieferten “Citrix Scans for Windows Update”. Dieser Scan liest auf dem Clientrechner rekursiv alle Keys unterhalb von:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\

    aus und liefert die darin gefundenen KB-Nummern zurück. Zu beachten ist hier, dass Keys direkt unter dem o. g. Key NICHT zurückgeliefert werden. Man sollte sich daher einen vorhandenen Unterordner auswählen um den Key dort zu erstellen. Mit diesem Wissen lässt sich nun recht einfach ein Registry Scan erstellen. Wem diese Kurzanleitung nicht genügt, findet hier eine detaillierte Beschreibung mit Screenshots.

    Gruss
    Ecki

    |