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

В Zimbra OSE предусмотрено несколько различных механизмов аутентификации. Среди них:

  1. Внутренний - аутентификация происходит с использованием внутреннего LDAP

  2. Внешний LDAP - аутентификация происходит с использованием внешнего LDAP

  3. Внешний Active Directory - аутентификация происходит с использованием AD

  4. Kerberos5 - аутентификация происходит с использованием талона Kerberos

  5. Custom - настройка собственного механизма аутентификации

Первые три вида аутентификации можно настроить как из консоли администратора, так и из командной строки. Настроить кастомную аутентификацию и аутентификацию с помощью Kerberos можно только используя командную строку Zimbra OSE. В данной инструкции мы будем настраивать тип аутентификации "Внешний Active Directory".

Требования к аутентификации с помощью внешнего сервера AD

Главным требованием при использовании такого вида аутентификации является наличие связанных с учетными записями в AD локальных учетных записей в Zimbra OSE. В том случае, если учетных записей немного, можно добавлять и удалять их вручную по мере необходимости. Однако если их достаточно много, лучше всего будет настроить автоматическое создание новых пользователей из AD в Zimbra OSE. Лучше всего для этой задачи подойдет скрипт от kiby75, который позволяет с минимальными усилиями синхронизировать список пользователей из AD с Zimbra OSE.

Отметим, что при использовании AD для аутентификации пользователей, у администратора Zimbra OSE, как и у самого пользователя отсутствует возможность сменить пароль учетной записи. Причиной этому является то, что пароли учетных записей более не хранятся в Zimbra LDAP. Сменить пароль учетной записи можно в самой Active Directory.

Настройка в консоли администратора

Для того, чтобы настроить аутентификацию при помощи внешнего сервера Active Directory, перейдите в консоль администратора Zimbra OSE, в нашем случае это https://mail.example.ru:7071. Перейдите в раздел "Настройка" и в левой части окна выберите "Домены".

В появившемся списке доменов кликните правой кнопкой мыши по тому домену, для которого настраиваете аутентификацию и в контекстном меню выберите "Настроить проверку подлинности".

В открывшемся окне выберите пункт "Внешний Active Directory" и нажмите "Далее"

Введите имя сервера AD, его IP-адрес, используемый для подключения порт и опционально настройте использование SSL-шифрования при подключении к серверу.

Протестируйте подключение к AD, осуществив поиск одного из хранящихся там пользователей. В том случае, если подключение будет успешным, появится сообщение "Тестирование проверки подлинности успешно выполнено".

На следующем экране данные во всех полях оставьте без изменений

Нажмите "Готово", чтобы завершить настройку аутентификации при помощи AD.

Настройка в командной строке

Если доступ к графическому интерфейсу консоли администратора Zimbra OSE отсутствует, есть возможность настроить аутентификацию пользователей через AD в командной строке Zimbra OSE. Для этого следует ввести команды:

sudo su - zimbra
zmprov modifyDomain mail.example.ru zimbraAuthMech ad
zmprov modifyDomain mail.example.ru zimbraAuthLdapURL ldap://10.0.1.55:3268
zmprov modifyDomain mail.example.ru zimbraAuthLdapBindDn %u@example.ru

В данном случае будет настроена аутентификация пользователей с использованием не зашифрованного канала связи по протоколу LDAP. Если вы хотите использовать шифрование при подключении к AD, используйте прокол LDAPS с соответствующим ему номером порта:

sudo su - zimbra
zmprov modifyDomain mail.example.ru zimbraAuthMech ad
zmprov modifyDomain mail.example.ru zimbraAuthLdapURL ldaps://10.0.1.55:3269
zmprov modifyDomain mail.example.ru zimbraAuthLdapBindDn %u@example.ru

Смешанный тип аутентификации

При использовании аутентификации с использованием внешнего сервера AD администратор может оставить для пользователя возможность входа по паролю учетной записи Zimbra OSE. Это, к примеру, может быть полезно в случае возникновения аварийной ситуации, из-за которой сервер AD оказался недоступным. Для того, чтобы разрешить пользователю вход с паролем учетной записи Zimbra OSE необходимо включить параметр zimbraAuthFallbackToLocal с помощью команды zmprov modifyDomain mail.example.ru zimbraAuthFallbackToLocal TRUE. По умолчанию данный параметр отключен.

После этого пользователь сможет войти как по паролю от учетной записи в AD, так и по паролю локальной учетной записи. Отметим, что в Zimbra OSE, при использовании аутентификации через сервер AD запрещено менять пароли учетных записей.

Чтобы задать локальный пароль для учетной записи, воспользуйтесь командой zmprov setPassword ivanov@mail.example.ru P@$$w0rD, где P@$$w0rD - это локальный пароль учетной записи пользователя.

Отключить данную потенциально небезопасную функцию можно с помощью команды zmprov modifyDomain mail.example.ru zimbraAuthFallbackToLocal FALSE

Протестировать корректность работы аутентификации через AD можно осуществив вход от имени тестового пользователя. 

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

Комментарии (3)


  1. werter_l
    30.10.2021 17:19

    Спасибо, конечно.
    Но разве Зимбра не позиционируется как решение корпоративного уровня и по этому должна без всяких танцев уметь работать с AD?
    А если учетку в АД отключить, зимбра узнает, что учетка отключена и не надо пользователя аутентифицировать?
    Простите, но это позор за столько лет существования проекта не научить Зимбру работать с AD без свистелок (

    Пожалуй, останусь на mailcow. Там у postfix + dovecot + sogo таких проблем нет. На крайний случай есть еще iRedmail.


  1. Pave1
    03.11.2021 21:53

    А можно у Вас спросить, почему данная статья имеет тег "сетевые технологии", при том что не имеет никакого отношения к сетям? Разве нет более подходящих тегов?

    Не могли бы Вы пожалуйста сделать так, что бы Ваши статьи не засоряли не профильные потоки?

    Я уверен, что все интересующиеся данной тематикой - обязательно прочитают статью вне зависимости от наличия данного тега. Спасибо за понимание!


    1. Zextras Автор
      03.11.2021 22:15

      Павел, здравствуйте. Технологии связаны, поэтому мы решили, что эта статья будет интересна и сетевикам. Спасибо за замечание, мы его учтем.