Как да настроите SNI правилно в Zimbra OSE?

В началото на 21-ви век ресурс, като адресите IPv4, е на ръба на изчерпване. Още през 2011 година IANA предостави на регионалните интернет регистратори последните пет оставащи блока /8 от своето адресно пространство, а вече през 2017 година адресите приключиха и при тях. Отговорът на катастрофалната липса на IPv4 адреси стана не само появата на протокола IPv6, но и технологията SNI, която позволи да се хостват огромно множество уебсайтове на един IPv4 адрес. Същността на SNI е, че това разширение позволява на клиентите по време на ръкостискането да съобщят на сървъра името на сайта, с който искат да се свържат. Това позволява на сървъра да съхранява множество сертификати, а следователно и да осигурява работа на множество домейни на един IP адрес. Особено търсена стана технологията SNI сред SaaS доставчиците за бизнес, които получиха възможност да хостват практически неограничен брой домейни без оглед на необходимото за това количество IPv4 адреси. Нека разберем как може да бъде реализирана поддръжката на SNI в Zimbra Collaboration Suite Open-Source Edition.

Как да настроите SNI правилно в Zimbra OSE?

SNI работи във всички актуални и поддържани версии на Zimbra OSE. В случай, че вашата Zimbra Open-Source работи на мултисървърна инфраструктура, трябва да извършите всички по-долу описани действия на узловата машина с инсталиран Proxy сървър на Zimbra. Освен това ще ви трябват съвпадащи двойки сертификат+ключ, както и доверени вериги от сертификати от вашия сертификационен център за всеки от домейните, които искате да хоствате на своя IPv4 адрес. Обърнете внимание, че причината заголямата част от грешките при конфигурирането на SNI в Zimbra OSE е именно в некоректните файлове със сертификати. Затова съветваме да проверите всичко внимателно преди действителната им инсталация.

На първо място, за да заработи SNI нормално, трябва да въведете командата zmprov mcf zimbraReverseProxySNIEnabled TRUE на узловата машина с Proxy сървър на Zimbra и след това да рестартирате услугата Proxy с командата zmproxyctl restart.

Нека започнем с създаването на доменно име. За пример ще вземем домейна company.ru и, след като доменът вече е създаден, да определим името на виртуалния хост Zimbra и виртуалния IP адрес. Обърнете внимание, че името на виртуалния хост Zimbra трябва да съответства на името, което потребителят трябва да въведе в адресната лента на браузъра, за да получи достъп до домена, както и да съвпада с името, посочено в сертификата. За пример ще вземем името на виртуалния хост Zimbra mail.company.ru, а за виртуален IPv4 адрес използваме адрес 1.2.3.4.

След това е достатъчно да въведете командата zmprov md company.ru zimbraVirtualHostName mail.company.ru zimbraVirtualIPAddress 1.2.3.4, за да свържете виртуалния хост Zimbra с виртуалния IP адрес. Обърнете внимание, че ако сървърът е зад NAT или защитна стена, е необходимо да се уверите, че всички заявки към домена отиват именно на свързания с него външен IP адрес, а не на адреса в локалната мрежа.

След като всичко бъде направено, остава само да проверите и подготвите сертификатите на домена за инсталиране, а след това да ги инсталирате.

Ако издаването на сертификата за домена е преминало успешно, трябва да имате три файла със сертификати: два от тях представляват вериги от сертификати от вашия център за сертификация, а един е непосредственият сертификат за домена. Освен това, трябва да имате файл с ключа, който сте използвали за получаване на сертификата. Създайте отделна папка /tmp/company.ru и поставете там всички налични файлове с ключове и сертификати. В крайна сметка трябва да изглежда нещо такова:

ls /tmp/company.ru
company.ru.key
 company.ru.crt
 company.ru.root.crt
 company.ru.intermediate.crt

След това ще обединим веригите от сертификати в един файл, използвайки командата cat company.ru.root.crt company.ru.intermediate.crt >> company.ru_ca.crt и ще се уверим, че всичко е наред със сертификатите, използвайки командата /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. След като проверката на сертификатите и ключа бъде успешна, можем да пристъпим към инсталирането им.

За да започнем инсталацията, първо ще обединим сертификата за домена и доверените вериги от сертификати в един файл. Това също става с една команда, която изглежда така cat company.ru.crt company.ru_ca.crt >> company.ru.bundle. След това е необходимо да изпълните командата, за да запишете всички сертификати и ключ в LDAP: /opt/zimbra/libexec/zmdomaincertmgr savecrt company.ru company.ru.bundle company.ru.key, а след това да инсталирате сертификатите с помощта на командата /opt/zimbra/libexec/zmdomaincertmgr deploycrts. След инсталирането сертификатите и ключът за домейна company.ru ще се съхраняват в папката /opt/zimbra/conf/domaincerts/company.ru. 

Чрез повторение на тези действия с различни домейн имена, но с един и същ IP адрес, може да се постигне хостване на стотици домейни на един IPv4 адрес. В този случай може безпроблемно да се използват сертификати от най-различни центрове за издаване. Коректността на всички извършени действия може да бъде проверена в всеки браузър, където за всяко виртуално име на хоста трябва да се показва свой SSL сертификат. 

За всички въпроси, свързани с Zextras Suite, можете да се свържете с представителя на компанията „Zextras“ Екатерина Триандафилиди на имейл katerina@zextras.com

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster