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

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

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

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

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

Ще започнем със създаване на име на домейн. За пример ще вземем домейна 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 Екатерина Триандафилиди по имейл [имейл защитен]

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

Добавяне на нов коментар