LINUX.ORG.RU
ФорумAdmin

postfix, dovecot, telnet localhost 25 - нет AUTH LOGIN

 


0

1

OS Debian12, на отдельных VM установлен postfix+dovecot, PostgreSQL, postfixadmin, RoundCube.

Клиенты с Outlook и Thunderbird почту отправляют и получают. RoundCube по IMAP подключается, ящики и почту получает, но при отправке письма выдает SMTP Error (): Authentication filed.

В логах самого RoundCube лишь стандартный обмен по telnet. И в нем и в консольном запросе к почтовому серверу нет AUTH LOGIN. Получить ответ сервера по доступному методу авторизации пока не получается никакими настройками.

root@mx:/etc/postfix# telnet localhost 25
Trying ::1...
Connection failed: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
EHLO 10.10.10.***
250-mx.example.com
250-PIPELINING
250-SIZE 52428800
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 CHUNKING

Насколько я понимаю в этом кроется ошибка невозможности отправки писем из RoundCube. Уточню, что все компоненты почтового комплекса размещены на отдельных VM (кроме postfix + dovecot). Что можно предпринять что бы RC заработал как клиент?

tail -f /var/log/mail.log


2025-06-16T11:57:00.689470+03:00 mx postfix/smtpd[96460]: disconnect from unknown[10.10.10.***] ehlo=2 starttls=1 mail=1 rcpt=1 data=1 quit=1 commands=7
2025-06-16T11:58:03.182381+03:00 mx postfix/submission/smtpd[96467]: connect from unknown[10.10.10.***]
2025-06-16T11:58:03.183312+03:00 mx postfix/submission/smtpd[96467]: warning: Milter service needs transport:endpoint instead of "opendmarc/opendmarc.sock"
2025-06-16T11:58:03.286624+03:00 mx dovecot: auth: Debug: auth client connected (pid=0)
2025-06-16T11:58:03.289173+03:00 mx postfix/submission/smtpd[96467]: disconnect from unknown[10.10.10.***] ehlo=2 starttls=1 quit=1 commands=4

root@mx:/etc/postfix# postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
compatibility_level = 3.6
default_destination_recipient_limit = 1
inet_interfaces = all
inet_protocols = ipv4
mailbox_size_limit = 0
mailbox_transport = lmtp:unix:private/dovecot-lmtp
maillog_file =
message_size_limit = 52428800
milter_default_action = accept
milter_protocol = 6
mydestination = $myhostname, localhost.$mydomain, localhost
myhostname = mx.example.com
mynetworks = 127.0.0.0/8 10.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
non_smtpd_milters = $smtpd_milters
policyd-spf_time_limit = 3600
readme_directory = no
recipient_delimiter = +
relay_domains = $mydestination, proxy:pgsql:/etc/postfix/pgsql/relay_domains.cf
relayhost =
smtp_tls_loglevel = 4
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_helo_required = yes
smtpd_milters = local:opendkim/opendkim.sock,opendmarc/opendmarc.sock
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unlisted_recipient, check_policy_service unix:private/policyd-spf reject_unauth_destination
smtpd_relay_restrictions = permit_sasl_authenticated, permit_mynetworks, defer_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks
smtpd_tls_cert_file = /etc/letsencrypt/live/mx.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mx.example.com/privkey.pem
smtpd_tls_loglevel = 4
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
smtputf8_enable = no
virtual_alias_maps = proxy:pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf
virtual_gid_maps = static:2000
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = proxy:pgsql:/etc/postfix/pgsql/virtual_domains_maps.cf
virtual_mailbox_maps = proxy:pgsql:/etc/postfix/pgsql/virtual_mailbox_maps.cf
virtual_minimum_uid = 2000
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_uid_maps = static:2000

/etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = yes
auth_default_realm = example.com
auth_username_format = %u
auth_ssl_username_from_cert = no
auth_mechanisms = plain login cram-md5 digest-md5 
!include auth-sql.conf.ext
!include auth-system.conf.ext
auth_debug = yes
auth_debug_passwords = yes

/etc/dovecot/conf.d/10-ssl.conf

ssl = required
ssl_cert = </etc/letsencrypt/live/mx.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mx.example.com/privkey.pem
ssl_dh = </usr/share/dovecot/dh.pem
ssl_min_protocol = TLSv1.2
ssl_prefer_server_ciphers = yes

Современные сервера обычно запрещают авторизацию при plaintext-подключении, требуя либо explicit TLS для SMTP (порт 465 обычно), либо STARTTLS (который может в том числе быть и на порту 25 и включается ОТДЕЛЬНОЙ командой в протоколе).

TL;DR - анонимус выше дело говорит, если прям нужна авторизация без шифрования канала, отключай smtpd_tls_auth_only в Postfix

Pinkbyte ★★★★★
()
Ответ на: комментарий от anonymous

Не помоглоэто, та же ошибка авторизации SMTP

smtps     inet  n       -       y       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_tls_auth_only = no
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
  -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth

tail -f /var/log/mail.log

