Когда для управления пользователями во внутренней сети используется Active Directory, перед системным администратором встает задача настроить в используемых решениях вход пользователей с использованием паролей, хранящихся в AD. Осуществить это в Zimbra OSE можно включив и настроив соответствующий режим аутентификации. Принцип работы такого режима аутентификации заключается в том, что Zimbra OSE передает введенный пользователем пароль в Active Directory и получает от нее ответ, верен этот пароль или нет. В случае положительного ответа, пользователь успешно входит в свою учетную запись, в ином случае попытка входа признается неудачной и пользователю предлагается вновь ввести пароль. В данной статье мы расскажем о том, как правильно сконфигурировать Zimbra OSE для аутентификации при помощи Active Directory.
![](https://habrastorage.org/getpro/habr/upload_files/679/f08/880/679f08880aa3959ed70f8584b657d8dc.png)
В Zimbra OSE предусмотрено несколько различных механизмов аутентификации. Среди них:
Внутренний - аутентификация происходит с использованием внутреннего LDAP
Внешний LDAP - аутентификация происходит с использованием внешнего LDAP
Внешний Active Directory - аутентификация происходит с использованием AD
Kerberos5 - аутентификация происходит с использованием талона Kerberos
Custom - настройка собственного механизма аутентификации
Первые три вида аутентификации можно настроить как из консоли администратора, так и из командной строки. Настроить кастомную аутентификацию и аутентификацию с помощью Kerberos можно только используя командную строку Zimbra OSE. В данной инструкции мы будем настраивать тип аутентификации "Внешний Active Directory".
Требования к аутентификации с помощью внешнего сервера AD
Главным требованием при использовании такого вида аутентификации является наличие связанных с учетными записями в AD локальных учетных записей в Zimbra OSE. В том случае, если учетных записей немного, можно добавлять и удалять их вручную по мере необходимости. Однако если их достаточно много, лучше всего будет настроить автоматическое создание новых пользователей из AD в Zimbra OSE. Лучше всего для этой задачи подойдет скрипт от kiby75, который позволяет с минимальными усилиями синхронизировать список пользователей из AD с Zimbra OSE.
![](https://habrastorage.org/getpro/habr/upload_files/059/cc9/7ef/059cc97ef17a0d58fed8133fa94c6fb0.png)
![](https://habrastorage.org/getpro/habr/upload_files/a25/589/1a6/a255891a630057d69ab32df09a3f4ee6.png)
Отметим, что при использовании AD для аутентификации пользователей, у администратора Zimbra OSE, как и у самого пользователя отсутствует возможность сменить пароль учетной записи. Причиной этому является то, что пароли учетных записей более не хранятся в Zimbra LDAP. Сменить пароль учетной записи можно в самой Active Directory.
Настройка в консоли администратора
Для того, чтобы настроить аутентификацию при помощи внешнего сервера Active Directory, перейдите в консоль администратора Zimbra OSE, в нашем случае это https://mail.example.ru:7071. Перейдите в раздел "Настройка" и в левой части окна выберите "Домены".
![](https://habrastorage.org/getpro/habr/upload_files/294/66b/371/29466b371126929c49b6110877f572a0.png)
В появившемся списке доменов кликните правой кнопкой мыши по тому домену, для которого настраиваете аутентификацию и в контекстном меню выберите "Настроить проверку подлинности".
![](https://habrastorage.org/getpro/habr/upload_files/37a/78c/aa1/37a78caa14b2ad7d9f953203cf6a770f.png)
В открывшемся окне выберите пункт "Внешний Active Directory" и нажмите "Далее"
![](https://habrastorage.org/getpro/habr/upload_files/077/b66/87b/077b6687be9e9392505b51b35e58a522.png)
Введите имя сервера AD, его IP-адрес, используемый для подключения порт и опционально настройте использование SSL-шифрования при подключении к серверу.
![](https://habrastorage.org/getpro/habr/upload_files/292/0e2/13d/2920e213df793a01c98ff8b4347b3cf7.png)
Протестируйте подключение к AD, осуществив поиск одного из хранящихся там пользователей. В том случае, если подключение будет успешным, появится сообщение "Тестирование проверки подлинности успешно выполнено".
![](https://habrastorage.org/getpro/habr/upload_files/6bc/b64/8bc/6bcb648bc81767675d4f1a7630c5e790.png)
На следующем экране данные во всех полях оставьте без изменений
![](https://habrastorage.org/getpro/habr/upload_files/aee/fe6/f49/aeefe6f498ae85051de18b1c93b7d735.png)
Нажмите "Готово", чтобы завершить настройку аутентификации при помощи AD.
![](https://habrastorage.org/getpro/habr/upload_files/b88/495/a8d/b88495a8d9f29b30468ad010befa6fe3.png)
Настройка в командной строке
Если доступ к графическому интерфейсу консоли администратора 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 запрещено менять пароли учетных записей.
![](https://habrastorage.org/getpro/habr/upload_files/1f3/685/cd8/1f3685cd8c77b824bb85648f2b8f3f02.png)
Чтобы задать локальный пароль для учетной записи, воспользуйтесь командой 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)
Pave1
03.11.2021 21:53А можно у Вас спросить, почему данная статья имеет тег "сетевые технологии", при том что не имеет никакого отношения к сетям? Разве нет более подходящих тегов?
Не могли бы Вы пожалуйста сделать так, что бы Ваши статьи не засоряли не профильные потоки?
Я уверен, что все интересующиеся данной тематикой - обязательно прочитают статью вне зависимости от наличия данного тега. Спасибо за понимание!
Zextras Автор
03.11.2021 22:15Павел, здравствуйте. Технологии связаны, поэтому мы решили, что эта статья будет интересна и сетевикам. Спасибо за замечание, мы его учтем.
werter_l
Спасибо, конечно.
Но разве Зимбра не позиционируется как решение корпоративного уровня и по этому должна без всяких танцев уметь работать с AD?
А если учетку в АД отключить, зимбра узнает, что учетка отключена и не надо пользователя аутентифицировать?
Простите, но это позор за столько лет существования проекта не научить Зимбру работать с AD без свистелок (
Пожалуй, останусь на mailcow. Там у postfix + dovecot + sogo таких проблем нет. На крайний случай есть еще iRedmail.