Pull to refresh
66.47
Zextras
Цифровое рабочее место Zextras

Настройка Single Sign-On в Zimbra Collaboration Suite 9 Open-Source Edition

Reading time 5 min
Views 3.2K
Одной из важных технологий для обеспечения удобства и безопасности работы пользователей во внутренней сети предприятия является технология Single Sign-On. Данная технология позволяет сотрудникам проходить процедуру аутентификации всего один раз и после успешного ее завершения, получать доступ ко всем корпоративным ресурсам автоматически. В том случае, если вы используете Zimbra Collaboration Suite, то можете настроить SSO в ней. В данной статье мы расскажем о том, как это сделать.

image

В данной статье подразумевается, что вы используете для аутентификации пользователей Active Directory, Single Sign-On осуществляется при помощи Kerberos, а пользователи в Zimbra OSE соответствуют тем, что заведены в AD. Напомним, что ранее мы уже писали о том, как настроить автоматическое создание пользователей в Zimbra OSE из AD.

Исходные данные: Сервер с Zimbra 9 расположен на домене madegirah.ru, на нем используется тип аутентификации AD. Сервер с AD находится по адресу MADEGIRAH.LOCAL.

Принцип настройки SSO в таком случае будет довольно прост. В рамках него мы:

  1. Создадим специального пользователя, так называемого «билетера», который будет выдавать пользователям билеты для аутентификации
  2. Создадим Keytab-файл в Kerberos
  3. Настроим утилиту SPNEGO и сам сервер Zimbra OSE на работу с Kerberos
  4. Настроим браузеры и почтовые клиенты на работу с SSO.

Обращаем ваше внимание на то, что необходимо создавать резервные копии всех файлов при внесении в них каких-либо изменений.

В первую очередь нам потребуется создать в AD новую учетную запись zimbra и запретить ей смену пароля.







После этого на контроллере домена создадим для неё ряд SPN-записей. В нашем случае это будут принципалы для протоколов http, pop, imap и smtp. Для их добавления в учетную запись zimbra нужно поочередно выполнить команды

  • setspn -S HTTP/madegirah.ru zimbra
  • setspn -S POP/madegirah.ru zimbra
  • setspn -S IMAP/madegirah.ru zimbra
  • setspn -S SMTP/madegirah.ru zimbra

После этого проверим, что пользователю были добавлены все необходимые принципалы при помощи команды setspn –L zimbra.



После этого создаем на контроллере домена папку C:\keys, в которую будем складывать сгенерированные с помощью Kerberos keytab-файлы. Сгенерируем наш первый keytab при помощт данной команды:

ktpass -out c:\keys\jetty.keytab -princ HTTP/madegirah.ru@MADEGIRAH.LOCAL -mapUser zimbra -mapOp set -pass ******** -crypto RC4-HMAC-NT -pType KRB5_NT_PRINCIPAL

Создастся keytab с одним принципалом. Теперь нам необходимо добавить в него еще 3 принципала. Делается это при помощи следующих команд,:

  1. ktpass -princ IMAP/madegirah.ru@MADEGIRAH.LOCAL -mapuser zimbra -pass ******** -crypto All -ptype KRB5_NT_PRINCIPAL -in c:\keys\jetty.keytab -out c:\keys\jetty.new.keytab
  2. ktpass -princ POP/madegirah.ru@MADEGIRAH.LOCAL -mapuser zimbra -pass ******** -crypto All -ptype KRB5_NT_PRINCIPAL -in c:\keys\jetty.new.keytab -out c:\keys\jetty.new1.keytab
  3. ktpass -princ SMTP/madegirah.ru@MADEGIRAH.LOCAL -mapuser zimbra -pass ******** -crypto All -ptype KRB5_NT_PRINCIPAL -in c:\keys\jetty.new1.keytab -out c:\keys\jetty.new2.keytab



В итоге файл c:\keys\jetty.new2.keytab будет содержать все необходимые принципалы. Удалим все полученные в ходе выполнения инструкции keytab-файлы, кроме jetty.new2.keytab. Его мы переименуем в jetty.keytab и скопируем на сервер с Zimbra OSE 9 в папки /opt/zimbra/data/mailboxd/spnego/ и /opt/zimbra/jetty/. Сменим права доступа к keytab-файлу с помощью команд

chown zimbra:zimbra /opt/zimbra/data/mailboxd/spnego/jetty.keytab
chown zimbra:zimbra /opt/zimbra/jetty/jetty.keytab


Теперь приступим к настройке встроенной в Zimbra Collaboration Suite утилиты SPNEGO, которая и будет работать с созданным ранее .keytab-файлом. Настроить SPNEGO можно при помощи следующих команд:

