Zu Beginn des 21. Jahrhunderts gingen die IPv4-Adressen zur Neige. Bereits 2011 hatte die IANA den regionalen Internetregistern die letzten fünf verbleibenden /8-Blöcke aus ihrem Adressraum zugewiesen, und bis 2017 waren auch diese Adressen erschöpft. Die katastrophale Knappheit an IPv4-Adressen führte nicht nur zur Einführung des IPv6-Protokolls, sondern auch zur Technologie SNI, die es ermöglichte, eine Vielzahl von Websites auf einer einzigen IPv4-Adresse zu hosten. SNI ist eine Erweiterung, die es Clients während des Handshakes ermöglicht, dem Server den Namen der Website mitzuteilen, mit der sie sich verbinden möchten. Dies erlaubt es dem Server, mehrere Zertifikate zu speichern und somit viele Domains auf einer einzigen IP-Adresse zu betreiben. Besonders gefragt wurde die SNI-Technologie unter SaaS-Anbietern für Unternehmen, die dadurch in der Lage sind, praktisch unbegrenzt viele Domains zu hosten, ohne auf die benötigte Anzahl an IPv4-Adressen angewiesen zu sein. Lassen Sie uns also untersuchen, wie man die Unterstützung von SNI in der Zimbra Collaboration Suite Open-Source Edition umsetzen kann.

SNI funktioniert in allen aktuellen und unterstützten Versionen von Zimbra OSE. Wenn Sie Zimbra Open-Source auf einer Multi-Server-Infrastruktur betreiben, müssen Sie alle folgenden Schritte auf dem Knoten mit dem Zimbra Proxy-Server durchführen. Zusätzlich benötigen Sie passende Paare von Zertifikat und Schlüssel sowie vertrauenswürdige Zertifikatketten von Ihrer Zertifizierungsstelle für jede der Domänen, die Sie auf Ihrer IPv4-Adresse hosten möchten. Bitte beachten Sie, dass die Mehrheit der Fehler bei der Einrichtung von SNI in Zimbra OSE auf ungültige Zertifikatdateien zurückzuführen ist. Daher empfehlen wir, alles sorgfältig zu überprüfen, bevor Sie mit der Installation fortfahren.
Zunächst müssen Sie den Befehl eingeben, damit SNI ordnungsgemäß funktioniert. zmprov mcf zimbraReverseProxySNIEnabled TRUE auf dem Knoten mit dem Zimbra Proxy-Server und dann den Proxy-Dienst mit dem Befehl neu starten. zmproxyctl restart.
Lassen Sie uns mit der Erstellung eines Domainnamens beginnen. Als Beispiel nehmen wir die Domain company.ru Nachdem die Domain erstellt wurde, legen wir nun den Namen des virtuellen Hosts für Zimbra und die virtuelle IP-Adresse fest. Beachten Sie, dass der Name des virtuellen Hosts für Zimbra dem Namen entsprechen muss, den der Benutzer in die Adresszeile des Browsers eingibt, um auf die Domain zuzugreifen, und mit dem auf dem Zertifikat angegebenen Namen übereinstimmen muss. Als Beispiel verwenden wir den Namen des virtuellen Hosts für Zimbra mail.company.de, und als virtuelle IPv4-Adresse verwenden wir die Adresse 1.2.3.4.
Danach genügt es, den Befehl einzugeben zmprov md company.de zimbraVirtualHostName mail.company.de zimbraVirtualIPAddress 1.2.3.4, um den virtuellen Host Zimbra mit der virtuellen die IP-Adresse gebunden sindzu verknüpfen. Bitte beachten Sie, dass, wenn der Server hinter NAT oder einer Firewall steht, sichergestellt werden muss, dass alle Anfragen an die Domain genau an die zugeordnete externe IP-Adresse und nicht an deren Adresse im lokalen Netzwerk gesendet werden.
Nachdem alles erledigt ist, bleibt nur noch zu überprüfen und die Domainzertifikate für die Installation vorzubereiten, bevor Sie diese installieren.
Wenn die Ausstellung des Zertifikats für die Domain erfolgreich war, sollten Sie drei Zertifikatdateien erhalten haben: zwei davon sind die Zertifizierungsketten von Ihrer Zertifizierungsstelle, und eine ist das eigentliche Zertifikat für die Domain. Außerdem sollten Sie eine Datei mit dem Schlüssel haben, den Sie zur Beantragung des Zertifikats verwendet haben. Erstellen Sie einen separaten Ordner /tmp/company.ru und legen Sie dort alle vorhandenen Dateien mit Schlüsseln und Zertifikaten ab. Am Ende sollte es ungefähr so aussehen:
ls /tmp/company.ru
company.ru.key
company.ru.crt
company.ru.root.crt
company.ru.intermediate.crtNachdem wir die Zertifizierungsketten in einer Datei zusammengeführt haben, verwenden wir den Befehl cat company.ru.root.crt company.ru.intermediate.crt >> company.ru_ca.crt und stellen sicher, dass mit den Zertifikaten alles in Ordnung ist, indem wir den Befehl verwenden /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. Wenn die Überprüfung der Zertifikate und des Schlüssels erfolgreich ist, können wir mit deren Installation beginnen.
Um mit der Installation zu beginnen, fügen wir zunächst das Zertifikat für die Domain und die vertrauenswürdigen Ketten von den Zertifizierungsstellen in einer Datei zusammen. Dies geschieht ebenfalls mit einem Befehl wie cat company.ru.crt company.ru_ca.crt >> company.ru.bundle. Danach müssen Sie den Befehl ausführen, um alle Zertifikate und Schlüssel in LDAP zu speichern: /opt/zimbra/libexec/zmdomaincertmgr savecrt company.ru company.ru.bundle company.ru.key, und anschließend die Zertifikate mit dem Befehl installieren /opt/zimbra/libexec/zmdomaincertmgr deploycrts. Nach der Installation werden die Zertifikate und der Schlüssel für die Domain company.ru im Ordner gespeichert. /opt/zimbra/conf/domaincerts/company.ru.
Durch Wiederholung dieser Schritte mit unterschiedlichen Domainnamen, aber derselben IP-Adresse, können mehrere Hundert Domains auf einer einzigen IPv4-Adresse platziert werden. Dabei können problemlos Zertifikate von verschiedenen Ausstellungsstellen verwendet werden. Die Richtigkeit aller ausgeführten Schritte kann in jedem Browser überprüft werden, wobei für jeden virtuellen Hostnamen sein eigenes angezeigt werden sollte. SSL-Zertifikat.
Bei Fragen zu Zextras Suite können Sie sich an die Unternehmensvertreterin von «Zextras», Ekaterina Triandafiliidi, unter der E-Mail-Adresse katerina@zextras.com wenden.
Quelle: habr.com
