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

AAC admins that deploy LogonPoints with RSA SecureID, SafeWord or any other Two Factor Authentication solution know the dilemma. The token realy boosts security, but if the token isn’t at hand, there is no way to access internal resources. Fortunately this is not imperativ. A LogonPoint configured with Two Factor Authentication must not always require a One Time Password.

As in part 1, the solution can be found in the “web.config” file in the root of the respective LogonPoint directory.

On a standard AAC server this is presumably:

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

There is an other version of this file in the “C:\Inetpub\wwwroot\CitrixLogonPoint\” directory which should stay untouched !

This file can be opened and edited with any editor like the Windows NotePad. In the last third of the file you can find a section <appSettings>, which gives you some interesting possibilities. Among other things you can configure Two Factor Authentication such, that a One Time Password is not mandatory. All it needs is to change the following line below the <appSettings> section:

From
<add key=”SecondaryAuthenticationIsOptional” value=“false” />
to
<add key=”SecondaryAuthenticationIsOptional” value=“true” />

The section should look like this afterwards:

<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" />
<!- -

After saving the changes, a user calling this manipulated LogonPoint will still see the prompt for RSA, SafeWord, or RADIUS passcode, but he is now able to leave this field empty and log in with just his username and password.

This manipulation creates a big hole in your security configuration, but this hole can be easily closed again. All that is needed is to reconfigure your filters and policies.

The filter for full access must require RSA, SafeWord, or RADIUS authentication. Therefore the filter generator allows to use the authentication strength as a criteria. Only users using strong authentication get access to all resources.

Authentication Strength

A user that has no access to his token is nevertheless able to authenticate without a One Time Password. But now an other filter is matched (you can create the same filter as for full acces, but without strong authentication) and an other, more restrictive policy becomes active. This way, the user is at least able to work in a restricted environment, then to stop working 🙂

< < AAC tuning, part 1 AAC tuning, part 3 >>

!!! Please read the first comment to this post !!!

Regards
Ecki