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

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

    image

    Если вы настроили авторизацию в 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:\keys\jetty.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

    image

    Теперь же приступим к настройке встроенной в 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.
    Zimbra
    97,00
    Zimbra и модульное расширение Zextras Suite
    Поделиться публикацией

    Комментарии 2

      0
      C какого резлиза Зимбры это работает?
        0
        Добрый вечер, данная функция работает с версии Zimbra 8.0

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое