15 ИЮНЯ 2022
------------------------------------------------------------------------
Наш телеграм-канал: t.me/@mailsgun_online
Youtube: youtube.com/@mailsgun_online
------------------------------------------------------------------------
Наряду с Active Directory, одной из важных технологий для обеспечения удобства работы пользователей даже при самой строгой парольной политике безопасности, является технология Single Sign-On. Данная технология позволяет сотрудникам после очередной смены пароля проходить процедуру аутентификации один раз и после успешного ее завершения, получать доступ ко всем корпоративным ресурсам автоматически. В том случае, если вы используете Zimbra Collaboration Suite, то можете захотеть настроить SSO и на ней. Ниже мы расскажем о том, как это сделать.
Если вы настроили авторизацию в Zimbra через AD по инструкции из предыдущей статьи, то принцип настройки SSO будет сводиться к созданию keytab-файла в Kerberos, а также специального аккаунта-билетера в AD, настройке SPNEGO на сервере Zimbra и выдаче сертификатов для использования SSO всем пользователям. Особо отметим, что крайне важно создавать резервные копии файлов, в которые будут вноситься те или иные изменения, и хранить их в отдельных папках, чтобы непредвиденные проблемы не обернулись для вас крупными неприятностями.
В первую очередь нам потребуется создать в Zimbra аккаунт ticketer и запретить ему смену пароля, а также создать Service Principal Name (SPN) в Kerberos для аккаунта-билетера на контроллере домена. Сделать это можно при помощи команды setspn –A mail.domain.com ticketer, после чего необходимо проверить результат при помощи команды setspn –L ticketer. После этого создаем на контроллере домена keytab-файл при помощи команды примерно вот такого вида:
ktpass -out c:keysjetty.keytab -princ HTTP/mail.domain.com@domain.local -mapUser ticketer -mapOp set -pass !@#$%& -crypto RC4-HMAC-NT -pType KRB5_NT_PRINCIPAL
После того как keytab-файл будет успешно создан, необходимо будет переместить его на сервер Zimbra Collaboration Suite в папки /opt/zimbra/data/mailboxd/spnego/ и /opt/zimbra/jetty/, после чего необходимо изменить права доступа к ним:
chown ticketer:zimbra /opt/zimbra/data/mailboxd/spnego/jetty.keytab
chown ticketer:zimbra /opt/zimbra/jetty/jetty.keytab

Теперь же приступим к настройке встроенной в Zimbra Collaboration Suite утилиты SPNEGO, которая и будет работать с созданным ранее .keytab-файлом. Настроить SPNEGO можно при помощи следующих команд:
su zimbrazmprov mcf zimbraSpnegoAuthEnabled TRUE
zmprov mcf zimbraSpnegoAuthRealm domain.local
zmprov ms mail.domain.com zimbraSpnegoAuthTargetName HTTP/mail.domain.com
zmprov ms mail.domain.com zimbraSpnegoAuthPrincipal HTTP/mail.domain.com
zmprov md domain.com zimbraAuthKerberos5Realm domain.local
zmprov md domain.com zimbraWebClientLoginURL '/service/spnego'
zmprov md domain.com zimbraWebClientLogoutURL '../?sso=1'
Следующим шагом станет приведение файла настроек /opt/zimbra/jetty/etc/krb5.ini в примерно следующий вид:
[libdefaults]
default_realm = domain.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]
domain.local = {
kdc = dc.domain.local
admin_server = dc.domain.local
default_domain = domain.local
}
[appdefaults]
autologin = true
forwardable=true
После этого необходимо настроить браузеры пользователей, добавив в network.neg значения mail.domain.com во все поля со словом uris в названии. Ускорить этот процесс можно за счет использования групповых политик.
Последним штрихом станет обновление настроек авторизации через AD в Zimbra Collaboration Suite:
su zimbra
zmprov md domain.ru +zimbraAutoProvAuthMech SPNEGO +zimbraAutoProvAuthMech KRB5 +zimbraAutoProvAuthMech PREAUTH +zimbraAutoProvAuthMech LDAP
zmcontrol restart
Готово! Теперь у вас в Zimbra настроен не только корректно работающий Single Sign-On, но и автоматическое создание почтовых ящиков при первом заходе пользователя на сервер, авторизовавшегося через SSO.
Source: habr1
Ну и напоследок напоминаю вам о нашем новом проекте vkserfing bot.