Tuesday, April 11, 2017

Exchange 2016 (17) : répartition de charge - certificats SSL - avec Citrix Netscaler

English summary: the subject is the configuration of load-balancing MAPI/HTTP with a Citrix NetScaler VPX. In the previous post, we configured the server, services and virtual server but the service remains in the "down" state. Based on previous experience, it appears that we must import (a copy of) the certificate used on our Exchange 2016 (CU5) servers, install it and bind it to the HTTPS virtual server. The process is outlined below.


***


Dans mon texte précédent, j'ai configuré mon répartiteur de charge pour la répartition du trafic MAPI/HTTP (voir le texte précédent). Cependant, l'état de la connexion est "hors service" ("Down"). En me fondant sur des expériences menées en mars 2016, je crois qu'il serait possible de dépasser ce contretemps en important le certificat SSL qu'utilisent les serveurs Exchange. J'ai déjà exporté le certificat en question quand j'ai mis sur pied mon second serveur Exchange et je ne referai donc pas le processus d'exportation. Je suppose donc que nous avons une copie du certificat et dans les lignes suivantes je vais droit au processus d'importation.

D'abord, nous ouvrons une session à notre NetScaler VPX et nous nous dirigeons vers l'emplacement montré ci-dessous :

NetScaler > Traffic Management > SSL

Je fais un clic-droite sur "SSL" et je choisis "Enable Feature" :






Cela fait, je vais à la section "Tools" et je clique sur "Import PKCS#12" :





Je renseigne les cases comme l'image ci-dessous le montre. Je donne un nom au "Output File - fichier de sortie). Il n'est pas nécessaire de naviguer vers un fichier (bien que l'option existe) pour cette propriété. Ensuite, je navigue jusqu'à l'emplacement où j'ai mis le fichier .pfx contenant notre certificat et je saisis le mot de passe qui protège le certificat (plus exactement la clé privée associée au certificat). Il n'est pas nécessaire de mettre quelque chose pour "Encoding Format" :






Je clique sur "OK" (je ne vais pas le préciser à chaque étape) et je me retrouve à la section SSL où je dois, cette fois-ci, cliquer sur "Manage Certificates / Keys / CSRs" :





En arrangeant les entrées selon la date de modification, nous voyons le fichier .pfx que nous avons importé ainsi que le fichier de sortie .pem :




Note : je ne suis pas certain à 100% quel rapport existe entre les deux fichiers mais je crois qu'au moment de l'importation du fichier .pfx, son contenu  (le certificat) passe au "fichier de sortie" (Output file).


Quoi qu'il en soit, nous venons d'importer le certificat et nous devons maintenant l'installer en nous rendant à l'emplacement suivant :

 NetScaler > Traffic Management > SSL > SSL Certificates

Vous avez peut-être remarqué la présence d'un certificat qui se trouve déjà sur la liste des certificats. C'est sans doute un certificat auto-signé. En tout cas, il faut installer le nôtre en plus (cliquer sur "Install") :




Nous naviguons jusqu'à notre fichier .pem que nous sélectionnons :



Je remplis les cases comme nous voyons dans la capture d'écran suivante :



Note : oui, c'est le même nom pour "Certificate File Name" and "Key File Name".


Et voilà. Nous avons réussi à importer et à installer le certificat SSL qu'utilisent nos serveurs Exchange :




Mais si nous revenons à nos serveurs virtuels...

NetScaler > Traffic Management > Load Balancing > Virtual Servers

Il est clair que rien n'a changé. L'état de la connexion est toujours "hors service" ("Down") :





Il faut accomplir encore une tâche : associer le certificat au serveur virtuel HTTPS.

Note : le terme anglais est "Bind" ou "lier".

Dans les paramètres du serveur virtuel lb_vs_HTTPS, nous devons cliquer sur "No Server Certificates" :



A la fenêtre qui s'affiche, nous allons sélectionner un certificat en cliquant sur le signe " > " désigné dans la capture d'écran ci-dessous par le point rouge :



Parmi les certificats proposés (seulement deux dans notre cas), nous choisissons celui que nous avons importé et installé :



Et nous cliquons sur "Bind" :




Il en résulte que nous avons un certificat associé à notre serveur virtuel...




Et que l'état de la connexion est désormais "en service" ou "Up" :



Nous ne devons pas oublier de diriger les clients Outlook vers le répartiteur de charge en ajustant l'enregistrement DNS pour "mail" (ou l'enregistrement comparable dans votre environnement). L'adresse IP devrait être l'adresse IP virtuelle "VIP" du serveur virtuel (soit 10.4.1.37 comme nous pouvons voir dans la capture d'écran précédente) : 




L'épreuve finale consiste à ouvrir Outlook sur un client et à voir s'il donne accès à la boîte aux lettres de l'utilisateur en question. C'est effectivement ce qui se passe. Mais comment être sûr que, en y accédant, nous passons bel et bien par le répartiteur de charge ?

Je le vérifie en désactivant le serveur virtuel lb_vs_HTTPS (il faut cliquer sur "Disable") :



Comme je m'y attendais, le serveur Exchange n'est plus accessible :




Il suffit d'activer le serveur virtuel pour rétablir l'accès.

No comments:

Post a Comment