Citrix NetScaler Access Gateway: modifica pagina di login per l’accesso con RSA Security Token

4 luglio 2013

Citrix NetScaler permette di implementare in modo piuttosto semplice l’autenicazione a due fattori (per esempio Active Directory e RADIUS). In questo scenario, la pagina di login (sia essa Access Gateway o AAA) si presenta richiedendo 3 campi: Username, Password e Password 2.

Il campo “Password 2” si presta evidentemente ad essere mal interpretato dagli utenti. NetScaler, tramite la feature di Rewrite, offre la possibilità di modificare facilmente la pagina che viene presentata al browser.

Ecco uno stralcio dei comandi da caricare sul NetScaler. Prima di tutto è necessario definire le rewrite action che andranno a sostituire i campi Password e Password 2

add rewrite action AD_replace_rewrite_action replace_all "http.RES.BODY(120000).SET_TEXT_MODE(ignorecase)" "\"AD Password\'\"" -pattern "\"Password\"" -bypassSafetyCheck YES -refineSearch q/extend(50,50).REGEX_SELECT(re![ ]*\'[ ]*\+[ ]*_\(\"Password\"\)[ ]*!)
add rewrite action RSA_replace_rewrite_action replace_all "http.RES.BODY(120000).SET_TEXT_MODE(ignorecase)" "\"RSA Password:\"" -pattern "\"Password2\"" -bypassSafetyCheck YES -refineSearch q/extend(20,50).REGEX_SELECT(re![ ]*\'[ ]*\+[ ]*\_\(\"Password2\"\)[ ]*\+[ ]*\'!)
add rewrite action AD_delete_rewrite_action delete_all "http.RES.BODY(120000).SET_TEXT_MODE(ignorecase)" -pattern "document.write(\' 1\');" -bypassSafetyCheck YES

Dopo aver creato le action, procediamo con la creazione delle policy:

add rewrite policy AD_rewrite_pol "http.req.url.path.endswith(\"vpn/login.js\")" AD_replace_rewrite_action
add rewrite policy RSA_rewrite_pol "http.req.url.path.endswith(\"vpn/login.js\")" RSA_replace_rewrite_action
add rewrite policy AD_delete_pol "http.req.url.path.endswith(\"vpn/login.js\")" AD_delete_rewrite_action

Alla fine è possibile fare il binding delle policy:

bind rewrite global AD_rewrite_pol 80 NEXT -type RES_OVERRIDE
bind rewrite global RSA_rewrite_pol 90 NEXT -type RES_OVERRIDE
bind rewrite global AD_delete_pol 100 NEXT -type RES_OVERRIDE

Per ulteriori informazioni:

http://support.citrix.com/article/CTX123121/