sudo su — zimbra
zmprov mcf zimbraSpnegoAuthEnabled TRUE
zmprov mcf zimbraSpnegoAuthRealm MADEGIRAH.LOCAL
zmprov ms madegirah.ru zimbraSpnegoAuthTargetName HTTP/madegirah.ru
zmprov ms madegirah.ru zimbraSpnegoAuthPrincipal HTTP/madegirah.ru
zmprov ms madegirah.ru zimbraImapSaslGssapiEnabled TRUE
zmprov ms madegirah.ru zimbraPop3SaslGssapiEnabled TRUE
zmprov md madegirah.ru zimbraAuthKerberos5Realm MADEGIRAH.LOCAL
zmprov md madegirah.ru zimbraWebClientLoginURL '/service/spnego'
zmprov md madegirah.ru zimbraWebClientLogoutURL '../?sso=1'


Обращаем ваше внимание на то, что настойка SPNEGO является глобальной, а это значит, что все домены на вашем сервере Zimbra должны использовать для аутентификации одну и ту же Active Directory.

Следующим шагом станет приведение файла настроек /opt/zimbra/jetty/etc/krb5.ini в следующий вид:

[libdefaults]
default_realm = MADEGIRAH.local
dns_lookup_realm = no
dns_lookup_kdc = no
kdc_timesync = 1
ticket_lifetime = 24h

default_keytab_name = FILE:/opt/zimbra/data/mailboxd/spnego/jetty.keytab
default_tgs_enctypes = arcfour-rc4-md5 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = arcfour-rc4-md5 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = arcfour-rc4-md5 rc4-hmac des-cbc-crc des-cbc-md5

[realms]
MADEGIRAH.local = {
kdc = DC.MADEGIRAH.LOCAL
admin_server = DC.MADEGIRAH.LOCAL
default_domain = MADEGIRAH.LOCAL
}

[domain_realm]
madegirah.local = MADEGIRAH.LOCAL
.madegirah.local = MADEGIRAH.LOCAL
.local = MADEGIRAH.LOCAL

[appdefaults]
autologin = true
forwardable=true

На этом настройка серверной части завершается и остается лишь внести некоторые изменения в настройки на стороне пользователя. В частности, необходимо настроить браузеры на работу с SPNEGO. В случае с Firefox нужно ввести в адресную строку about:config и в поле поиска ввести network.neg. В отобразившихся полях, содержащих слово uris в названии указать значение madegirah.ru, либо https://.



В случае с Internet Explorer нужно добавить в местную интрасеть madegirah.ru. Также это можно сделать через групповые политики. Google Chrome же подхватывает настройки Internet Explorer.



Для SSO-аутентификации в почтовом клиенте Thunderbird необходимо при настройке учетной записи указать тип аутентификации GSSAPI. Именно для того, чтобы это работало, мы ранее добавляли принципалы для IMAP, POP и SMTP. Обращаем ваше внимание, что Outlook подобного вида аутентификации при использовании POP/IMAP и SMTP не поддерживает ввиду ограничений клиента.



Еще одним неприятным нюансом может стать предупреждение о небезопасной странице при использовании в Zimbra OSE самоподписанного сертификата. Этот нюанс не является критичным, однако регулярно появляющееся предупреждение противоречит самому принципу удобства технологии Single Sign-On. Для того, чтобы его убрать, необходимо установить сертификат Zimbra OSE на целевой машине.

Для того, чтобы это сделать, необходимо на сервере Zimbra следующие команды:

sudo su
cd /opt/zimbra/ssl/zimbra/ca
openssl x509 -in ca.pem -outform DER -out ~/zimbra.cer


После этого полученный сертификат необходимо перенести на целевую машину и дважды кликнуть по нему мышкой. В открывшемся окне нужно выбрать «Установить сертификат» и импортировать его в Мастере импорта сертификатов. Единственный нюанс при его установке, что при выборе хранилища для сертификата необходимо поместить его в хранилище «Доверенные корневые центры сертификации». Кроме того, можно установить данный сертификат через групповые политики.

После того, как данный сертификат будет указан в качестве доверенного, предупреждение при входе в веб-клиент Zimbra OSE и при использовании Thunderbird перестанет появляться.

По всем вопросам, связанными c Zextras Suite Pro и Team Pro вы можете обратиться к Представителю компании «Zextras» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com
Tags:
Hubs:
+7
Comments 4
Comments Comments 4

Articles

Information

Website
zextras.com
Registered
Founded
Employees
201–500 employees
Location
Италия
Representative
Триандафилиди Екатерина