ActiveDirectory/PostfixDovecot2: различия между версиями
Nbr (обсуждение | вклад) (2) |
Klark (обсуждение | вклад) |
||
(не показаны 32 промежуточные версии 1 участника) | |||
Строка 1: | Строка 1: | ||
{{stub}} | |||
<div style="text-align:center;">'''Почтовая система для работы с Samba AD'''</div> | |||
В этой инструкции разбираются вопросы работы Samba в режиме DC с Postfix и Dovecot. | |||
= Начальные данные: = | |||
<pre> | |||
имя домена alt.fish | |||
имя домен-контроллера d1.alt.fish | |||
имя клиентских машин u1 и u2. | |||
сеть 172.16.0.0/12 | |||
Пользователи соответствуют учетным записям в Linux | |||
Почта хранится в maildir. | |||
</pre> | |||
== Количество доменов == | |||
В текущей конфигурации не рассматриваются многодоменные конфигурации | |||
== Версии ОС == | |||
Инструкция рассчитана на использование Branch-p8. | |||
Уровень ''Домена AD и леса AD'' должен быть не выше Windows 2008 R2. | |||
== Версии Office == | |||
В данной версии инструкции не рассматривается конфигурация для подключения Microsoft Exchange на основе MAPI или EWS. | |||
Для подключения в данной конфигурации можно использовать Microsoft Outlook версии, начиная с 2003 в режиме подключения почты по imap. | |||
= Начальная конфигурация = | = Начальная конфигурация = | ||
== Пакетная база == | == Пакетная база== | ||
Будет необходимо установить следующие пакеты * ntp | Будет необходимо установить следующие пакеты | ||
* samba- | * ntp | ||
* task-samba-dc | |||
* python-module-PasteDeploy | * python-module-PasteDeploy | ||
* postfix | * postfix | ||
Строка 22: | Строка 49: | ||
Они видят друг друга через внутреннюю сеть VirtualBox с именем intel. | Они видят друг друга через внутреннюю сеть VirtualBox с именем intel. | ||
=== Autoconfig === | === Autoconfig === | ||
Для автоматической конфигурации ПО почтовых клиентов на рабочих | |||
станциях используется следующая схема | |||
* Записи SRV домена, указывающие на местоположение конфигурационной информации | |||
* Сама конфигурационная информация в формате XML, указывающая параметры подключения к почтовым сервисам. | |||
<div style="text-align:center;"></div> | |||
== Client configuration == | == Client configuration == | ||
Строка 37: | Строка 72: | ||
| | ||
= | = Samba Configuration and installation = | ||
== Installation of domain == | |||
Сгенерировать и записать себе где-то пароль на домен. | |||
Пароль должен быть не | |||
менее 8 символов и содержать символы | |||
как минимум трёх групп из четырёх возможных: | |||
латинских букв в верхнем и нижнем регистрах, | |||
чисел и других небуквенно-цифровых символов. | |||
Далее выполнить | |||
<pre> | |||
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: | |||
</pre> | |||
=== Настройка 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 = | = Mail subsystem configuration = | ||
== Postfix == | == Postfix == | ||
Настройка Postfix для работы с SAMBA AD. | |||
=== аутентификация при отсылке внутренней почты === | |||
Отсылая внутреннюю почту внешнему абоненту, мы должны проверять авторизацию у отправляющего абонента для предотвращения отсылки спама (open relay). | |||
=== доступ без аутентификации при подсоединении внешних SMTP cоединений === | |||
При получении почты при помощи протокола smtp авторизация отправителя | |||
невозможна по объективной причине - предполагается, что почту может отправлять любой клиент сети интернет, в том числе, которого мы не знаем. | |||
<div style="text-align:center;"></div> | |||
== Поиск информации и проверка пароля в postfix и dovecot == | |||
Поиск информации о пользователе в ldap осуществляется путем присоединения (bind) | |||
с выделенным пользователем ldap-connect. | |||
Этому пользователю необходимо присвоить пароль заранее. | |||
Проверка | |||
* попыткой cделать bind с указанным пользователем и по результату получить результат авторизации | |||
* использованием bind с пользователем ldap-connect, а затем поиском по passdb | |||
== dovecot == | == dovecot == | ||
== Планирование путей почты == | === Получение информации из LDAP === | ||
Из LDAP AD Dovecot получает следующую информацию: | |||
* userdb - информацию о пользователе | |||
* passdb - аутентификационную информацию. | |||
<div style="text-align:center;"></div> | |||
== Планирование путей прохождения почты == | |||
Достаточно важно спланировать и описать пути прохождения почты. Хотя для одного домена задача выглядит тривиальной, уже при двух доменах | |||
правильное описание прохождения почты позволяет не запутаться | |||
# Локальный абонент-локальный абонент<br/>Письма посылаются через SMTP c авторизацией в Postfix с использованием SASL (RFC4954) <br/>путем выполнения программы deliver-lda из пакета dovecot. <br/> | |||
(файл После этого почта попадает в каталог /var/mail/) | |||
#2 Локальный абонент - внешний абонент<br/>Письма посылаются через Postfix SMTP c авторизацией с использованием SASL (RFC4954) <br/>путем выполнения программы deliver-lda из пакета dovecot. | |||
#3 Внешний абонент-локальный абонент<br/>Полученные Postfix-ом через SMTP почтовые сообщения проверяются на наличие локального адресата путем cоединения с ldap <br/>а затем передаются dovecot для отправки. | |||
== Хранение почты == | |||
В этой конфигурации почта хранится в Maildir, находящихся в /var/mail/<имя домена> | |||
и принадлежащих служебному пользователю mail, группе mail (8,12). | |||
== Планирование конфигурации LDAP == | == Планирование конфигурации LDAP == | ||
Строка 91: | Строка 201: | ||
=== В каких полях содержится Email === | === В каких полях содержится Email === | ||
== | При портировании настроек из существующих схем AD важно понимать, в каких конкретно полях cn= ou= | ||
находится информация о пользователе. Эта информация может находиться в совершенно разных, зависящих от выбора, сделанного администратором | |||
местах. | |||
например cn=Users | |||
или | |||
= | ou=Organization, cn=MailUsers. | ||
== | === Как задается имя пользователя. === | ||
Для создания пользователя его необходимо завести в домене cоответствующем организационном подразделении ldap и задать ему пароль там же. | |||
Каталоги пользователя создадутся автоматически. | |||
* Из командной строки при помощи samba-tool user add | |||
* При помощи графических утилит редактирования ldap. | |||
=== | === Как задается информация о группах === | ||
Подробнее о маршрутизации групп можно прочесть в документе LDAP_README, входящем в состав пакета postfix. | |||
= Приложение. Конфигурационные файлы. = | |||
[[Категория: | [[Категория: Почта]] | ||
[[Категория: Active Directory]] |
Текущая версия от 00:42, 27 октября 2017
В этой инструкции разбираются вопросы работы 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.