Як правільна наладзіць 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 на вузле з проксі-серверам Zimbra, а затым перазапусціць службу Proxy пры дапамозе каманды zmproxyctl restart.

Пачнём мы са стварэння даменнага імя. Для прыкладу мы возьмем дамен company.ru і, пасля таго як дамен ужо створаны, вызначымся з імем віртуальнага хаста Zimbra і з віртуальным IP-адрасам. Звяртаем увагу на тое, што імя віртуальнага хаста Zimbra павінна адпавядаць імю, якое карыстач павінен увесці ў радку браўзэра, каб атрымаць доступ да дамена, а таксама супадаць з паказанай у сертыфікаце назовам. Для прыкладу возьмем у якасці імя віртуальнага хаста Zimbra mail.company.ru, а ў якасці віртуальнага IPv4-адрасу выкарыстоўваем адрас 1.2.3.4.

Пасля гэтага дастаткова ўвесці каманду zmprov md 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» Кацярыны Трыяндафілідзі па электроннай пошце. [электронная пошта абаронена]

Крыніца: habr.com

Дадаць каментар