2025-06-16T16:15:22.916797+03:00 mx postfix/submission/smtpd[102884]: initializing the server-side TLS engine
2025-06-16T16:15:22.948102+03:00 mx postfix/tlsmgr[102885]: open smtpd TLS cache btree:/var/lib/postfix/smtpd_scache
2025-06-16T16:15:22.950498+03:00 mx postfix/tlsmgr[102885]: open smtp TLS cache btree:/var/lib/postfix/smtp_scache
2025-06-16T16:15:22.956223+03:00 mx postfix/tlsmgr[102885]: tlsmgr_cache_run_event: start TLS smtpd session cache cleanup
2025-06-16T16:15:22.957179+03:00 mx postfix/tlsmgr[102885]: tlsmgr_cache_run_event: start TLS smtp session cache cleanup
2025-06-16T16:15:22.972274+03:00 mx postfix/submission/smtpd[102884]: connect from unknown[10.10.***.***]
2025-06-16T16:15:22.973094+03:00 mx postfix/submission/smtpd[102884]: warning: Milter service needs transport:endpoint instead of "opendmarc/opendmarc.sock"
2025-06-16T16:15:22.975379+03:00 mx postfix/submission/smtpd[102884]: setting up TLS connection from unknown[10.10.***.***]
2025-06-16T16:15:22.976137+03:00 mx postfix/submission/smtpd[102884]: unknown[10.10.***.***]: TLS cipher list "aNULL:-aNULL:HIGH:MEDIUM:+RC4:@STRENGTH"
2025-06-16T16:15:22.976841+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:before SSL initialization
2025-06-16T16:15:23.061941+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:before SSL initialization
2025-06-16T16:15:23.062687+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:SSLv3/TLS read client hello
2025-06-16T16:15:23.063417+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:SSLv3/TLS write server hello
2025-06-16T16:15:23.064095+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:SSLv3/TLS write change cipher spec
2025-06-16T16:15:23.064824+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:TLSv1.3 write encrypted extensions
2025-06-16T16:15:23.065509+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:SSLv3/TLS write certificate
2025-06-16T16:15:23.066217+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:TLSv1.3 write server certificate verify
2025-06-16T16:15:23.067155+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:SSLv3/TLS write finished
2025-06-16T16:15:23.067467+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:TLSv1.3 early data
2025-06-16T16:15:23.072255+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:TLSv1.3 early data
2025-06-16T16:15:23.072984+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:SSLv3/TLS read finished
2025-06-16T16:15:23.073709+03:00 mx postfix/submission/smtpd[102884]: unknown[10.10.***.***]: Issuing session ticket, key expiration: 1750081522
2025-06-16T16:15:23.074462+03:00 mx postfix/submission/smtpd[102884]: unknown[10.10.***.***]: save session F682A2227D511D0D663956433C1A0D1443ACAFE5C3C5A1F8E8999CC3BF5C1ADA&s=submission&l=805306624 to smtpd cache
2025-06-16T16:15:23.075136+03:00 mx postfix/tlsmgr[102885]: put smtpd session id=F682A2227D511D0D663956433C1A0D1443ACAFE5C3C5A1F8E8999CC3BF5C1ADA&s=submission&l=805306624 [data 141 bytes]
2025-06-16T16:15:23.075787+03:00 mx postfix/tlsmgr[102885]: write smtpd TLS cache entry F682A2227D511D0D663956433C1A0D1443ACAFE5C3C5A1F8E8999CC3BF5C1ADA&s=submission&l=805306624: time=1750079723 [data 141 bytes]
2025-06-16T16:15:23.076448+03:00 mx postfix/submission/smtpd[102884]: SSL_accept:SSLv3/TLS write session ticket
2025-06-16T16:15:23.077136+03:00 mx postfix/submission/smtpd[102884]: Anonymous TLS connection established from unknown[10.10.***.***]: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256
2025-06-16T16:15:23.099395+03:00 mx dovecot: auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
2025-06-16T16:15:23.099755+03:00 mx dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/lib20_auth_var_expand_crypt.so
2025-06-16T16:15:23.120763+03:00 mx dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/libdriver_pgsql.so
2025-06-16T16:15:23.121593+03:00 mx dovecot: auth: Debug: sqlpool(pgsql): Creating new connection
2025-06-16T16:15:23.122322+03:00 mx dovecot: auth: Debug: Read auth token secret from /run/dovecot/auth-token-secret.dat
2025-06-16T16:15:23.123171+03:00 mx dovecot: auth: Debug: sqlpool(pgsql): Creating new connection
2025-06-16T16:15:23.178416+03:00 mx dovecot: auth: Debug: auth client connected (pid=0)
2025-06-16T16:15:23.180457+03:00 mx postfix/submission/smtpd[102884]: disconnect from unknown[10.10.***.***] ehlo=2 starttls=1 quit=1 commands=4
olvad
() автор топика
Ответ на: комментарий от Pinkbyte

Не думал что будут такие затыки с почтовым клиентом. Сейчас получается проблема взаимодействия на уровне защищенного соеднения RoundCube с почтовиком.

В предложенных инструкциях RoundCube ставят на сам почтовый сервер, и особенности шифрованных протоколов или аутентификации не проявляются.

Либо научить этого WEB клиента доверять сертификату (не нашел такой возможности). Либо, не меняя существующую схему работы других клиентов, настроить отправку почты с RoundCube в локальной сети, не заморачиваясь на TLS. Это возможно?

olvad
() автор топика
Ответ на: комментарий от olvad

Либо научить этого WEB клиента доверять сертификату (не нашел такой возможности)

Если сертификат на почте самоподписанный - достаточно его добавить в системные корневые сертификаты на машине, где стоит Roundcube(методика добавления немного различная в зависимости от дистрибутива, но там нет ничего сложного). Я даже в docker-контейнер подкладывал сертификат - та же механика, главное узнать на базе какого дистрибутива собран контейнер.

Но вообще, если почта не исключительно внутри изолированной локальной сети - может проще сертификат от Let's Encrypt получить?

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)