EXIM: Auth не объявляется при использовании EHLO

Я переместил свой почтовый сервер с одной виртуальной машины на другую. Все настроено так, как было раньше, и с точки зрения IMAP проблем нет.

Однако в настоящее время у меня возникла проблема с отправкой писем. Он заявляет, что реле не разрешено, однако, глядя на конфигурацию, этого не должно быть. Чтобы подтвердить проблему с ретранслятором, я начал изучать связь OpenSSL / Telnet, чтобы копать дальше.

Это привело меня к тому, что AUTH не рекламируется. У меня уже есть ACL, который позволяет отправлять электронную почту от аутентифицированного пользователя. У меня также есть 2 аутентификатора dovecot в моей конфигурации exim:

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

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

У меня также настроена конфигурация аутентификации на Dovecot, однако я все еще не получаю анонса AUTH .

# stat /var/run/dovecot/auth-client
  File: ‘/var/run/dovecot/auth-client’
  Size: 0           Blocks: 0          IO Block: 4096   socket
Device: 13h/19d Inode: 327490      Links: 1
Access: (0660/srw-rw----)  Uid: (   93/    exim)   Gid: (    0/    root)
Context: system_u:object_r:dovecot_var_run_t:s0
Access: 2018-09-28 17:36:19.665586834 +0100
Modify: 2018-09-28 17:36:19.665586834 +0100
Change: 2018-09-28 17:36:19.665586834 +0100
 Birth: -

У меня есть SELinux. установлен на разрешающий, поэтому я знаю, что это не вызывает проблемы. Это сообщение OpenSSL:

250 HELP
EHLO home.pc
250-mail.domain.com Hello home.pc [ip.ip.ip.ip]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-CHUNKING
250-PRDR
250 HELP
AUTH
503 AUTH command used when not advertised
DONE

Я немного застрял в том, как решить эту проблему. Любые указатели на то, на что смотреть, были бы находкой.

РЕДАКТИРОВАТЬ: Вот полная конфигурация Exim: https://pastebin.com/q2zmQLiM

0
задан 28 September 2018 в 20:32
1 ответ

Вы пропустили условие для авторизации рекламы.
Возможно, самый простой способ - объявить аутентификацию только для тех хостов, которые использовали TLS для подключения:

auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}

Семантика условия, приведенного выше, следующая: auth объявляется для каждого хоста, имеющего непустой tls-шифр (т.е. TLS - это уже установлено). Все хосты, которые отказываются использовать TLS, не будут объявлены для аутентификации.

Эта стратегия полезна для предотвращения аутентификации с открытым доступом по незашифрованным соединениям.

1
ответ дан 4 December 2019 в 15:50

Теги

Похожие вопросы