EXIM и DOVECOT2

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

EXIM и DOVECOT2

Непрочитанное сообщение Reken » 2021-02-12 20:29:23

Подскажите пожалуйста
Несколько лет назад, настроил почтовый сервак на FreeBSD. Следующая связка EXIM+DOVECOT2+MYSQL (В последнем пользователи и пароли содержатся). Настраивал так, что бы только локальные пользователи могли авторизоваться... На прием почты обычный пароль, на отправку вообще без авторизации (т.к. локальные пользователи).
Сейчас нужно сделать так, что бы и удаленные пользователи (вне офиса), могли авторизоваться и работать с почтой...Сертификат SSL у сервака есть, я так понимаю для разрешения удаленной авторизации нужно Dovecot2 крутить?Само собой буду сейчас в ИНЕТЕ читать, но может что дельное подскажите?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

EXIM и DOVECOT2

Непрочитанное сообщение xM » 2021-02-16 20:58:52

Reken писал(а):
2021-02-12 20:29:23
но может что дельное подскажите
Читать. И в случае проблем задавать вопросы по существу в разрезе что делали - что не работает - что пишет в логах.
IT voodoo blog https://kostikov.co

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

EXIM и DOVECOT2

Непрочитанное сообщение Reken » 2021-02-17 11:58:26

Пытаюсь читать, разбираться понемногу. У меня в общем в настройках dovecot в файле 10-ssl.conf, указано что не использовать SSL и остальное всё закоментировано. Наверное поэтому не получается авторизоваться удаленно?
В почтовом клиенте, указываю настройки входящего/исходящего сервера. Далее почтовый клиент говорит что не может получить SSL от сервера, потом пишет что мой почтовый сервер не отвечает...
В логах почтового сервака пустота...

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

EXIM и DOVECOT2

Непрочитанное сообщение snorlov » 2021-02-17 14:42:41

Рекомендую настроить и локальных и удаленных пользователей одинаково, головной боли будет меньше, т.е. настроить rfr сам exim, так и dovecot, использую один и тот же сертификат, и обязательно с SSL, при чем отправку надо точно настроить всем с авторизацией, даже из локалки, спать будете лучше...
Reken, в инете море информации по этой связке, причем на русском языке, да и на этом сайте тоже море информации

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

EXIM и DOVECOT2

Непрочитанное сообщение Reken » 2021-02-17 14:51:17

Да, я понял. Сейчас почитаю, думаю всё получится. Просто думал по быстрому, но понял что придется подольше повозиться...
Сертификат у меня от letsencrypt, наверное как и у многих...

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

EXIM и DOVECOT2

Непрочитанное сообщение Reken » 2021-02-20 9:10:24

Вроде бы понял, но страшновато открывать авторизация ВНЕ ЛОКАЛКИ...Подскажите мне пожалуйста, я правильно понимаю, принцип удаленной авторизации:
1) Авторизация будет защищена SSL сертификатом
2) Авторизация будет происходить по логину и паролю

И как я понял, в EXIM за удаленную авторизацию отвечают следующие строки:

Код: Выделить всё

begin authenticators

auth_plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = ${lookup mysql{SELECT `username` FROM \
                     `mailbox` WHERE `username` = \
                     '${quote_mysql:$auth2}' AND `password` = \
                     '${quote_mysql:$auth3}'}{yes}{no}}
  server_prompts = :
  server_set_id = $auth2

auth_login:
  driver = plaintext
  public_name = LOGIN
  server_condition = ${lookup mysql{SELECT `username` FROM \
                     `mailbox` WHERE `username` = \
                     '${quote_mysql:$auth1}' AND `password` = \
                     '${quote_mysql:$auth2}'}{yes}{no}}
  server_prompts = Username:: : Password::
  server_set_id = $auth1

auth_cram_md5:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${lookup mysql{SELECT `password` FROM \
                        `mailbox` WHERE `username` \
                        = '${quote_mysql:$auth1}'}{$value}fail}
  server_set_id = $auth2
А в dovecot следующие файлы:
Файл аутентификации /usr/local/etc/dovecot/conf.d/10-auth.conf

Код: Выделить всё

