ON2IT_Citrix_NetScaler_moeilijk-uit-te

Werbung
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
Herunterladen