Au début du 21e siècle, une ressource telle que les adresses IPv4 était sur le point de s'épuiser. Dès 2011, l'IANA avait attribué les cinq derniers blocs /8 de son espace d'adresses aux registraires Internet régionaux, et en 2017, les adresses étaient déjà épuisées pour eux. La réponse à la pénurie catastrophique d'adresses IPv4 ne s'est pas limitée à l'apparition du protocole IPv6, mais a également été la technologie SNI, qui a permis d'héberger un grand nombre de sites Web sur une seule adresse IPv4. L'essence de SNI réside dans le fait que cette extension permet aux clients, lors de l'établissement de la connexion, de communiquer au serveur le nom du site avec lequel ils souhaitent se connecter. Cela permet au serveur de stocker plusieurs certificats et, par conséquent, d'assurer le fonctionnement de nombreux domaines sur une seule adresse IP. La technologie SNI s'est révélée particulièrement prisée par les fournisseurs SaaS pour entreprises, qui ont pu héberger pratiquement un nombre illimité de domaines sans se soucier du nombre d'adresses IPv4 nécessaires. Découvrons comment mettre en œuvre le support SNI dans Zimbra Collaboration Suite Edition Open-Source.

SNI fonctionne dans toutes les versions récentes et prises en charge de Zimbra OSE. Si votre Zimbra Open-Source fonctionne sur une infrastructure multi-serveurs, vous devrez effectuer toutes les étapes ci-dessous sur le nœud avec le serveur proxy Zimbra installé. De plus, vous aurez besoin de paires de certificats + clés correspondantes, ainsi que de chaînes de certificats de confiance provenant de votre autorité de certification pour chacun des domaines que vous souhaitez héberger sur votre adresse IPv4. Nous attirons votre attention sur le fait que la plupart des erreurs rencontrées lors de la configuration de SNI dans Zimbra OSE proviennent précisément de fichiers de certificats incorrects. Par conséquent, nous vous conseillons de tout vérifier attentivement avant leur installation effective.
Tout d'abord, pour que SNI fonctionne correctement, il est nécessaire de saisir la commande zmprov mcf zimbraReverseProxySNIEnabled TRUE sur le nœud avec le serveur proxy Zimbra, puis de redémarrer le service Proxy en utilisant la commande zmproxyctl restart.
Commençons par créer un nom de domaine. Pour l'exemple, nous prendrons le domaine company.ru et, après la création du domaine, déterminons le nom de l'hôte virtuel Zimbra et l'adresse IP virtuelle. Notez que le nom de l'hôte virtuel Zimbra doit correspondre au nom que l'utilisateur doit entrer dans la barre d'adresse pour accéder au domaine, et doit également correspondre à celui indiqué dans le certificat. Prenons comme exemple le nom de l'hôte virtuel Zimbra mail.company.ru, et utilisons comme adresse IP virtuelle IPv4 l'adresse 1.2.3.4.
Après cela, il suffit de saisir la commande zmprov md company.fr zimbraVirtualHostName mail.company.fr zimbraVirtualIPAddress 1.2.3.4, pour lier l'hôte virtuel Zimbra à la virtuelle une adresse IP. Veuillez noter que si le serveur est derrière un NAT ou un pare-feu, il est nécessaire de veiller à ce que toutes les requêtes au domaine soient dirigées vers l'adresse IP externe qui lui est liée, et non vers son adresse sur le réseau local.
Une fois tout cela fait, il ne reste plus qu'à vérifier et préparer les certificats du domaine pour l'installation, puis à les installer.
Si la délivrance du certificat pour le domaine s'est bien passée, vous devriez avoir trois fichiers de certificats : deux d'entre eux représentent des chaînes de certificats de votre autorité de certification, et un est le certificat direct pour le domaine. De plus, vous devez avoir un fichier de clé que vous avez utilisé pour obtenir le certificat. Créez un dossier séparé /tmp/company.ru et placez-y tous les fichiers de clés et de certificats existants. Au final, cela devrait ressembler à ceci :
ls /tmp/company.fr
company.fr.key
company.fr.crt
company.fr.root.crt
company.fr.intermediate.crtEnsuite, combinons les chaînes de certificats en un seul fichier à l'aide de la commande cat company.fr.root.crt company.fr.intermediate.crt >> company.fr_ca.crt et vérifions que tout est en ordre avec les certificats grâce à la commande /opt/zimbra/bin/zmcertmgr verifycrt comm /tmp/company.ru/company.ru.key /tmp/company.ru/company.ru.crt /tmp/company.ru/company.ru_ca.crt. Une fois la vérification des certificats et de la clé réussie, vous pouvez procéder à leur installation.
Pour commencer l'installation, unissons d'abord le certificat du domaine et les chaînes de confiance des autorités de certification en un seul fichier. Cela se fait également par une commande de type cat company.fr.crt company.fr_ca.crt >> company.fr.bundle. Ensuite, il est nécessaire d'exécuter la commande pour enregistrer tous les certificats et la clé dans LDAP : /opt/zimbra/libexec/zmdomaincertmgr savecrt company.ru company.ru.bundle company.ru.key, puis d'installer les certificats à l'aide de la commande /opt/zimbra/libexec/zmdomaincertmgr deploycrts. Après l'installation, les certificats et la clé du domaine company.ru seront stockés dans le dossier /opt/zimbra/conf/domaincerts/company.ru.
En répétant ces actions avec des noms de domaine différents mais la même adresse IP, il est possible d'héberger des centaines de domaines sur une seule adresse IPv4. Il est également possible d'utiliser des certificats provenant de différents centres de délivrance sans aucun problème. Vous pouvez vérifier la validité de toutes les actions effectuées dans n'importe quel navigateur, où chaque nom d'hôte virtuel doit afficher le sien Certificat SSL.
Pour toute question concernant Zextras Suite, vous pouvez contacter la représentante de la société « Zextras », Ekaterina Triandaphilidi, par e-mail à katerina@zextras.com.
Source : habr.com
