NetScaler AppFW – Grundkonfiguration

Während heute Morgen unser vollständig ausgebuchter TechTalk zum Thema “Hyper-V: Alternative zu VMware?” stattfand, laufen bereits die Anmeldungen für das nächste Mal: am 12.05.2015 spreche ich über die NetScaler Web Application Firewall: “Hinstellen, anschalten, sicher sein?”

Es gibt belegte Brötchen und Getränke zum Frühstück, Talk und Demo. Die Plätze sind begrenzt, daher am besten gleich anmelden.

NetScaler 10.5 build 56.12 eliminates Java

Really. End-to-End. Finally. What was promised, expected and not completely fulfilled with 10.5 initially might now be true with the latest build.

56.12 appeared as if nothing special had happened on March 31st. Just today I luckily updated a customer with easy change management and we went straight to the latest build. Behold my wide eyes – visualizers, diagnostics and even the AppFW profiles do NOT trigger the Java applet anymore! I did not do a full walkthrough yet, but I don’t know of any relevant modules of Configuration Utility that might be missing so far.

What a great day! 😀

Netscaler Gateway: Customizing

Will man nur ein paar Kleinigkeiten am Design der Gateway Logon Page ändern, wie z.B. die Beschriftung der Password-Felder, geht das sehr gut indem man rewrite-Regeln einbaut. Damit erspart man sich die ganze Page als Custom Design implementieren zu müssen und es ist über Reboots und Upgrades persistent.

Ein Beispiel, getestet mit Netscaler 10.1:

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 OTP_replace_rewrite_action replace_all "http.RES.BODY(120000).SET_TEXT_MODE(ignorecase)" "\"Token Code:\'\"" -pattern "\"Password2\"" -bypassSafetyCheck YES -refineSearch q/extend(50,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

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

add rewrite policy OTP_rewrite_pol "http.req.url.path.endswith(\"vpn/login.js\")" OTP_replace_rewrite_action

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

bind rewrite global AD_rewrite_pol 80 NEXT -type RES_OVERRIDE

bind rewrite global OTP_rewrite_pol 90 NEXT -type RES_OVERRIDE

bind rewrite global AD_delete_pol 100 NEXT -type RES_OVERRIDE

Statt einem globalen Binding kann man natürlich auch pro vServer unterschiedliche Anpassungen vornehmen.

Wenn die Anpassungen nicht sofort sichtbar werden ruhig mal prüfen ob der Netscaler Caching aktiviert hat, dies hat mich einige Minuten Fehlersuche gekostet… 😉