Настройка postfix+dovecot+ldap
2. Часть вторая IMAP/POP3 сервер Dovecot
Это достаточно безопасный сервер, насколько может быть безопасно ПО.
Мне пришлось его пересобрать для Fedora 11 и CentOS 5.3, т.к. его основной файл
конфигурации dovecot.conf находиться непосредственно в каталоге /etc. Я определил его в
/etc/dovecot. Как я обратил внимание, это делают почти все авторы статей по dovecot.
Файл spec для версии 1.2.4 можно забрать здесь.
Я привожу конфигурацию dovecot без ssl, поддерживающую протоколы pop3 и imap.
Файл конфигурации dovecot.conf
protocol pop3 {
listen = *:110
}
protocol imap {
listen = *:143
}
Кто как, я предпочитаю хранить логи для сервисов в отдельных файлах
log_path = /var/log/dovecot/dovecot.log
Отключаю поддержку SSL/TLS. Для 1.0.x
ssl_disable = yes
Для 1.2.x
ssl = no
Приветствие для клиентов сервера. Можно сказать что-нибудь доброе или
просто, "версия сервера не твое дело". Остановимся на нейтральном.
login_greeting = Welcome to IMAP/POP3 server
Теперь расположение почтового ящика.
mail_location = mbox:/var/spool/dovecot/%n:INBOX=/var/spool/mail/%n
Здесь необходимы некоторые пояснения. Сама почта у меня будет находится в стандартном каталоге
для почты. Мне показалось, что будет правильным, если я смогу посмотреть почту на локальной машине
не только через pop/imap клиента, а локально. Например через mutt или mail. Ну а все причиндалы dovecot
вынесем в отдельную папку. Напоминаю, что почтовый клиент, обслуживает, как локальных(реальных), так и виртуальных пользователей
Включаем отладку, очень полезно при первоначальной настройке и поиске
неисправностей. После настройки лучше отключать.
mail_debug = yes
Задаем допустимый интервал UID для пользователей, по умолчанию 500 и выше.
Это сделано для того, чтобы быть увереным в том, что пользователи
не смогут войти как демоны или другие системные пользователи.
Запрет входа как root встроен в бинарник dovecot и не может
быть изменен, даже если установить first_valid_uid в 0.
first_valid_uid = 500
last_valid_uid = 50000
Теперь задаю интервал для группы. Минимальных GID для группы у меня выставлен в 12,
т.к. под этим номером у меня находится группа mail. Таким образом я позволяю работать с ящиком как с локальным и виртуальным одновременно.
first_valid_gid = 12
last_valid_gid = 50000
Ну и остались только пользователь и группа. Только для 1.2.x.
mail_uid = virtual
mail_gid = mail
Следующие параметры отвечают за диагностику. Для отладки они нужны, а после их следует отключить.
Высокий уровень информативности. Используется при поиске ошибок, связанных с аутентификацией.
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes
Осталось только определить способ аутентификации
auth default {
# Разделенный пробелами список, используемых механизмов аутентификации:
mechanisms = plain login
# LDAP database
passdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}
userdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}
user = virtual
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = virtual
group = virtual
}
client {
path = /var/spool/postfix/private/dovecot-smtp-auth
mode = 0660
user = postfix
group = postfix
}
}
}
Файл конфигурации dovecot-ldap.conf
Для начала определяем хост, на котором крутится LDAP-сервер. Формат параметра host = hostname:port.
У меня LDAP крутится на одном сервере с почтой.
hosts = 127.0.0.1
Определяем пользователя (обзовем его ldapuser), для захода на сервер. Хост example.ru (ты же в Россее живем)
dn = cn=ldapuser,dc=example,dc=ru
Задаем пароль для входа, ну буквально "secret_password";
dnpass = secret_password
Ходить будем не от пользователя. Я так решил ;-)
auth_bind = no
LDAP base.
base = dc=example, dc=ru
Запрос для выборки пользователей
user_filter = (&(objectClass=mailAccount)(mailBox=%u))
Определяем соответствие переменных
pass_attrs = mailBox=user,userPassword=password
Фильтр для проверки паролей
pass_filter = (&(objectClass=mailAccount)(mailBox=%u))
Определяемся, чем шифруем пароль
default_pass_scheme = {здесь ваши личные пристрастия, CRYPT, MD5 и т.п}
Ну и остались только пользователь и группа. (для dovecot 1.0.x).
Для 1.2.x определяется в файле конфигурации dovecot.conf
user_global_uid = virtual
user_global_gid = mail
На этом настройка dovecot закончена. Осталось только проверять. Напоминаю, что я
описываю только критичные для данной конфигурации настройки. И предлагаю немного подумать.
|
|