A 21. század elején a IPv4-címek, mint erőforrás, a kimerülés határán álltak. Már 2011-ben az IANA kiosztotta az utolsó öt, /8-as blokkot regionális internetregisztrátoroknak, 2017-re pedig ezek is elfogytak. Az IPv4-címek katasztrofális hiányára nemcsak az IPv6 protokoll megjelenése volt a válasz, hanem a SNI technológia is, amely lehetővé tette, hogy egyetlen IPv4-címen rengeteg weboldalt helyezzenek el. A SNI lényege, hogy ez a kiterjesztés lehetővé teszi az ügyfelek számára, hogy a kézfogás során közöljék a szerverrel a webhely nevét, amelyhez csatlakozni kívánnak. Ez lehetővé teszi a szerver számára, hogy számos tanúsítványt tároljon, ezzel biztosítva a sok domain működését egy IP-címen. A SNI technológia különösen népszerűvé vált a SaaS szolgáltatók körében, akik lehetőséget kaptak arra, hogy gyakorlatilag korlátlan számú domaint helyezzenek el anélkül, hogy figyelembe kellene venniük a szükséges IPv4-címek számát. Nézzük meg, hogyan valósítható meg a SNI támogatása a Zimbra Collaboration Suite Open-Source Edition-ben.

A SNI minden jelenlegi és támogatott Zimbra OSE verzióban működik. Ha a Zimbra Open-Source több szerveres infrastruktúrán fut, az alábbi lépéseket a Zimbra proxy szerverrel rendelkező csomóponton kell elvégezni. Emellett szüksége lesz a megfelelő párokra: tanúsítvány+kulcs, valamint a hitelesítésszolgáltatójától származó megbízható tanúsítványláncokra minden olyan domainhez, amelyet az IPv4-címén szeretne elhelyezni. Felhívjuk figyelmét, hogy a Zimbra OSE SNI beállításakor fellépő hibák túlnyomó többsége a tanúsítványfájlok helytelen volta miatt következik be. Ezért javasoljuk, hogy alaposan ellenőrizze azokat a tényleges telepítés előtt.
Először is, ahhoz, hogy a SNI megfelelően működjön, be kell írni a parancsot zmprov mcf zimbraReverseProxySNIEnabled TRUE a Zimbra proxy szerverrel rendelkező csomóponton, majd indítsa újra a Proxy szolgáltatást a következő paranccsal zmproxyctl restart.
Kezdjük egy domén név létrehozásával. Például vegyünk egy domént company.ru Miután a domain már létrejött, határozzuk meg a Zimbra virtuális hoszt nevét és a virtuális IP-címet. Fontos, hogy a Zimbra virtuális hoszt neve megegyezzen azzal a névvel, amelyet a felhasználónak be kell írnia a böngésző címsorába a domain eléréséhez, és egybe kell esnie a tanúsítványban megadott névvel. Például vegyük Zimbra virtuális hoszt nevének a mail.company.ru, a virtuális IPv4-címként használt cím pedig 1.2.3.4.
Ezt követően elegendő beírni a parancsot zmprov md company.ru zimbraVirtualHostName mail.company.ru zimbraVirtualIPAddress 1.2.3.4, hogy összekapcsoljuk a Zimbra virtuális hosztot a virtuális IP-cím alapján határozza meg a helyet. Felhívjuk figyelmét, hogy ha a szerver NAT mögött vagy tűzfal mögött található, gondoskodni kell arról, hogy a domainre irányuló összes kérés a hozzá rendelt külső IP-címre menjen, ne pedig a helyi hálózaton lévő címére.
Miután mindent elvégeztünk, csak annyit kell tennünk, hogy ellenőrizzük és előkészítsük a domain tanúsítványait az telepítéshez, majd telepítsük őket.
Ha a domainhez tartozó tanúsítvány kiadása sikeresen lezajlott, három fájlt kell hogy kézhez kapjunk tanúsítványokkal: kettő a hitelesítésszolgáltatótól származó tanúsítványsorozat, az egyik pedig közvetlenül a domain tanúsítvány. Ezen kívül egy fájl is a birtokában kell legyen a kulccsal, amelyet a tanúsítvány megszerzéséhez használt. Hozzon létre egy külön mappát /tmp/company.ru , és helyezze el benne az összes meglévő fájlt a kulcsokkal és tanúsítványokkal. Az eredménynek valami ilyesminek kell lennie:
ls /tmp/company.ru
company.ru.key
company.ru.crt
company.ru.root.crt
company.ru.intermediate.crtEzt követően egyesíteni fogjuk a tanúsítványsorozatokat egy fájlba a következő parancs segítségével cat company.ru.root.crt company.ru.intermediate.crt >> company.ru_ca.crt , és ellenőrizzük, hogy a tanúsítványok rendben vannak-e a következő parancs segítségével /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. Miután a tanúsítványok és a kulcs ellenőrzése sikeres volt, el lehet kezdeni a telepításukat.
A telepítés megkezdéséhez először összekapcsoljuk a domain tanúsítványt és a hitelesítésszolgáltatók megbízható láncait egy fájlba. Ez egy olyan parancs segítségével történik, mint például cat company.ru.crt company.ru_ca.crt >> company.ru.bundle. Ezt követően végre kell hajtani a parancsot, hogy a tanúsítványokat és a kulcsokat rögzítsük az LDAP-ban: /opt/zimbra/libexec/zmdomaincertmgr savecrt company.ru company.ru.bundle company.ru.key, majd telepítjük a tanúsítványokat a parancs segítségével /opt/zimbra/libexec/zmdomaincertmgr deploycrts. A tanúsítványok és a domain kulcs a company.ru domainhez a mappában fognak tárolódni /opt/zimbra/conf/domaincerts/company.ru.
Ezeknek a lépéseknek a megismétlésével különböző domain nevekkel, de azonos IP-címmel, több száz domaint helyezhetünk el egy IPv4-címen. Ennek során probléma nélkül használhatók a különböző kiadó központok által kibocsátott tanúsítványok. Minden végrehajtott lépést bármely böngészőben ellenőrizhet, ahol minden virtuális hosztnevéhez saját SSL-tanúsítványt.
Bármilyen kérdése van a Zextras Suitere vonatkozóan, a Zextras cég képviselőjéhez, Trianda Katerinához fordulhat a katerina@zextras.com e-mail címen.
Forrás: habr.com
