ActiveDirectory/PostfixDovecot2
В этой инструкции разбираются вопросы работы Samba в режиме DC с Postfix и Dovecot.
Начальные данные:
имя домена alt.fish имя домен-контроллера d1.alt.fish имя клиентских машин u1 и u2. сеть 172.16.0.0/12 Пользователи соответствуют учетным записям в Linux Почта хранится в maildir.
Количество доменов
В текущей конфигурации не рассматриваются многодоменные конфигурации
Версии ОС
Инструкция рассчитана на использование Branch-p8.
Уровень Домена AD и леса AD должен быть не выше Windows 2008 R2.
Версии Office
В данной версии инструкции не рассматривается конфигурация для подключения Microsoft Exchange на основе MAPI или EWS.
Для подключения в данной конфигурации можно использовать Microsoft Outlook версии, начиная с 2003 в режиме подключения почты по imap.
Начальная конфигурация
Пакетная база
Будет необходимо установить следующие пакеты
- ntp
- task-samba-dc
- python-module-PasteDeploy
- postfix
- dovecot
Network configuration
Сеть состоит из двух виртуальных машин * d1, сконфигурированная как домен-контроллер samba, postfix, dovecot с адресом 172.16.2.1
- u1, сконфигурированная как рабочая станция с адресом 172.16.2.55
Они видят друг друга через внутреннюю сеть VirtualBox с именем intel.
Autoconfig
Для автоматической конфигурации ПО почтовых клиентов на рабочих
станциях используется следующая схема
- Записи SRV домена, указывающие на местоположение конфигурационной информации
- Сама конфигурационная информация в формате XML, указывающая параметры подключения к почтовым сервисам.
Client configuration
В качестве тестового клиента используется Evolution,
установленный на Branch-p8.
Samba Configuration and installation
Installation of domain
Сгенерировать и записать себе где-то пароль на домен.
Пароль должен быть не
менее 8 символов и содержать символы
как минимум трёх групп из четырёх возможных:
латинских букв в верхнем и нижнем регистрах,
чисел и других небуквенно-цифровых символов.
Далее выполнить
samba-tool domain provision --use-rfc2307 --interactive --use-xattrs=yes Realm [ALT.FISH]: Domain [ALT]: Server Role (dc, member, standalone) [dc]: DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: DNS forwarder IP address (write 'none' to disable forwarding) [8.8.8.8]: Administrator password: Retype password:
Настройка NTP
ntp должен обеспечивать синхронизацию времени на клиентах и серверах с точностью 5 минут.
настройка пользователей
В данной конфигурации рассматривается настройка при которой пользователи SAMBA входят в число пользователей
домен-контроллеров путем nsswitch и nscld. Идентификаторы пользователей SAMBA начинаются с 10000.
Необходим пользователь
cn=ldap-connect,cn=users,dn=alt,dn=fish
пароль которого надо записать и выставить ему отсутствие expiration date при помощи samba-tool.
Многодоменные конфигурации
Многодоменные и многосайтовые в смысле ActiveDirectory конфигурации не рассматриваются.
ldap secure mode
Созданный по умолчанию конфиг smb требует авторизацию клиентов LDAP через ssl.
Это требует выдачи сертификатов, что весьма сложно и препятствует подключению к ldap
клиентов. В случае размещения postfix, dovecot, sogo и openchange на одной машине с домен-контроллером
большого смысла в такой усиленной авторизации нет и можн задать
ldap server require strong auth = no
в smb.conf
что упростит настройку.
Mail subsystem configuration
Postfix
Настройка Postfix для работы с SAMBA AD.
аутентификация при отсылке внутренней почты
Отсылая внутреннюю почту внешнему абоненту, мы должны проверять авторизацию у отправляющего абонента для предотвращения отсылки спама (open relay).
доступ без аутентификации при подсоединении внешних SMTP cоединений
При получении почты при помощи протокола smtp авторизация отправителя невозможна по объективной причине - предполагается, что почту может отправлять любой клиент сети интернет, в том числе, которого мы не знаем.
Поиск информации и проверка пароля в postfix и dovecot
Поиск информации о пользователе в ldap осуществляется путем присоединения (bind) с выделенным пользователем ldap-connect. Этому пользователю необходимо присвоить пароль заранее.
Проверка
- попыткой cделать bind с указанным пользователем и по результату получить результат авторизации
- использованием bind с пользователем ldap-connect, а затем поиском по passdb
dovecot
Получение информации из LDAP
Из LDAP AD Dovecot получает следующую информацию:
- userdb - информацию о пользователе
- passdb - аутентификационную информацию.
Планирование путей прохождения почты
Достаточно важно спланировать и описать пути прохождения почты. Хотя для одного домена задача выглядит тривиальной, уже при двух доменах
правильное описание прохождения почты позволяет не запутаться
- Локальный абонент-локальный абонент
Письма посылаются через SMTP c авторизацией в Postfix с использованием SASL (RFC4954)
путем выполнения программы deliver-lda из пакета dovecot.
(файл После этого почта попадает в каталог /var/mail/)
- 2 Локальный абонент - внешний абонент
Письма посылаются через Postfix SMTP c авторизацией с использованием SASL (RFC4954)
путем выполнения программы deliver-lda из пакета dovecot.
- 3 Внешний абонент-локальный абонент
Полученные Postfix-ом через SMTP почтовые сообщения проверяются на наличие локального адресата путем cоединения с ldap
а затем передаются dovecot для отправки.
Хранение почты
В этой конфигурации почта хранится в Maildir, находящихся в /var/mail/<имя домена> и принадлежащих служебному пользователю mail, группе mail (8,12).
Планирование конфигурации LDAP
В каких полях содержится Email
При портировании настроек из существующих схем AD важно понимать, в каких конкретно полях cn= ou= находится информация о пользователе. Эта информация может находиться в совершенно разных, зависящих от выбора, сделанного администратором местах.
например cn=Users
или
ou=Organization, cn=MailUsers.
Как задается имя пользователя.
Для создания пользователя его необходимо завести в домене cоответствующем организационном подразделении ldap и задать ему пароль там же. Каталоги пользователя создадутся автоматически.
- Из командной строки при помощи samba-tool user add
- При помощи графических утилит редактирования ldap.
Как задается информация о группах
Подробнее о маршрутизации групп можно прочесть в документе LDAP_README, входящем в состав пакета postfix.