Introduction
Bienvenue dans ce cours
Hey!
Si comme nombreux de mes collègues, le netscaler te semble comme une boîte noir ou un produit réseau dont tu n’as pas à connaitre (nan mais Netscaler c’est un produit réseau), tu es sur la bonne page!
Car je vais te montrer de la manière la plus simple possible, comment fonctionne le Netscaler dans son utilisation la plus courante.
Laquelle ?
Permettre l’accès à une application publiée ou machine virtuelle à partir du Netscaler comme point d’entrée.
Donc permettre l’authentification sur l’interface web du Netscaler:
et de lancer des applications comme le CMD
Et nous allons voir exactement comment faire ça.
A la fin de ce cours, je te délivrerai ta ceinture noire de Netscaler:
Note de l’auteur
Juste avant de commencer, je vais te révéler pourquoi il est très bénéfique de se mettre à Netscaler.
Contrairement à Xenapp/Xendesktop, Netscaler est une solution quasi INTEMPORELLE.
J’ai connu Metaframe XP, 4.0, 4.5, 5.0, 6.0 (la version Vista de citrix lol), 6.5 etc … jusqu’à la 7.X.
D’une version majeure à une autre (6.X à 7.X par exemple), le fonctionnement est complètement différent.
Si tu me mettais devant la console Xendesktop 7.X sans être formé, je touchais pas la souris.
Normalement, même avec une grosse mise à jour, on devrait être capable de s’en sortir un minimum.
Comme dans un jeu, tu passes de Tekken 6 à 7, tu retrouves à peu près les mêmes persos et les mêmes coups.
Avec Xenapp/Xendesktop, pas vraiment, t’as presque l’impression de changer de jeu.
Sans compter que les noms des composants changent tout le temps. C’est très déstabilisant.
Sur Netscaler, quelque soit les mises à jour, l’interface web reste quasiment pareil.
Les concepts restent les mêmes.
Tu gardes tes connaissances pour longtemps!
Les meilleurs business sont ceux intemporels, et il en est de même pour la connaissance.
Prérequis
Pour le lab, j’ai utilisé Vmware workstation que vous pouvez retrouver ici:
https://www.vmware.com/fr/products/workstation-pro/workstation-pro-evaluation.html
Il vous faudra installer au préalable une plateforme Citrix comprenant donc au moins:
- Un Delivery Controler
- Un storefront
- Un serveur Xenapp / Xendesktop
- Un contrôleur de domaine Active Directory avec une autorité de certification
Vous pouvez biensûr installer tous les composants Citrix dans un même serveur!
C’est moche mais ça reste du lab, et tant que ça marche 🙂
Pour information, voici comment est configuré mon Lab:
Premiers Pas
Télécharger Netscaler VPX ADC
Pour avoir une licence d’éval, il va falloir passer par votre contact Citrix. Si vous en avez pas, vous pourrez peut être avoir une licence en appelant miel : https://www.miel.fr/citrix J’ai déjà appelé par téléphone par le passé et il m’avait fourni des licences.
Nous allons commencer par tout simplement télécharger la dernière version disponible de Netscaler disponible à cette adresse:
https://www.citrix.com/downloads/citrix-adc/
Il faut faudra vous logger avec votre compte mycitrix.
Si malgré tout, vous ne pouvez pas le téch
CTX3X-667PF-Y6LG7-TXMRT-QTGW7
Installation de Netscaler VPX ADC
Maintenant qu’on a téléchargé Netscaler, on va l’installer 🙂
On décompresse le fichier zip
Puis nous allons lancer Vmware Workstation.
Installation du fichier de licences
On voit voir dans ce chapitre comment récupérer un fichier de licence.
Récupération de l’adresse MAC
Pour récupérer la mac adress, vous pouvez le faire en vous connectant en ssh sur le netscaler puis tapper les commandes suivantes:
shell lmutil lmhostid
La commande shell nous permet simplement de nous permettre de lancer des commandes shell comme les lignes de commandes MSDOS ( cd, cp, dir etc…)
Et la commande lmutil lmhostid nous permet d’afficher l’adress mac qui est dans mon cas: 000c2975032f
Téléchargement du fichier de licences
Connectez vous à votre compte citrix:
Installation du fichier de licences
Dès lors que vous vous reconnecterez au Netscaler, il vous sera demandé d’uploader un fichier de licence.
Ca tombe bien, on en a un 😎
Cliquer sur Add New License
Clique sur Browse.
On notera qu’on peut aussi récupérer l’HOST ID (adress mac) du netscaler à droite, mais afin que le cours soit mieux structuré et que t’ais un premier aperçu avec la connexion ssh sur le netscaler, on l’a fait en ligne de commande 😉
Et on reboot !
Reconnecte toi et tu devrais voir ça 😀 :
Activation des Features
Nous allons activer 2 features indispensables à la configuration de notre netscaler
Il suffit de faire un ptit clique droit Enable Feature
Ou en ligne de commande :
1
|
enable ns feature SSLVPN AAA |
Nous verrons par la suite à quoi ils servent, ne t’inquiète pas 😉
Gestion des certificats
Avant de commencer
Pour beaucoup, les certificats est un sujet qui fait peur pour de nombreuses raisons:
- manque de pratique
- une autre équipe (ou collègue) l’a fait pour nous
- les docs sur internet expliquant le fonctionnement ne sont pas toujours intuitifs…
- les explications (trop techniques) de vos collègues vous confortent dans l’idée que ce n’est pas fait pour vous etc …
Personnellement, avant de me mettre à Netscaler, je n’étais vraiment pas à l’aise avec les certificats.
Pas à l’aise veut dire que je comprenais pas le fonctionnement exacte.
Je suivais les tutos sur internet sans vraiment comprendre, mais du moment que ça marchait, je me disais : ” Vu que ça marche, c’est que je maitrise … “.
Puis un jour, un collègue m’a demandé:
“Hey Max, j’ai jamais vraiment compris le fonctionnement des certificats, tu pourras m’expliquer quand t’auras 5 min s’il te plait ?”
Le process d’obtention d’un certificat est décrit à cet endroit:
Traffic Management / SSL / SSL Certificate
Il est même accompagné d’un ptit schéma que nous allons suivre pour créer notre certificat:
Ce schéma décrit le process complet que nous allons suivre pas à pas en 6 étapes:
Création du CSR et de clé privée
Création de la clé privée
On va traiter de l’étape 1 du schéma.
Création du CSR
Request File Name: netscaler.reqKey Filename:netscaler.key
PEM Passphrase (For Encrypted Key) Digest Method* Common Name* |
Envoi du CSR à l’ Autorité de certification
Envoi du CSR à l’autorité de certification
On va traiter de l’étape 2 du schéma.
Récupération du CSR
Nous allons dans un premier temps, récupérer le CSR (pour l’envoyer, mieux vaut le récupérer avant 🙂 )
Envoi du CSR à l’ Autorité de certification
Récupération du certificat
On va traiter de l’étape 3 du schéma.
Installation des certificats
Installation certificat root
On va traiter de l’étape 4 du schéma.
Installation du certificat
Link du certificat
On va traiter de l’étape 5 du schéma.
Bind du certificat au Vserver
On va traiter de l’étape 6 du schéma.
A retenir sur les certificats
Si après avoir fait tout ça, les certificats sont toujours un peu floues pour vous, voici ce qu’il faut retenir:
Un certificat SSL (certificate-keypair) est composé de :
– un certificat fourni par une autorité de certification (privée dans notre exemple vu que l’on fait via notre Autorité de certification Windows)
Certnew que j’ai renommé en netscaler dans ce cours.
– une clé privée (que l’on a crée sur le netscaler)
La combinaison du certificat et de la clé privée nous donne le certificat SSL
certificat SSL = Combinaison du Certificat File Name (
Authentification Active Directory
Création du monitor LDAP
add lb monitor monitor-ldap_test.local LDAP -scriptName nsldap.pl -dispatcherIP 127.0.0.1 -dispatcherPort 3013 -password P@ssword01 -secure YES -baseDN "dc=test,dc=local" -bindDN svc_vpx_ldap@test.local -filter cn=builtin
Création du Load Balancing Virtual Server LDAP
add lb vserver virtual-server_ldap_test.local SSL_TCP 2.2.2.2 636 -persistenceType NONE -cltTimeout 9000
bind lb vserver virtual-server_ldap_test.local service-group_ldap_test.local
set ssl vserver virtual-server_ldap_test.local -sslProfile ns_default_ssl_profile_frontend
bind ssl vserver virtual-server_ldap_test.local -certkeyName netscaler-keypair
bind ssl vserver virtual-server_ldap_test.local -eccCurveName P_256
bind ssl vserver virtual-server_ldap_test.local -eccCurveName P_384
bind ssl vserver virtual-server_ldap_test.local -eccCurveName P_224
bind ssl vserver virtual-server_ldap_test.local -eccCurveName P_521
Ajout des serveurs LDAP
On ajoute nos serveurs LDAPS
add server DC01 192.168.43.11
add server DC02 192.168.43.12
Création du service group LDAP
add serviceGroup service-group_ldap_test.local SSL_TCP
bind serviceGroup service-group_ldap_test.local DC01 636
bind serviceGroup service-group_ldap_test.local DC02 636
bind serviceGroup service-group_ldap_test.local -monitorName monitor-ldap_test.local
set ssl serviceGroup service-group_ldap_test.local -sslProfile ns_default_ssl_profile_backend
Création de la Stratégie d’Authentification LDAP
add authentication ldapPolicy authentication-ldap-policy_test.local ns_true ldap-authentication-server_test.local
Création du Serveur d’Authentification LDAP
add authentication ldapAction ldaps-authentication-server_test.local -serverIP 2.2.2.2 -serverPort 636 -ldapBase "dc=test,dc=local" -ldapBindDn svc_vpx_ldap@test.local -ldapBindDnPassword P@ssword01 -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName sAMAccountName -secType SSL -passwdChange ENABLED
Storefront Load Balancing
Ajout des Serveurs StoreFront
add server STF01 192.168.43.41
add server STF02 192.168.43.42
Création du Monitor Storefront
add lb monitor "Monitor Storefront" STOREFRONT -scriptName nssf.pl -dispatcherIP 127.0.0.1 -dispatcherPort 3013 -LRTM DISABLED -secure YES -storename store1 -storefrontcheckbackendservices YES
https://docs.citrix.com/en-us/storefront/current-release/integrate-with-citrix-gateway-and-citrix-adc/load-balancing-with-citrix-gateway.html#citrix-service-monitor
https://docs.citrix.com/en-us/storefront/current-release/integrate-with-citrix-gateway-and-citrix-adc/load-balancing-with-citrix-gateway.html
https://www.carlstalhood.com/storefront-load-balancing-netscaler-12/#monitor
Création du Storefront Group
add serviceGroup Service-group_Storefront SSL -maxClient 0 -maxReq 0 -cip ENABLED X-Forwarded-For -usip NO -useproxyport YES -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
Passage du Monitor Storefront en https 443
cd "C:\Program Files\Citrix\Receiver StoreFront\Scripts"
.\ImportModules.ps1
Install-DSServiceMonitorFeature -ServiceUrl "https://localhost:443/StorefrontMonitor"
Création du Certificat pour le Virtual Server Storefront
Prérequis
De base, si vous tentez d’ajouter un Subject Alternative Name à un certificat, sous Windows Server 2012 en tout cas, cela ne marchera pas sans lancer cette ligne de commande sur votre Authorité de certification :
certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
net stop certsvc
net start certsvc
Cette astuce vient de ce site pour information : http://terenceluk.blogspot.com/2017/09/adding-san-subject-alternative-name.html
Si vous ne le faites pas, vous aurez un certificat sans SAN comme dans mon screenshot à gauche.
A droite, je refais la même demande de certificat, et j’ai bien le SAN ( la procédure de création de certificat est plus bas dans l’article 😉 )
Création de la clé RSA et du CSR
create ssl rsakey storefront.test.local.key 2048 -exponent F4 -keyform PEM -des3 -password P@ssword01
create ssl certReq storefront.test.local.csr -keyFile storefront.test.local.key -keyform PEM -PEMPassPhrase P@ssword01 -countryName FR -stateName PARIS -organizationName TEST -localityName FRANCE -commonName storefront.test.local -digestMethod SHA256
Envoi du CSR à l’ Autorité de certification
san:dns=storefront.test.local&dns=discoverReceiver.test.local
Récupération du certificat
Installation du certificat
add ssl certKey storefront.test.local-keypair -cert storefront.cer -password P@ssword01 -key storefront.test.local.key -expiryMonitor ENABLED -notificationPeriod 30
link ssl certKey storefront.test.local-keypair CAroot-keypair