Как настроить SMTP авторизацию в Exim

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Andy2k
ефрейтор
Сообщения: 69
Зарегистрирован: 2007-08-06 16:14:12

Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Andy2k » 2007-10-08 10:41:27

Настроил связку exim+dovecot по статье уважаемого Лиссяры. Все отлично работает, но теперь хочется разрешить пользователям НЕ ИЗ ЛОКАЛКИ отправлять почту адресатам вне нашего домена. Естественно, с предварительной авторизацией. Может кто-нибудь подсказать как это сделать средствами Exim?

Хостинговая компания 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/

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

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Alex Keda » 2007-10-08 13:27:07

в нём ессть секция аутентификаторов...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Andy2k
ефрейтор
Сообщения: 69
Зарегистрирован: 2007-08-06 16:14:12

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Andy2k » 2007-10-08 14:06:55

lissyara писал(а):в нём ессть секция аутентификаторов...
Спасибо, это я нашел. Я не смог понять, что написать в параметре server_condition. То есть я примерно понимаю, что здесь и должна происходить сама аутентификация, но каким образом ее осуществить - непонтно :(. Буду очень благодарен за помощь.

Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Morty » 2007-10-08 14:24:04

так там и так с аутентификацие на СМТП
.... по крайней мере у меня если юзеры в своих программах не ставят Авторизация на СМТП такая же как на поп3
то они отправить ничего не могут - попадают на задержку в 40 сек и не дожидаясь сами рубят соединение.

Аватара пользователя
Andy2k
ефрейтор
Сообщения: 69
Зарегистрирован: 2007-08-06 16:14:12

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Andy2k » 2007-10-08 14:27:00

Morty писал(а):так там и так с аутентификацие на СМТП
.... по крайней мере у меня если юзеры в своих программах не ставят Авторизация на СМТП такая же как на поп3
то они отправить ничего не могут - попадают на задержку в 40 сек и не дожидаясь сами рубят соединение.
Видимо не совсем так. Если у меня пользователь ставит "Авторизация на SMTP", почта не уходит, а в логе вот такое сообщение:

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

auth_login authenticator failed for (notebook) [XX.XX.111.8] I=[XX.XX.120.151]:25: 535 Incorrect authentication data
В комментариях к конфигу Exim написано
These authenticators are not complete: you need to change the server_condition settings to specify how passwords are verified.
Соответственно дефолтное значение
server_condition = Authentication is not yet configured

А вот что там прописать - не знаю :(

Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Morty » 2007-10-08 15:42:19

я может ошибаюсь но мне кажеться
это о том как должны авторизироваться БАТ, Оутлук и прочии(эти секции в статье тоже описаны)

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

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Alex Keda » 2007-10-08 21:11:34

видима - это не мой конфиг.
в моём дана секция аутентифкаторов
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Andy2k
ефрейтор
Сообщения: 69
Зарегистрирован: 2007-08-06 16:14:12

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Andy2k » 2007-10-09 8:12:18

Ё-моё..... :twisted:
Ну точно, сейчас поглядел еще раз. Блин, где мои глаза раньше были? :oops:
Лиссяра, скажи, а если у меня пароли пользователей в MySQL лежат в виде MD5 хеша, то твои настройки аутентификаторов plain и login будут работать?
В статье, насколько я понял, описаны настройки, при которых пароль хранится в открытом виде. (

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

default_pass_scheme = PLAIN
)

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

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Alex Keda » 2007-10-09 8:21:21

думаю что нет - но если попилить - можно
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Andy2k
ефрейтор
Сообщения: 69
Зарегистрирован: 2007-08-06 16:14:12

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Andy2k » 2007-10-09 8:26:00

Такой

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

dovecot_plain:
  driver = dovecot
  public_name = PLAIN
  server_socket = /var/run/dovecot/auth-client
  server_set_id = $auth1
способ "пиления" может сработать?

Аватара пользователя
Andy2k
ефрейтор
Сообщения: 69
Зарегистрирован: 2007-08-06 16:14:12

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Andy2k » 2007-10-09 11:31:29

Фух, вобщем разобрался, заработало :D
Теперь по порядку:

1. Настраивая связку exim+dovecot я, начитавшись комментариев к статье Лиссяры, настроил таки дефолтную схему для паролей в dovecot так

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

# Дефолтовая схема для пароля.
#
# Список поддерживаемых тем: http://wiki.dovecot.org/Authentication
#
default_pass_scheme = MD5-CRYPT
таким образом пароли пользователей хранятся в базе в зашифрованном виде (так секьюрнее :) )

2. Разумеется, при таком способе хранения паролей аутентификаторы exima согласно настройкам в статье не работают :(

3. Вкурив документацию от exim обнаружил аутентификатор dovecot (http://www.exim.org/exim-html-current/d ... /ch37.html)
Аутентификация осуществляется средствами dovecot, а он у меня с этим прекрасно справляется.

4. Допилил конфиг dovecot до такого состояния:

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

auth default {
  # Space separated list of wanted authentication mechanisms:
  #   plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi
  # NOTE: See also disable_plaintext_auth setting.
  mechanisms = plain login cram-md5 digest-md5

   # Добавлено для работы deliver от dovecot
   socket listen {
     master {
       path = /var/run/dovecot/auth-master
       mode = 0600
       user = mailnull
       #group = mail
     }
    client {
      # The client socket is generally safe to export to everyone. Typical use
      # is to export it to your SMTP server so it can do SMTP AUTH lookups
      # using it.
      path = /var/run/dovecot/auth-client
      mode = 0660
      user = mailnull
    }
   }
}
Перезапускаем dovecot, убеждаемся что появился /var/run/dovecot/auth-client

5. Идем править конфиг exim. Должен выглядеть так:

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

auth_plain:
  driver = dovecot
  public_name = PLAIN
  server_socket = /var/run/dovecot/auth-client
  server_set_id = $auth1

auth_login:
  driver = dovecot
  public_name = LOGIN
  server_socket = /var/run/dovecot/auth-client
  server_set_id = $auth1

auth_cram_md5:
  driver = dovecot
  public_name = CRAM-MD5
  server_socket = /var/run/dovecot/auth-client
  server_set_id = $auth1
Перезапускаем exim - вуаля - аутентификация работает, почта отправляется. :P

Лиссяра, можешь дополнить статью для такого метода аутентификации :)

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

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Alex Keda » 2007-10-09 14:01:56

да надо дока обновлять....
по exim...
или 4.70 дождусь. тогда уже...
Убей их всех! Бог потом рассортирует...

dodger
проходил мимо

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение dodger » 2007-10-11 9:07:44

Уважаемые!

Если есть возможно не юзать SMTP авторизацию, пожалуйста, не делайте этого!

Сейчас очень распостранены атаки brute-force на mta, поддерживающие smtp auth (что легко вычисляется по ответу на EHLO). Злоумышленник просто перебирает по словарю распостраненные логины/пароли, а затем начинает спаммить через них. И админ начинает чесать репу в попытке найти ответ на вопрос "Че это вдруг все работало целый год без проблем, и тут вдруг bl.spamcop.net нас в свой список?". Также существуют компьютерные животные (вирусы) которые тырят эти самые сохраненные пароли с виндовых машин.

Если все же без smtp auth никак не обойтись:
1. Делайте жесткое ограничение на устойчивость пароля к подбору (я молчу про пустые пароли!).
2. Ограничивайте зоны по IP, из которых можно релеить по SMTP AUTH.
3. На худой конец, прикрутите какой нибудь монитор к журналу почтаря, чтобы отслеживать количество писем, отсылаемых за некоторый промежуток времени через один логин. Зашкаливание может говорить о проблеме.

Вообще конечно самое лучшее средство - не пользоваться вообще. А то получается как с презервативом: девушке доверяешь, трахаешь без резины, а потом че то капает.... Оказывается сам виноват. Надо было любить ее понастоящему (так чтобы на сторону ей не хотелось).

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

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Alex Keda » 2007-10-11 9:30:11

:)
ез авторизации нкак, а советы по её закрытию - в общем верные.
тока ещё я видел как на сервере брутфорсили в несколько потоков одновременно - smtp; pop3; ssh; ftp...
и нихрена не сделаешь - IP меняются.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение freeman » 2007-11-08 13:33:48

Andy2k писал(а):Фух, вобщем разобрался, заработало :D
Теперь по порядку:

.....покоцано ...
Перезапускаем exim - вуаля - аутентификация работает, почта отправляется. :P

Лиссяра, можешь дополнить статью для такого метода аутентификации :)
Проделал всё как тут написано -
Пытаюсь The BAt принять-отправить почту методом - MD5 CRAM-HMAC Запрос/подтверждение (RFC-2095) - другого там нет MD5 =(
и получаю ...
08.11.2007, 12:14:58: FETCH - Получение новой почты
08.11.2007, 12:14:58: FETCH - Соединение с POP3 сервером прошло удачно
!08.11.2007, 12:14:59: FETCH - Сервер сообщает об ошибке: -ERR Authentication failed.

лог Exim -

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

Nov  8 12:22:47 Mserver dovecot: auth(default): client in: AUTH 1       CRAM-MD5        service=POP3    lip=IP_Exim rip=IP_client resp=
Nov  8 12:22:47 Mserver dovecot: auth(default): client out: CONT        1       PDc5MDQwNjU5MDYzNTA4MzQuMTE5NDUxNzM2N0BNc2VydmVyLnhva2JhLmtoYXJrb3YuY29tPg==
Nov  8 12:22:47 Mserver dovecot: auth(default): client in: CONT 1       MjJAeG9rYmEua2hhcmtvdi5jb20gOWJhOWI0ZTdhZDI5MDVhN2ZkMTI1MjdlZjUwOTUyYjA=
Nov  8 12:22:47 Mserver dovecot: auth-worker(default): sql(22@my.domain,IP_client): query: SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = '22@my.domain' AND `active`='1'
Nov  8 12:22:47 Mserver dovecot: auth-worker(default): password(22@my.domain,IP_client): Requested CRAM-MD5 scheme, but we have only MD5-CRYPT
Nov  8 12:22:48 Mserver dovecot: auth(default): new auth connection: pid=21070
Nov  8 12:22:49 Mserver dovecot: auth(default): client out: FAIL        1       user=22@my.domain
Nov  8 12:22:49 Mserver dovecot: pop3-login: Disconnected: user=<22@my.domain>, method=CRAM-MD5, rip=IP_client, lip=IP_Exim
Настойки Dovecot

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

auth default {
  # Список требуемых механизмов аутентификации, разделённый пробелами
  #   plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi
  # NOTE: See also disable_plaintext_auth setting.
  mechanisms = plain login cram-md5 digest-md5 ntlm

   # Добавлено для работы deliver от dovecot
   socket listen {
     master {
       path = /var/run/dovecot/auth-master
       mode = 0600
       user = mailnull
       #group = mail
     }
	  client {
      # The client socket is generally safe to export to everyone. Typical use
      # is to export it to your SMTP server so it can do SMTP AUTH lookups
      # using it.
      path = /var/run/dovecot/auth-client
      mode = 0660
      user = mailnull
    }
   }
Postfixadmin

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

// Encrypt
// In what way do you want the passwords to be crypted?
// md5crypt = internal postfix admin md5
// system = whatever you have set as your PHP system default
// cleartext = clear text passwords (ouch!)
$CONF['encrypt'] = 'md5crypt';
- все пароли в виде MD5 хеша
и Exim

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

begin authenticators

auth_plain:
  driver = dovecot
  public_name = PLAIN
  server_socket = /var/run/dovecot/auth-client
  server_set_id = $auth1

auth_login:
  driver = dovecot
  public_name = LOGIN
  server_socket = /var/run/dovecot/auth-client
  server_set_id = $auth1

auth_cram_md5:
  driver = dovecot
  public_name = CRAM-MD5
  server_socket = /var/run/dovecot/auth-client
  server_set_id = $auth1
  
auth_ntlm:
  driver = dovecot
  public_name = NTLM
  server_socket = /var/run/dovecot/auth-client
  server_set_id = $auth1
  
В общем запутался я вообще - никак у меня кроме plain text не получается аутентифицироватся, ни при приёме через Dovecot, ни через Exim при приёмке (пробовал уже варианты и начальный и с комментариев).

КАК ? Requested CRAM-MD5 scheme реализовать ???
Остатся должен только один ...

Аватара пользователя
Andy2k
ефрейтор
Сообщения: 69
Зарегистрирован: 2007-08-06 16:14:12

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Andy2k » 2007-11-08 14:26:45

Тут видно нужно ковырять админку Postfix'a в тему схемы шифрования паролей. Судя по логу Dovecot извлек шифрованный пароль, но получил md5-crypt вместо желаемого cram-md5. Может в новых версиях админки появится возможность задавать cram-md5?
У меня пользователи мышь не юзают, поэтому работает.

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение freeman » 2007-11-08 16:48:40

А с чем у тебя пользователи работают ? У меня только The BAt и Outlook Express. Во втором тоже если не открытым текстом, то SPA =(.
Не получится у меня пользователей пересадить, надо что то с связкой exim dovecot решать :twisted:
Остатся должен только один ...

BlackPhantom
мл. сержант
Сообщения: 128
Зарегистрирован: 2007-11-02 11:34:10

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение BlackPhantom » 2007-11-08 16:53:52

у меня висит saslauthd, и через него и бат, и express и microsoft outlook, все отправляют...

Аватара пользователя
Andy2k
ефрейтор
Сообщения: 69
Зарегистрирован: 2007-08-06 16:14:12

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Andy2k » 2007-11-08 16:54:53

Outlook 2003
Profi-mail
Java-client (мобильники)
Outlook Windows Mobile 2003-2005 (КПК)

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение freeman » 2007-11-08 16:59:10

Ясно, в общем настоятельнейшая просьба всем кто "нароет" решение для такой криптованной аутентификации The BAt написать мне в ЛС, дабы я не пропустил это чудо.

Я так понял на данном этапе варианты закончились ? :twisted: :cry: :cry: :? :twisted:
Остатся должен только один ...

Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Morty » 2007-11-08 17:52:26

да лучше не в ЛС а на форуме - всем интерестно.
а если ты на свой сервак телнетом он тебе что показывает ??
у меня вот так

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

telnet 11.11.11.22 25
ehlo testdomain.com
250-SIZE 26214400
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
кстати подскажите где можно посмотреть все опции для сборки Exima а то не нашел.
Почитал вот тут http://exim.org/exim-html-current/doc/h ... l#SECID169
Подумалось - может нада просто скомпилить экзим с опцией AUTH_CRAM_MD5=yes

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение freeman » 2007-11-08 18:45:02

Morty писал(а):да лучше не в ЛС а на форуме - всем интерестно.
а если ты на свой сервак телнетом он тебе что показывает ??
......
Почитал вот тут http://exim.org/exim-html-current/doc/h ... l#SECID169
Подумалось - может нада просто скомпилить экзим с опцией AUTH_CRAM_MD5=yes
Извиняюсь, думал что приводил логи. значит в другой теме =)

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

220 mx.mysdomain.com, ESMTP ready
EHLO ya
250-mx.mysdomain.com HEHLO ya [192.168.x.x]
250-SIZE 10485760
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5 NTLM
250 HELP

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

FreeBSD Myserver.com 6.2-RELEASE-p8 FreeBSD 6.2-RELEASE-p8 #1: Wed Oct 24 13:44:26 EEST 2007     root@Myserver.com:/usr/obj/usr/src/sys/Myserver.com  i386
Exim version 4.68 #0 (FreeBSD 6.2) built 26-Oct-2007 00:44:01
Copyright (c) University of Cambridge 2006
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq iconv() use_setclassresources PAM Perl Expand_dlfunc OpenSSL Content_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch mysql nis nis0 passwd
Authenticators: cram_md5 dovecot plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Конечно же тут надо отвечать, а в ЛС чтоб я всразу увидел :)
Остатся должен только один ...

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

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Alex Keda » 2007-11-09 0:23:13

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

more /usr/ports/mail/exim/options  
Убей их всех! Бог потом рассортирует...

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение freeman » 2007-11-09 12:00:25

lissyara писал(а):

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

more /usr/ports/mail/exim/options  
Exim собирался по статье http://www.lissyara.su/?id=1173 , т.е make && make install && make clean
Но разве присутствие в приглашении

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

250-AUTH PLAIN LOGIN CRAM-MD5 NTLM
и параметрах

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

Authenticators: cram_md5 dovecot plaintext spa
не говорит о сборке. реальном присутсвии, CRAM-MD5 ?
Остатся должен только один ...

Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: Как настроить SMTP авторизацию в Exim

Непрочитанное сообщение Morty » 2007-11-09 13:58:48

если дальше продолжить тему с телнетом то

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

250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
auth cram-md5
334 PDE3Nzg2LjExOTQ2MDU1NDVAbWFpbDIuc2ltYmlvei5jb20udWE+
в отличии от plain

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

250-SIZE 26214400
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
auth plain
334
моно считать что аутентификация по крам-мд5 работает и соединение идет зашифрованное
если я ошибаюсь в понимании этого процесса - поправьте плз