[Системное администрирование, Сетевые технологии] Настройка Single Sign-On в Zimbra Collaboration Suite 9 Open-Source Edition

Автор Сообщение
news_bot ®

Стаж: 6 лет 3 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
16-Дек-2020 14:35

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

В данной статье подразумевается, что вы используете для аутентификации пользователей Active Directory, Single Sign-On осуществляется при помощи Kerberos, а пользователи в Zimbra OSE соответствуют тем, что заведены в AD. Напомним, что ранее мы уже писали о том, как настроить автоматическое создание пользователей в Zimbra OSE из AD.
Исходные данные: Сервер с Zimbra 9 расположен на домене madegirah.ru, на нем используется тип аутентификации AD. Сервер с AD находится по адресу MADEGIRAH.LOCAL.
Принцип настройки SSO в таком случае будет довольно прост. В рамках него мы:
  • Создадим специального пользователя, так называемого «билетера», который будет выдавать пользователям билеты для аутентификации
  • Создадим Keytab-файл в Kerberos
  • Настроим утилиту SPNEGO и сам сервер Zimbra OSE на работу с Kerberos
  • Настроим браузеры и почтовые клиенты на работу с 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 принципала. Делается это при помощи следующих команд,:
  • 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
  • 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
  • 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 zimbra SpnegoAuthTargetName 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, либо .

В случае с 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 перестанет появляться.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_sistemnoe_administrirovanie (Системное администрирование), #_setevye_tehnologii (Сетевые технологии), #_single_signon, #_kerberos, #_zimbra, #_microsoft_acrive_directory, #_zextras, #_blog_kompanii_zextras (
Блог компании Zextras
)
, #_sistemnoe_administrirovanie (
Системное администрирование
)
, #_setevye_tehnologii (
Сетевые технологии
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 15-Май 23:12
Часовой пояс: UTC + 5