Date post: | 10-May-2015 |
Category: |
Technology |
Upload: | shoesing |
View: | 20,502 times |
Download: | 2 times |
Advanced NetscalerCustomizations
Delivered at BriForum 2011 by Sam Jacobs
Director of Technology Development at IPM
Session Topics
•Netscaler Themes
•Customization Tools
•Login page customizations
•NavUI customizations
•OS/Browser detection
•Creation of custom pages / vServer
•Customized Netscaler logging
Netscaler Themes
•Carbon Fiber (Caxton) – built-in •White Pearl – downloadable skin
http://support.citrix.com/article/CTX123607
Carbon Fiber White Pearl
Advanced Netscaler Customizations
.CSS files are responsible for:page/font colors, font size, margins, backgrounds, borders, alignment
Theme Comparison
White PearlCarbon Fiber
Can you create other themes …?
Customization Tools
•Secure FTP (SFTP) client (e.g. WinSCP)
•Transfer files to/from Netscaler
•Developer Tools (IE / Chrome)
•Firebug (FireFox)
•Inspect code/image source, styles, etc.
•Editor (VS, Notepad++, etc.)
•Keyword color-coding, auto-complete
•Use a wildcard SSL certificate !
Logon Page Customizations
/netscaler/ns_gui/vpn
index.html – main HTML content
nsshare.js – Javascript routines to display banners, headers
and footers
login.js – Javascript validation routines (also contains
routines to display AD and RSA password fields)
/netscaler/ns_gui/vpn/images – contains images and .css
/netscaler/ns_gui/vpn/resources – for versions 9.2+ text localization files (e.g. en.xml)
NavUI Customizations
/netscaler/portal/templates/homepage.html – for NavUI
or Web Interface site if using ICA proxy.
Persisting Customizations
Unless you are careful, your customizations will be
lost when the Netscaler is rebooted!
Create a directory for your customizations, e.g.
/var/custom_files/
Edit the file rc.netscaler (in /nsconfig), and add:
cp -r /var/custom_files/ns_gui/* /netscaler/ns_gui
OS/Browser Detection
•Detection via device User-Agent header
•iPad / iPhone / Blackberry / Android detection
•Deliver customized pages for each device
•Citrix Receiver auto-configuration
•Information for Help Desk
User-Agent headers
IE 8 (Windows 7)Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; FDM; MS-RTC LM 8)
IE 7 CompatibilityMozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; FDM; MS-RTC LM 8)
Google ChromeMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30
iPadMozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J3 Safari/6533.18.5
iPhoneMozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3
BlackberryMozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) AppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.448 Mobile Safari/534.8+http://whatsmyuseragent.com/
Spoofing the User-Agent - Firefox
about:config
Filter on: useragent
Spoofing the User-Agent - Safari
Preferences | Advanced
Develop | User Agent
Check:Show Develop menu in menu bar
Spoofing the User-Agent - Chrome
Start Chrome with desired User-Agent: (shown here starting as IE8)
C:\Users\XXXX\AppData\Local\Google\Chrome\Application\chrome.exe --user-agent="Mozilla/4.0 (compatible;
MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR
3.5.30729)“
OR
Edit chrome.dll with a hex editor (e.g. Xvi32) … see:
How to Change User Agent String in Google Chrome Browser
http://www.labnol.org/software/change-google-chrome-user-agent-string/4566/
Spoofing the User-Agent – IE8
Run GPEDIT.MSC:
Expand:User Configuration Windows Settings IE Maintenance Connection
Double-click on User Agent String
Or download:UA Pick User Agent Switcher:http://ieaddons.com/en/addons/detail.aspx?id=2040
Demo
Mobile device detection(User-Agent)
Custom Pages for Each vServer
location.host – URL entered by the user
location.host.toLowerCase() – for a case-insensitive comparison
if (location.host.toLowerCase()=="symphony.ipm.com") {
location.href="symphony.html";
}
Make sure you use a wildcard SSL certificate!
Windows 7
iPad
<a href=“http://itunes.apple.com/us/app/citrix-receiver-for-ipad/id363501921 ">Click here</a> to download the Citrix Receiver for iPad.
citrixreceiver://createprofile/?s=https%3A%2F%2Fsymphony.ipm.com&pname=IPM%20Application%20Portal&d=IPM&gw=1&gwt=2&gwa=3
iPhone
Android
Blackberry
Citrix Receiver Auto-Configuration
Mobile Device URL Generator http://community.citrix.com/MobileReceiverSetupUrlGenerator/
Citrix Receiver Auto-Configuration
Customized Netscaler Logging
Customized Netscaler Logging
• Purchase a retail copy of SolarWinds Kiwi Syslog Server (the free version does not include ODBC logging to SQL): http://www.kiwisyslog.com/kiwi-syslog-server-overview/
• Sample scripts may be found here: (John Smithttp://xen-trifuge.com/2010/06/16/project-poindexter-2/
• Configure the Netscaler to send syslog output to Kiwi:
Resources
IPM TechDev Corner:http://www.ipm.com/category/technical-insight/techdev-corner/
VMwareInfo.com:
http://VMwareInfo.com
Citrix AGEE Forum:http://forums.citrix.com/forum.jspa?forumID=159