Citrix NetScaler ... moeilijk uit te leggen!? Citrix NetScaler functionaliteit uitgelicht door Azlan Competence Center
Inhoud Inhoud
3
Voorwoord
5
Euh, waar hebben we het eigenlijk over? Wat is NetScaler? Fysiek en virtueel
7 7
NetScaler Standard functionaliteit
9
Praktische toepassingen Citrix NetScaler Content switching Load optimalisatie IPv6 Nog meer optimalisatie
3
11 14 20 26 26
AppCompress ... ofwel: zip-it! Geen load is nog beter
30 32
Meer over security DoS attacks in soorten en maten “Security by obscurity”
35 35 40
URL Transformation SAML2
42 42
Management AppExpert Templates Netwerk analyse ActionAnalytics Visualisatie
43 43 44 45 45
Beschikbaarheid NetScaler HA
46 46
Remote Access Secure Gateway Access Gateway “Nieuwe” CAG
48 48 50 52
NetScaler uitproberen?
54
Meer kennis van Citrix NetScaler Citrix NetScaler trainingen (Azlan Education) Over de auteur
55 55 56
Inhoud 4
Voorwoord Recent gaf ik een presentatie op het TechData Partner Event 2013 over gratis software in het Azlan portfolio. Daar heb ik hele leuke reacties op gehad, met name m.b.t. producten zoals VMware Zimbra Open Source Edition, Veeam Backup Free, RES Software Baseline Desktop Analyser en Citrix XenServer Suite Free. In mijn zoektocht naar de gratis producten was het onvermijdelijk dat ik buiten mijn comfort zone moest treden. Met een sterke VMware virtualisatie en datacenter achtergrond is het tenslotte lastiger beoordelen of security, desktop en networking producten van andere leveranciers van voldoende kwaliteit zijn om op te nemen in mijn presentatie. Met wat hulp
5
van collegae is het uiteindelijk een mooie selectie geworden, maar ik heb de “moeilijkere” producten wel achterwege gelaten. Het kostte me te veel tijd om me er in te verdiepen of het product was gewoon niet eenvoudig uit te leggen. Precies dát zorgde er dus voor dat ik de Citrix NetScaler VPX Express niet heb opgenomen in mijn presentatie,
terwijl werkelijk iedereen met kennis roept dat het één van de mooiste gratis producten is. Maar wat doet het dan? En hoe ga ik dat uitleggen in 5 minuten? Zowel vanuit mijn technische collega als het product management kreeg ik niet de input die mij in staat zou stellen om de Citrix NetScaler VPX Express te pitchen in 5 minuten. En dat heeft niet te maken met de kennis en kunde van mijn collegae: het blijkt gewoonweg heel lastig om te doen.
fantastisch vinden, heeft dus een te hoge drempel voor leken om zich er überhaupt in te gaan verdiepen! Mijn trainers hart gaat harder kloppen, het schreeuwt “ik wil dit veranderen, uitleggen en vertalen”. En zie hier de vruchten van mijn werk. Rob van der Wel Technical Solutions Specialist Azlan
“Dat moet toch beter kunnen?” was mijn eerste gedachte. Een product wat de kenners dus blijkbaar
Voorwoord 6
Euh, waar hebben we het eigenlijk over? Wat is NetScaler?
versnellen, beveiliging reguleren, ontsluiten en hun achterliggende weben database-servers willen ontlasten van hun generieke taken. Gedurende mijn zoektocht kwam ik er achter dat een NetScaler in essentie geen product is, maar een platform. Citrix noemt het zelf ook wel “The world’s most advanced cloud network platform”. Je koopt een fysieke machine of virtuele appliance (een voor geïnstalleerde virtuele machine) met daarop een besturingssysteem en een hoop software(opties) die ingeschakeld kan worden. Fysiek en virtueel De fysieke NetScalers zijn 1 of 2U
7
grote hardware appliances en worden MPX of SDX genoemd. De virtuele NetScalers zijn te herkennen aan de benaming VPX. MPX appliances zijn fysieke servers geschikt
om
bijvoorbeeld
SSL
het NetScaler operating system. De SDX appliances zijn ook fysieke hardware appliances, alleen bevatten deze Citrix XenServer
technologie met daarop de mogelijkheid om meerdere VPX instances te draaien. Hardware is gelijk aan MPX, verschil zit in de software, licentie en virtualisatie laag. Dit laatste geeft de mogelijkheid om met één enkele fysieke server, diensten aan meerdere klanten te leveren, maar ook om meerdere versies van NetScaler VPX-en naast elkaar te draaien. De inzet van de NetScaler bepaalt welke software je inschakelt en functionaliteit. Alle functionaliteit kan in principe simultaan gebruikt worden en afhankelijk van de logische plaatsing van de NetScaler maakt dat bepaalde functies mogelijk.
NetScalers zijn netwerk appliances met veelal één of meerdere vanaf één tot veel netwerkinterfaces zijn mogelijk, in geval van stacked tot zelfs honderden aansluitingen. Je selecteert een appliance afhankelijk van de gewenste functionaliteit, het aantal netwerk connecties en gewenste doorvoer snelheid. Deze appliances verschillen van elkaar door andere CPU(’s), geheugen, opslag en connectiviteit. Een volledig overzicht van alle appliances inclusief de VPX is hier (http://bit.ly/11i234K) te vinden.
Euh, waar hebben we het eigenlijk over? Wat is NetScaler? 8
NetScaler Standard functionaliteit
Naast basis functionaliteit, die je sowieso van een netwerkappliance van deze klasse mag verwachten, zal ik mij in dit artikel met name richten op onderstaande toepassingen en voordelen. Deze selectie is met name gebaseerd op de features die gelicentiëerd kunnen worden op een NetScaler Standard license. Applicatie beschikbaarheid - Load balancing voor server-, webapplicaties en databases - Content switching
9
- Global Server load balancing (GSLB) Applicatie performance improvements & management - TCP optimalisaties en databases - HTTP compressie (AppCompress) Applicatie beveiliging - Layer 4 DoS defenses -
- HTTP/URL rewrites - SSL VPN en ICA proxy (Access Gateway) - Auhenticatie management (SAML2 support) Management - Applicatie monitoring en rapportage (AppFlow generator) - Geïntegreerde Citrix XenApp/ XenDesktop Web Interface Kostenbesparing door -
- Backend applicatie optimalisatie
Naast de Citrix NetScaler Standard features benoem ik hier en daar ook beknopt Enterprise functionaliteit, met name waar dat goed in het verhaal past. Om echter deze Citrix NetScaler introductie zo effectief mogelijk te maken (en daarmee dus niet -té- complex) heb ik als hoofdfocus gehad om de functionaliteit van een NetScaler Standard op toepassingsniveau inzichtelijk te maken.
(TCP en SQL multiplexing) buffering)
NetScaler Standard functionaliteit 10
Praktische toepassingen Citrix NetScaler Applicatie beschikbaarheid behelst in het geval van NetScaler de te geven die gewenst is. Maar het heeft ook zeker te maken met verdeling van de load over infrastructuur componenten waardoor de applicatie veel betekenen op het gebied van de load distributie en load balancing. Het verschil tussen load distributie en load balancing kan het beste omschreven worden door de begrippen afzonderlijk uit te leggen. Bij load balancing wordt gestreefd naar een evenredige verdeling van resource-gebruik over de beschikbare infrastructuur componenten. In het geval van load-
11
distributie hoeft de load niet persé evenredig te worden verdeeld, maar wordt de load inhoudelijk bekeken en op basis van de inhoud verdeeld over de infrastructuur. Regels en kunnen statisch en dynamisch zijn worden.
Load Balancing Het uitbalanceren van de load verdeling kent bepaalde beslissingsfactoren. De NetScaler biedt mogelijkheden om enorm veel factoren mee te laten wegen in de beslissing, denk dan aan cpu load, memory activiteit, uptime, netwerk monitoring en andere informatie die via bijvoorbeeld WMI, SNMP en dergelijke uit te lezen is. Het is zelfs mogelijk om een gebruiker op de backend te simuleren en op basis van de uitkomst (respons times, latency) de keuze te maken. Software die hier gebruik van kan maken zijn database
producten (Oracle MySQL, Microsoft SQL Server), webservers (Microsoft IIS, Apache, TomCat) maar ook remote services (RDP/RDC/Terminal Services) en elementaire diensten als
Praktische toepassingen Citrix NetScaler 12
Voorbeeldscenario: Content Switching APP1
Mstsc/rdC APP2
Client
Netscaler
APP2 On demand nieuwe server uitrol, bijvoorbeeld met
13
Content switching Load distributie kan ingezet kan worden bij het bekijken van de inhoud van de datastream en op basis daarvan netwerk verkeer te dirigeren naar de juiste backend server/service. In het diagram hiernaast staat een voorbeeld scenario uitgewerkt waarbij een tweetal remote desktop servers (Terminal Services / RDP / RDC) in de backend staan, die van elkaar verschillen. De eerste server biedt applicatie 1 (APP1) aan en de tweede applicatie 2 (APP2). Zonder de NetScaler er tussen zou een client op beide servers in moeten loggen om zowel bij APP1 als APP2
te kunnen. De NetScaler creëert echter één enkel ‘loket’ (NetScaler Virtual Server) waarmee de client zijn connectie opzet en van daaruit wordt het verzoek voor de applicatie doorgestuurd naar de backend server van toepassing. De intelligentie van het monitoren van de backend kan in dit geval zelfs nog verder ingezet worden, om bijvoorbeeld waar te nemen dat de server die APP2 aanbiedt overbelast is en aan de hand daarvan besluiten een derde RDC server uit te rollen. Dit kan met bestaande uitrol technieken, maar er is ook directe integratie met Citrix
Praktische toepassingen Citrix NetScaler 14
MySQL queries Gedistribueerde database Welke servers kunnen de query beantwoorden? Client
Klanten A-K
MySQL Servers
Client
Netscaler Klanten L-Z
MySQL Servers Client
15
In het kader van load distributie is het ook goed om een geheel ander voorbeeld te geven, zoals in het diagram op pagina 15. Aan de backend kant is een gedistribueerde database aanwezig, waarvan alle componenten dubbel uitgevoerd zijn omwille van redundantie. De servers hebben allen een deel van de database, om zo de load te kunnen
verdelen. De NetScaler gaat zich aan de voorkant presenteren als één enkele database server en gaat alle query’s die binnenkomen monitoren en ontleden. Zo kan de NetScaler uit de query’s halen voor welke servers de query’s bedoeld zijn en ze dus de juiste kant op dirigeren. Load distributie dus.
Praktische toepassingen Citrix NetScaler 16
Global Server Load Balancing (GSLB)
IIS
Netscaler Nederland Internet Verenigde Staten Client
IIS
Netscaler
17
Het is ook mogelijk om de NetScaler in te zetten voor Global Server Load Balancing, waarbij het netwerkverkeer naar servers in de backend, door de NetScaler gedirigeerd wordt naar de meest optimale lokatie. Hierbij mogen de backend servers dus gedistribueerd opgesteld staan over meerdere client vanaf een US netwerk de webapplicatie wil gebruiken, zal de NetScaler op basis daarvan de
afhandeling kunnen laten verrichten op het cluster in de US. Zit de client bijvoorbeeld in Rotterdam, dan zal deze waarschijnlijk op de Nederlandse servers terecht komen. Waarschijnlijk, want het is mogelijk om ook andere factoren mee te laten wegen, zoals fysieke load en/ of health status van één van de omgevingen. Dit concept wordt GSLB genoemd, zie het uitgewerkte scenario hiernaast.
Praktische toepassingen Citrix NetScaler 18
TCP Multiplexing
Client HTTP TC P
Client
TCP
TCP
Server TCP
Client
TCP
TC
Netscaler
P
HTTP
P TC
Client
Client
19
Server
Load optimalisatie Load optimalisatie kan door de NetScaler onder andere gedaan
de NetScaler kan uitvoeren is bijvoorbeeld TCP multiplexing (l4 load balancing). Een voorbeeld hiervan is uitgewerkt in het diagram hiernaast. Een tweetal servers met een webapplicatie die luistert naar http requests worden naar de buitenwereld gepresenteerd (door de NetScaler) als één enkele server (loket). De clients maken connectie met het uniforme loket
op de NetScaler en de NetScaler verdeelt de TCP pakketten over de twee backend servers. Ongeacht het aantal verbindingen van clients, consolideert de NetScaler alle TCP client connecties tot een tweetal TCP server connecties. Hiermee worden de backend servers ontzien van de TCP overhead waarmee aanzienlijke besparing gemaakt kan worden op CPU en memory. Het besparen op CPU/memory is niet alleen een performance verbeteraar, maar ook zeker een kostenbesparing, bijvoorbeeld als de backend servers dure software draaien die per CPU gelicentieerd wordt.
Praktische toepassingen Citrix NetScaler 20
Voorbeeld scenario: Citrix AppXpert Rate Controls Webserver
Internet Client
Netscaler PDF
Movie
L7 QoS
21
Prioritering Een andere vorm van load optimalisatie en load distributie biedt de NetScaler door middel van Citrix AppExpert Rate Controls. Als je het marketing schilletje van deze technologie afpelt zou je het ook kunnen omschrijven als “application marketing en techniek: wat kan je ermee? In het scenario backend met een
diagram hiernaast een visualisatie, waarbij de server(s) websites host diversiteit aan content.
Kleine en grote PDF bestanden, streaming audio/video en een booking webapplicatie. Stel dat deze klant een reisbureau heeft, de PDF’s zijn de reisgidsen, de streaming content is marketing video materiaal en het booking-systeem is voor het daadwerkelijk verwerken van boekingen van reizen. Natuurlijk wil het reisbureau dat iedere bezoeker
altijd voorrang moeten krijgen in het verdelen van de beschikbare bandbreedte en resources. De NetScaler kan dit onderscheid datastream, policies op los laten. Ofwel, en daarmee wordt het wellicht nog duidelijker: Quality of Service (QoS) op laag 7 van het OSI model, de applicatielaag.
snelheid de PDF’s kan downloaden. Echter, met het boekingssysteem wordt het geld verdiend. Als er dus een verdeling gemaakt moet worden, zal de booking applicatie
Praktische toepassingen Citrix NetScaler 22
Voorbeeld scenario: Citrix AppXpert Rate Controls USENET PROVIDER NNTP server
Client A MET 10Mbps abo
Internet Client
Netscaler
Client A QoS10Mbps
CRM L7 QoS
23
In het scenario hiernaast op pagina 23 heb ik nog een toepassing uitgewerkt. Stel je bent een usenet (nieuwsgroepen) provider, die abonnementen verkoopt met een maximale doorvoersnelheid (bandbreedte) naar de nieuwsservers. Veel partijen als Eweka, EasyUseNet, TweakNews en dergelijke doen dit zo. Linksom of rechtsom zullen zij ervoor moeten zorgen dat je de maximale
bandbreedte waarvoor je betaalt ook krijgt. Maar waar heeft de client voor betaald? Dat is wellicht vastgelegd in een CRM(achtige) applicatie. De NetScaler kan de informatie over de toe te passen regels ophalen uit een CRM applicatie om deze vervolgens toe te passen op de NNTP sessie die opgezet wordt. In dit voorbeeld een zogenaamd “cap” van 10Mbps.
Praktische toepassingen Citrix NetScaler 24
IPv6 Translation
AUTOMATISCHE TRANSLATIE
Client
Client IPv4 netwerk
IPv6 netwerk Netscaler
Server
25
Server
IPv6 IPv6 support. Jawel, ook IPv6 support is belangrijk om aan te halen bij de NetScaler. Natuurlijk verwacht je van zo’n netwerk appliance dat management van en deelname aan een IPv6 netwerk vanzelfsprekend is. En dat is het ook! Het IPv6 support van de NetScaler gaat echter veel verder dan alleen client spelen.
en andersom. Een situatie die nu en de komende jaren bij veel eindgebruikers voor zal komen: een deel van het netwerk is IPv6 en een deel (nog) IPv4. Dat kan voortkomen uit een migratie scenario, maar ook vanwege compatibiliteits en kostenoverwegingen. De NetScaler kan dit soort trajecten pijnlozer maken, zie diagram.
Een NetScaler kan namelijk ook automatische vertaling doen van IPv4 verkeer naar IPv6 verkeer
Praktische toepassingen Citrix NetScaler 26
27
Nog meer optimalisatie Optimalisatie kunnen we bereiken op veel vlakken. De NetScaler geeft ons mogelijkheden om technische optimalisatie te bereiken, op netwerk/protocol en infrastructuur niveau. Dit levert echter vaak ook optimalisatie aan de kosten kant op.
En zeker als de software in de backend bijvoorbeeld gelicensieerd is per fysieke CPU, dan is de ROI berekening voor de inzet van een NetScaler vaak eenvoudig.
of stromen te consolideren, hoeft de backend minder hard te werken of
Praktische toepassingen Citrix NetScaler 28
TCP optimalisatie
Web Server
Web Client
Client
Internet
TCP packet size = 8kb
TCP packet size = 64kb Netscaler
29
Het is goed om te realiseren dat een end-to-end TCP communicatie een aantal uitdagingen kent. Er vindt tussen de source en destination een negotiation plaats met betrekking tot de packetsize. Deze negotiation vindt plaats door middel van trail-n-error, dus de transmissies beginnen met kleine packets en de packets worden steeds groter naarmate de bandbreedte dit toestaat en de acknoledgements binnen blijven komen. Dit proces, tot aan de maximale bandbreedte, noemen we TCP slowstart (http:// en.wikipedia.org/wiki/Slow-start). Zodra de maximale bandbreedte bereikt is vindt er packetloss plaats
en TCP congestion control (http:// en.wikipedia.org/wiki/Congestion_ window) halveert direct de packet (window) size en het spelletje begint opnieuw. Het ziet er dan ongeveer zo uit: volume
Bandbreedte limiet
Ongebruikte bandbreedte
Tijd
Stel je de situatie voor waarbij je een webapplicatie ontsluit via internet aan gebruikers. Deze webapplicatie communiceert met name via TCP. Zonder de NetScaler er tussen zal er
verloren gaan aan de TCP sessies en zeker in het geval van HTTP, omdat daar steeds nieuwe sessies opgezet worden welke ook weer worden afgesloten. De NetScaler kan opgenomen worden als man-in-the-middle van de tcp verbindingen en presenteert zich in- en extern als het loket voor de TCP sessie. Door te bufferen is het mogelijk om aan de binnenkant (backend servers) een andere packet size overeen te komen dan aan de buitenkant (client zijde). Er vinden dan minder acknowledgements plaats op de backend servers en we verliezen daar ook minder networking- en computing resources.
Praktische toepassingen Citrix NetScaler 30
Citrix AppCompress Hey, een Word document, compressen met die handel!
Client
31
1 MB mydoc.docx
Netscaler
10 MB mydoc.docx
Server
Een andere vorm van optimalisatie is compressie: Citrix AppCompress. Eindelijk eens een toepassing die eenvoudig uit te leggen is: zippen of rarren. En in essentie is dat wat de NetScaler inline en op een intelligente manier kan doen met uncompressed data. Bedenk dat zoiets zeer zinvol kan zijn voor bijvoorbeeld Sharepoint of Outlook Web Access (OWA). Zie hiernaast het voorbeeld met een Sharepoint server die een MS Word document ongecomprimeerd aanbiedt. Als de webserver/webapplicatie niet in staat is zelf te comprimeren (of als
deze zelf wel in staat is, maar je wilt die CPU load er niet hebben) kunnen ingesteld worden. Door middel van deze spelregels kan bepaald worden, welke bestanden, typen, formaat, reeds aanwezige compressie en dergelijke, gecomprimeerd kunnen en moeten worden. Het samenstellen van deze spelregels kan overigens best complex worden, vandaar dat Citrix door middel van Citrix AppExpert Templates al een set van spelregels voor veelgebruikte applicaties beschikbaar stelt. Later meer over AppExpert Templates.
Praktische toepassingen Citrix NetScaler 32
Citrix AppCache Hey, dat bestand kreeg ik snel!
Client
33
Hey, een PNG, die ga ik cachen
From cache
Netscaler
No cache
Server
Geen load is nog beter Veelal worden webapplicaties niet ontwikkeld met de meest optimale netwerk stroom voor ogen. Functionaliteit, responsiveness, frameworks, compatibility, extensibility staan veel hoger op het lijstje van de webdeveloper. Om die reden zijn maar weinig websites en webapplicaties in staat om goed om te gaan met (browser) caching. Om dit probleem op te lossen kan je, je raadt het al, een NetScaler inzetten :) ... de NetScaler kan als
man-in-the-middle caching doen voor backend servers. Een caching proxy on steroids. En de steroids slaan dan met name op het feit dat je nu in staat bent om spelregels voor caching op de NetScaler webapplicatie functionaliteit. noemen dit Citrix AppCache.
We
Bedenk dan als voorbeeld dat de plaatjes in een website maar eenmalig van de backendserver hoeven te worden gedownload bij aanvraag van de eerste client
(browser). De volgende client wordt voorzien vanuit de NetScaler cache. Welke bestanden wel en welke niet, wat is de retentie tijd van cache bestanden, allemaal zaken die in spelregels vastgelegd kunnen worden. Spelregels die wederom al een voorzet kunnen krijgen vanuit de Citrix AppExpert Templates. Daarnaast is de NetScaler ook uitstekend in staat als generieke caching proxy te dienen voor het ontlasten van de (internet)verbinding vanaf de client zijde.
Praktische toepassingen Citrix NetScaler 34
OSI model
35
Data
Application
Data
Presentation
Data
Session
Segments
Transport
Packets
Network
Frames
DataLink
Bits
Physical
toegestaan mogen worden door de op IP level (Layer 3) en TCP/UDP (layer 4). Het is dan vrij eenvoudig mogelijk om verkeer toe te staan naar een bepaald IP adres/reeks of een bepaalde dienst zoals FTP (port 21) al dan niet op een zeker IP adres. Het wordt anders (lastiger) als op één webserver meerdere websites gehost worden, welke niet allemaal
adres en hetzelfde portnummer. Dat in de NetScaler dus wél kan. Sterker nog: gebruiker A vanaf netwerk B, mag wel bij www.leukesite.nl/index. html maar gebruiker A vanaf netwerk C mag niet bij www.leukesite.nl/ . Jammer hè ;)
Praktische toepassingen Citrix NetScaler 36
Meer over security beschikbaarheids features. Tenslotte kan een gebrek aan beveiliging de beschikbaarheid van de omgeving danig beïnvloeden. Dit gaat Denial-of-service_attack is de NetScaler in staat om te beschermen tegen dit soort aanvallen. DoS attacks in soorten en maten Om te begrijpen wat NetScaler kan doen, is het toch nodig even een voorbeeld te geven van een DoS attack. Een website of webapplicatie kan bijvoorbeeld de dupe worden bestookt met TCP/Syn pakketjes die vragen om Syn acknowledgements.
37
Omdat degene die de DoS aanval doet meestal niet bekend wil zijn/ worden, worden de Syn acks niet verstuurd naar het correcte adres en de TCP sessie blijft dus half open staan. Het aantal van die half open sessies is beperkt op een server, de tabel waar dit in bijgehouden wordt raakt op een gegeven
moment verzadigd. Doordat de tabel verzadigd is worden legitieme verzoeken niet meer afgehandeld en is de DoS een feit. Als de NetScaler als man-in-themiddle aanwezig is tussen de backend server(s) en de client(s), dan vinden de syn-->syn-acks->acks plaats tussen zowel de client als de NetScaler als tussen de NetScaler en de servers. Dus niet meer direct van client naar server. De procedure tussen de NetScaler en de servers wijzigt in feite niet. Tussen de NetScaler en de client
injecteert de NetScaler een stukje data (hash) in de syn header, zodat de acknowledgement die daarop volgt (in het geval van een legitieme sessie) herkenbaar is. Omdat de kan worden hoeft pas na het verkrijgen van de acknowledgement de tabel (buffer) te worden geupdate. Aangezien bij een (D)DoS nooit een acknowledgement binnen gaat komen, komt die informatie ook nooit in de tabel en ontstaat er dus geen probleem. Deze functionaliteit staat standaard aan op een NetScaler.
Meer over security 38
L4 (D)Dos defence
Web client
Web server
Internet Client
39
SYN SYN ACK (+data hash) ACK (+data hash)
Netscaler
SYN SYN ACK ACK
Ook op laag 7 kan de Citrix NetScaler tegen DoS beschermen. Dit is overigens geen functionaliteit uit de NetScaler Standard (volgens de datasheet www.citrix.com/content/ dam/citrix/en_us/documents/ products/netscaler-data-sheet. pdf), maar de link met de uitleg van hierboven is te mooi om ‘em niet te maken. Als de NetScaler als man-in-the-middle gebruikt wordt ter bescherming van aanvallen op applicatie niveau, wordt in feite de
feature AppExpert Rate Controls gebruikt (applicatie QoS). Voor een database kan dus gezorgd worden dat de database server bijvoorbeeld per client, per database, per tabel, per user (enz) een beperkte instelbare hoeveelheid select statements kan afhandelen. Idem voor een web
com/products/netscaler-applicationdelivery-controller/features/visibility. html) (wordt later behandeld). Dit maakt het mogelijk om de waarden waarmee AppExpert Rate Controls kan beschermen tegen (D)DoS aanvallen, dynamisch in te stellen. Geen statische tresholds meer nodig en dus ook minder kans op false positives.
En Citrix maakt deze feature nog mooier door deze te combineren met Citrix ActionAnalytics (www.citrix.
Meer over security 40
HTTP Rewrite
Web client
www.azlanblog.nl
Internet Client
41
Server: ZegIkNiet-LekkerPuh (header info)
Netscaler
Server: Microsoft-IIS/8.0 (header info)
“Security by obscurity” In termen van security is “security by obscurity” een bekende uitspraak. Wat “men” niet weet of begrijpt, kan men ook minder makkelijk misbruiken. Het is dus zaak zoveel mogelijk informatie bij potentiële hackers weg te houden. Helaas zijn veel backend server zo ingesteld dat ze meer informatie prijsgeven dan strikt noodzakelijk. Zo geeft een webserver vaak in de server headers weg wat de gebruikte software en softwareversie is. Een header check op www.microsoft.com levert
bijvoorbeeld Server: Microsoft-IIS/8.0 op. Met een tool als www.metasploit. com/ is het in theorie mogelijk om vrij eenvoudig naar de vulnerabilities te zoeken en direct misbruik van te maken (ik wil overigens zeker niemand op ideeën brengen, laat dat duidelijk zijn). NetScaler wederom als man-in-themiddle kan de headers strippen van deze informatie en zelfs vervangen door alternatieve informatie, zoals
als de webserver onderdeel is van een andere applicatie of draait op een appliance (tegenwoordig heeft iedere router/switch/modem en broodrooster een webinterface) dan is dat lastiger. Daarnaast: hoe makkelijk is het om het vergeten in te stellen op een nieuwe server of device. NetScaler ertussen, voor je backend servers is een feit.
op veel webservers zelf ook, maar
Meer over security 42
URL Transformation www.nieuwedomeinnaam.nl/ deelvandewebsite.html
www.oudedomeinnaam.nl/ deelvandewebsite.html
Internet Client
43
herschrijf en presenteer realtime als www.nieuwedomeinnaam.nl/ deelvandewebsite.html
Netscaler
presenteer als www.oudedomeinnaam.nl/ deelvandewebsite.html
URL Transformation In het kader van websites kan de NetScaler ook aan URL transformation doen. Een webapplicatie die bijvoorbeeld geschreven is met absolute paden naar de domeinnaam www. oudedomeinnaam.nl kan je niet zomaar aanpassen naar www. nieuwedomeinnaam.nl. Tenminste, niet altijd. Wederom: NetScaler NetScaler gaat alle paden die extern die webapplicatie benaderen, realtime herschrijven, waardoor de buitenwereld helemaal denkt dat
de website functioneert als www. nieuwedomeinnaam.nl. SAML2 Als laatste gave security toepassing nog even de aandacht voor SAML2 ondersteuning. SAML2 is het best te beschrijven als een standaard protocol waarmee authenticatie en authorisatie tussen meerdere sites (logische domeinen) plaats kan vinden. In deze architectuur kennen we Identity Providers (IP) en service providers (SP). Een Microsoft Active Directory zou bijvoorbeeld een identity provider kunnen zijn,
waar alle accounts en bijbehorende rechten opgeslagen worden. SalesForce zou dan als Service Provider gebruik kunnen maken van de Identity Provider, waardoor het mogelijk wordt om met je AD account te authenticeren op de clouddienst SalesForce. Citrix NetScaler kan zowel ID als SP spelen hetgeen in hybride cloud omgevingen erg prettig kan werken, aangezien de NetScaler veelal toch al logischerwijs de schakel kan zijn tussen private en public cloud componenten.
Meer over security 44
45
Management Voor het beheer van netwerk en netwerkstromen kent de Citrix NetScaler vele management features. Teveel om ze allemaal te behandelen, maar
AppCache en AppCompress. AppExpert Templates In feite zijn AppExpert Templates sets van best practices die in een template ondergebracht zijn. De template kan aangeleverd worden door Citrix of Citrix partners (Citrix validated templates) zoals Cisco, maar Citrix werkt ook heel hard aan een community voor het bouwen en onderhouden van templates. Een andere uitleg die je aan AppExpert
Templates zou kunnen geven, is dat het XML building blocks zijn om een omgeving versneld op te zetten. Je kan ze namelijk ook zelf maken. Als je dus een ISV bent met een eigen (web)server applicatie, dan is het mogelijk om zelf de meest optimale instelling al aan te leveren in een Template. Tot nu toe ben ik super enthousiast
Management 46
over de NetScaler, maar over de AppExpert Templates hoor ik ook nog wel een puntje van kritiek: ze zijn NetScaler versie afhankelijk. En dat betekent dat ze dus bij iedere nieuwe versie van de NS software geupdate moeten worden. Dit gebeurt soms erg traag of zelfs niet. Het is een fantastische feature die wellicht iets meer prioriteit moet krijgen in het R&D proces voor nieuwe NS releases. Netwerk analyse Google Analytics voor netwerkstromen, zo is Citrix AppFlow het beste te beschrijven. AppFlow is de Citrix marketing naam voor de NetScaler integratie en implementatie van IPFIX (IP Flow Information Export
47
http://en.wikipedia.org/wiki/IP_Flow_ Information_Export). IPFIX is een open standaard waarbij netwerk-stromen inline bekeken kunnen worden en ontleed tot op het diepste niveau. Deze standaard is ontstaan op basis van het Cisco NetFlow protocol (v9). In feite is het met IPFIX mogelijk de netwerkstroom op een bepaald punt (observation point) van laag 1 tot en met laag 7 te ontleden en deze informatie kan vervolgens via een zogenaamde exporter aangeleverd worden aan een collector. Citrix levert hiervoor zelf een collector mee (1.x release), maar bekende IPFIX collectors zijn bijvoorbeeld ook HP Software (OpenView) en Solarwinds Orion.
Door verregaande intelligentie op alle lagen van het OSI model, zijn hele gave dingen mogelijk. Niet alleen kunnen vragen “hoeveel van mijn verkeer zijn SQL queries” maar zelfs kunnen vragen “hoe SQL select statements from tabel asdfg komen er langs op deze verbinding”. ActionAnalytics Misschien voor sommigen nauwelijks het noemen waard, maar ik vind ActionAnalytics wel erg gaaf. Citrix beschrijft het op hun blog (http://blogs.citrix.com/2012/04/18/ netscaler-10-actionanalytics-is-thereal-time-bigdata/) zelf als “realtime big-data”. In feite wordt AppFlow data geanalyseerd en realtime in
rapportages omgezet. Het is dan bijvoorbeeld mogelijk om een top 10 van meest uitgevoerde SQL queries te maken. Of een top 50 van meest actieve gebruikers. Top 25 server applicaties die het meeste bandbreedte verbruiken. Zonder te wachten op het verwerken van de data, je kijkt naar realtime gegevens!
Visualisatie In de NetScaler zit een visuele policy builder ingebouwd, deze wordt ook wel de (policy) Visualizer genoemd. Met deze software is het mogelijk overzicht policies weer te geven. De beschrijving is wel een beetje vertekend, want de tool is eigenlijk echt alleen bedoeld om policies interface kent geen drag’n’drop en dergelijke. Maar voor de visueel ingestelde network engineer is het een mooie tool om relaties tussen objecten en afhankelijkheden snel in te zien.
Management 48
Voorbeeld: Citrix Netscaler HA Servers
Primary Netscaler Intern netwerk
Internet Client
Secondary Netscaler
49
Beschikbaarheid Na deze management toepassingen, kan ik het niet laten om nog even
ingericht en virtueel gekoppeld aan de actieve node. De passieve node gaat in read only mode en beide nodes gaan zich gedragen als één logische actieve node.
Het opzetten van zo’n HA “cluster” letterlijk een paar minuten werk. Maar het scheelt je in geval van hardware failure mogelijk uren/ dagen downtime. Want zodra de functionaliteit van de actieve
node onderbroken wordt, neemt de passieve node het direct over. Alles blijft behouden: TCP sessies, netstate, ARP cache blijft gevuld, echt nul impact op de service. NetScaler HA, mooie functie.
Beschikbaarheid 50
Citrix Secure Gateway XenApp
Secure Connection met SG voor XA/XD gebruik Firewall Internal production Internet XenDesktop Client DMZ
Single public IP Secure Gateway
51
Remote Access Lang lang geleden, in een mooi sprookjesbos ... euh, nee ... lang geleden
client beter te beveiligen. Daarnaast werd ontsluiting via internet een Citrix server ontsloten moest worden. Zonder een tussenoplossing heb
Secure Gateway Zie daar de use case voor het product dat we al jaren kennen als Citrix Secure Gateway. Een Windows product dat geïnstalleerd Sale inmiddels) op een server in de
DMZ en wat als loket (end point) kon dienen voor client sessies. Secure Gateway functionaliteit is inmiddels opgenomen in andere producten van Citrix, zoals de Access Gateway en de NetScaler. Citrix
Secure Gateway was een product dat men gratis mocht gebruiken in combinatie met Citrix XenApp / XenDesktop (of oudere versies) producten. Het is dus ook zo dat met de migratie naar het NetScaler platform, nog steeds een gratis versie beschikbaar is om Secure Gateway in te zetten: de NetScaler Express Edition is een gratis virtual appliance met SG functionaliteit. Later meer hierover in het hoofdstuk NetScaler uitproberen?
Remote Access 52
Citrix Access Gateway (CAG) XenApp
SSL VPN met CAG voor XA/XD gebruik en SAP verbinding
Firewall Internal production Internet
XenDesktop
Client DMZ
Single public IP
SAP Backend servers Citrix Access Gateway
53
Access Gateway De Citrix Access Gateway (hierna CAG te noemen) wordt meestal ook in de DMZ geplaatst en kan ook de toegang tot XA/XD faciliteren (dus dienen als ICA proxy). Daarnaast kan de CAG SSL VPN’s opzetten (via een zogenaamde CAG plugin) zodat ook andere applicaties beschikbaar gemaakt kunnen worden. Dit is de belangrijkste toepassing van de CAG.
omdat de term gebruikt wordt voor een aantal End-of-Sale devices, terwijl er nieuwe versies zijn die ook CAG heten. Soms zelfs met letterlijk dezelfde naam. De oude CAG en de nieuwe CAG kunnen ook ongeveer hetzelfde functioneel gezien, dus het verschil zit hem met name in het daadwerkelijke platform (NetScaler OS) en de management tools.
De term CAG heeft echter voor wat verwarring gezorgd de laatste tijd,
Remote Access 54
In de “oude” CAG licentie vorm werd bovenstaande CAG Standard Edition genoemd. Als het een fysieke appliance was tenminste, bij een virtuele appliance heette dit CAG VPX. In beide gevallen is de functionaliteit afkomstig van “oude” CAG VPX was een virtual appliance op basis van een eigen OS en kon uitgerold worden op de gangbare enterprise hypervisors. De “oude” CAG Advanced voegt hier onder andere nog end-point analyse aan toe. Dat wil zeggen dat er bijvoorbeeld controle kan
55
plaatsvinden op aanwezigheid van up-to-date antivirus software op de client. Of er kan gecontroleerd worden of de juiste windows/ applicatie updates reeds geïnstalleerd zijn. De “oude” CAG Advanced is een Windows applicatie is en daarmee afwijkend van de andere CAGs. Met als nadeel dat je een aparte SQL database nodig hebt en waarbij je dus ook Windows licenties nodig hebt en zelf moet gaan nadenken over load balancing t.b.v. beschikbaarheid. Als laatste was er nog de “oude” CAG Enterprise Edition (CAGEE),
een volledig self contained appliance. Met geïntegreerde mogelijkheden voor failover waarbij een database niet nodig is. De “oude” CAGEE draaide onder water echter wel al op het NetScaler OS. “Nieuwe” CAG Vanuit een technisch oogpunt is de “nieuwe” CAG (zowel fysiek als virtueel) een uitgeklede NetScaler. Het draait op het NetScaler OS, heeft dezelfde management interface en het is feitelijk de ingevoerde licentie die bepalend is voor de functionaliteit. Er zijn geen verschillende versies meer, alleen
CAG (hardware device) en CAG het nog steeds CAG, maar op de website van Citrix wordt de CAG ook met regelmaat Citrix NetScaler Access Gateway genoemd. Daarnaast is de “CAG functionaliteit” een optie die aangezet kan worden op de ‘normale’ NetScalers.
Remote Access 56
57
NetScaler uitproberen? mee experimenteren? Om eens te testen met het NetScaler platform heeft Citrix de NetScaler Express Edition (https://secureportal. aspx?downloadid=1857216). Dit is een GRATIS NetScaler met volledige Standard Edition functionaliteit qua platform licentie. Dus de meeste features uitgelicht in dit document een volledig functionele appliance, eventueel bruikbaar voor productie
(geen support) met een geldigheid van een jaar. Naast de geldigheid van een jaar wordt de Express Edition op een tweetal facetten gelimiteerd: de maximale doorvoer snelheid is 5Mbps en er zijn 15 concurrent universal licenses bij inbegrepen. Omdat de Express Edition geen aparte “ICA proxy” licenties heeft (de andere “edities” wel), worden
deze afgetrokken van het aantal beschikbare universal licenses. Deze licenties zijn ook bruikbaar als SSL VPN gebruikers (ofwel: AG users). Meer hierover is te vinden in de Citrix NetScaler FAQ (http:// support.citrix.com/servlet/KbServlet/ download/20334-102-696697/ CTX121291_v2.pdf).
NetScaler uitproberen? 58
Meer kennis van Citrix NetScaler http://nl.linkedin.com/in/rvandermeer (http://nl.linkedin.com/in/
NetScaler trainingen, te vinden op www.azlaneducation.nl. Heb ik je overtuigd en wil je NetScaler gaan inzetten? In dat geval zien we je graag terug in één van onze Citrix
59
Naast alle uitgelichte features kent de NetScaler nog vele andere
mogelijkheden tot load balancing en load distributie. Het was niet de bedoeling ze allemaal in dit document toe te lichten, dus bovenstaande is slechts het topje van de ijsberg. Weet vooral dat NetScaler ongelofelijk veel kan op dit gebied en wellicht zelfs soms het gemiddeld voorstellingsvermogen te boven gaat.
Over de auteur De auteur van dit artikel is Rob van der Wel. Een virtualisatie verslaafde commerciële techneut die zich ‘universeel begrijpelijk en zichtbaar maken van IT’ ten doel heeft gesteld. Rob is actief op diverse blogs ( ), twitter ( ), facebook (www.facebook.com/ ) en LinkedIn (nl.linkedin. com/in/robvanderwel/).
Meer kennis van Citrix NetScaler 60
Azlan Tolnasingel 2 2411 PV Bodegraven T: +31 88 133 4000
[email protected] www.azlan.nl/citrix www.azlaneducation.nl