# Пока настраивал оставил включенным PLAIN тип аутентификации
disable_plaintext_auth = no
# Отключаем кэш аутентифкации
auth_cache_size = 0
# Список разрешенных символов в имени пользователя
auth_username_chars = abcdefghijklmnopqrstuvwxyzAB \
CDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
# Преобразование формат имени пользователя в нижний регистр
auth_username_format = %Lu
# Максимальное количество работающих процессов аутентификации
auth_worker_max_count = 30
# Количество секунд перед повторной аутентификацией
auth_failure_delay = 2 secs
# Отказать в аутентификации, если у клиента неверный SSL сертификат
auth_ssl_require_client_cert = no
# Не брать имя пользователя из SSL сертификата 
auth_ssl_username_from_cert = no
# Список разрешенных методов аутентификации
auth_mechanisms = plain login MD5-CRYPT

# Включить конфиг аутентификации для SQL пользователей 
!include auth-sql.conf.ext
Файл сервисов и сокетов /usr/local/etc/dovecot/conf.d/10-master.conf

Код: Выделить всё

# Ограничение числа процессов
default_process_limit = 100
default_client_limit = 1000
# Внутренний пользователь для процесса логона
default_login_user = dovenull
# Внутренний пользователь для непривилегированных процессов
default_internal_user = dovecot
# Секция сервиса имап логона
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
# Количество активный соединений
  service_count = 1
# Количество процессов, ждущих соединений
  process_min_avail = 3 
#  Количество памяти на 1 соединение (service_count)
  vsz_limit = 64M
}
# Секция сервиса поп3 логона
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
# Параметры сетевого сокета
service lmtp {
  unix_listener lmtp {
#mode = 0666
  }

}
# Сервис имап
service imap {
# память для вложений
  vsz_limit = 256M
# Макс. количество процесов обрабатывающих имап подключения
  process_limit = 128
}
# Сервис поп3
service pop3 {
  process_limit = 256
}
# Сервис аутентификации
service auth {
  unix_listener auth-userdb {
    mode = 0666
    user = mailnull
    group = mail
  }
    unix_listener auth-client {
    mode = 0600
    user = mailnull
    group = mail
  }
  user = $default_internal_user
}
# Сервис воркера
service auth-worker {
  user = $default_internal_user
}
# Сервис обслуживания и оповещения о пользовательской квоте
service quota-warning {
# Скрипт, который отсылает письмо о превышении квоты пользователю
# написан по примеру из оф. вики http://wiki2.dovecot.org/Quota/Configuration
# его содержимое представлено ниже
  executable = script /usr/local/etc/dovecot/overquoted
  unix_listener quota-warning {
    user = mailnull
    group = mail
    mode = 0777
  }
}
# Сокет dict proxy для слежения за квотами
service dict {
  unix_listener dict {
    mode = 0600
    user = mailnull
    group = mail
  }
}
Файл настройки SSL /usr/local/etc/dovecot/conf.d/10-ssl.conf

Код: Выделить всё

# Включаем поддержку
ssl = yes
# SSL сертификаты 
tls_certificate = /etc/ssl/exim.crt
tls_privatekey = /etc/ssl/exim.pem
# Не проверять сертификат пользователя
ssl_verify_client_cert = no
# Используемые типы шифров
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL
Файл протокола IMAP /usr/local/etc/dovecot/conf.d/20-imap.conf

Код: Выделить всё

protocol imap {
# максимальное количество соединений, разрешенных
# с каждого IP адреса
  mail_max_userip_connections = 5
# Подключаем плагин имап квоты и dovecot-antispam плагин
  mail_plugins = $mail_plugins imap_quota antispam
# Формат логов
  imap_logout_format = bytes=%i/%o
# Время ожидания ответа от клиента
  imap_idle_notify_interval = 2 mins
}
В данный момент, у меня в dovecot не используется SSL. И файл аунтефикации немного отличается, от выше указанных настроек. Я правильно понимаю, что когда добавлю в dovecot SSL, и подредактирую файл аунтефикации, у меня откроется удаленная авторизация на почтовом сервере?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

EXIM и DOVECOT2

Непрочитанное сообщение Alex Keda » 2021-04-29 11:11:06

а чего страшного-то?
сложные пароли, хотя бы раз в полгода их менять - и всё
Убей их всех! Бог потом рассортирует...