Одной из важных технологий для обеспечения удобства и безопасности работы пользователей во внутренней сети предприятия является технология 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 в таком случае будет довольно прост. В рамках него мы:
Обращаем ваше внимание на то, что необходимо создавать резервные копии всех файлов при внесении в них каких-либо изменений.
В первую очередь нам потребуется создать в AD новую учетную запись zimbra и запретить ей смену пароля.
После этого на контроллере домена создадим для неё ряд SPN-записей. В нашем случае это будут принципалы для протоколов http, pop, imap и smtp. Для их добавления в учетную запись 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 принципала. Делается это при помощи следующих команд,:
В итоге файл 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 в следующий вид:
На этом настройка серверной части завершается и остается лишь внести некоторые изменения в настройки на стороне пользователя. В частности, необходимо настроить браузеры на работу с 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 перестанет появляться.
По всем вопросам, связанными c Zextras Suite Pro и Team Pro вы можете обратиться к Представителю компании «Zextras» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com
В данной статье подразумевается, что вы используете для аутентификации пользователей 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 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