ActiveDirectory/PostfixDovecot2

Материал из ALT Linux Wiki
Почтовая система для работы с Samba AD

В этой инструкции разбираются вопросы работы Samba в режиме DC с Postfix и Dovecot.

Начальные данные:

имя домена alt.fish

имя домен-контроллера d1.alt.fish

имя клиентских машин u1 и u2.

сеть 172.16.0.0/12

Пользователи соответствуют учетным записям в Linux

Почта хранится в maildir.

Количество доменов

В текущей конфигурации не рассматриваются многодоменные конфигурации

Версии ОС

Инструкция рассчитана на использование Branch-P8

ActiveDirectory примерно соответствует конфигурируемой на основе Windows Server 2008 R2.

Версии Office

В данной версии инструкции не рассматривается конфигурация на основе MAPI или EWS.

Outlook может использоваться начиная с 2003 в режиме подключения по IMAP.

Анализ безопасности

1 версия

Следует заметить, что данная инструкция не претендует на создание  полностью безопасной конфигурации.

Вопросы защиты данных будут рассмотрены ниже.

Начальная конфигурация

Пакетная база

Будет необходимо установить следующие пакеты

  • 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.

Многодоменные конфигурации

Многодоменные конфигурации не рассматриваются в этой инструкции.

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.

аутентификация при отсылке внутренней почты

При отсылке почты по протоколу SMTP произвольному абоненту нужна

проверка доступа путем входа для предотвращения open relay.

доступ без аутентификации при подсоединении внешних SMTP cоединений

При получении почты при помощи протокола smtp авторизация отправителя

невозможна.

Возможно лишь осуществление проверок с использованием * Greylisting

  • через черные/белые списки
  • путем


ldap

Поиск информации о пользователе в ldap осуществляется путем присоединения

(bind) с выделенным пользователем ldap-connect

Аутентификация

Осуществляется возможными вариантами:


  • попыткой cделать bind  с указанным пользователем и по результату получить результат авторизации
  • использованием bind с пользователем ldap-connect, а затем поиском по passdb
  • другими способами.


Связь с Dovecot

dovecot

Получение информации из LDAP

Из LDAP AD Dovecot получает следующую информацию: * userdb - информацию о пользователе

  • passdb - аутентификационную информацию.


Планирование путей почты

Достаточно важно спланировать и описать пути прохождения почты. Хотя для одного домена задача выглядит тривиальной, уже при двух доменах

правильное описание прохождения почты может существенно упростить конфигурирование. * Локальный абонент-локальный абонент
Письма посылаются через SMTP c авторизацией в Postfix с использованием SASL (RFC4954)
путем выполнения программы deliver-lda из пакета dovecot.
(файл После этого почта попадает в каталог /var/mail/)

  • Локальный абонент - внешний абонент
    Письма посылаются через Postfix SMTP c авторизацией  с использованием SASL (RFC4954)
    путем выполнения программы deliver-lda из пакета dovecot.
  • Внешний абонент-локальный абонент
    Полученные Postfix-ом через SMTP почтовые сообщения проверяются на наличие локального адресата путем cоединения с ldap
    а затем передаются dovecot для отправки.


Планирование конфигурации LDAP

В каких полях содержится Email

При портировании настроек из существующих схем AD важно понимать, в каких конкретно полях cn= ou=

находится информация о пользователе. Она может находиться в совершенно разных, зависящих от выбора, сделанного администратором

местах.

например cn=Users

или

ou=Organization, cn=MailUsers.


Как задается имя пользователя.

Как задается информация о группах

Имеюшаяся информация о группах пользователей, которая важна для

маршрутизации почты должна быть исследована.

Подробнее о маршрутизации групп можно прочесть в документе LDAP_README, входящем в состав пакета postfix.

Приложение. Конфигурационные файлы.

smb.conf

  1. Global parameters

[global]        netbios  name = D1        realm  = ALT.FISH        workgroup  = ALT        dns  forwarder = 8.8.8.8        server  role = active directory domain controller        idmap_ldb:use rfc2307 = yes        idmap config * : range = 10000 - 20000        tls enabled = yes        ldap  server require strong auth  = no        tls keyfile = tls/key.pem        tls certfile = tls/cert.pem        tls cafile = tls/ca.pem        dsdb:schema update allowed = true        dcerpc_mapiproxy:server = true        dcerpc endpoint servers = +epmapper,+mapiproxy        dcerpc_mapiproxy:interfaces = exchange_emsmdb, exchange_nsp,exchange_ds_rfr

[netlogon]        path  = /var/lib/samba/sysvol/alt.fish/scripts        read  only = No        write  ok = Yes

[sysvol]        path  = /var/lib/samba/sysvol        read  only = No        write  ok = Yes