ошибка аутентификации при проксировании smtp

Юрий Ястребов yyv83 на mail.ru
Пт Май 2 12:50:10 UTC 2025


Добрый день, уважаемые коллеги!
Я тестирую модуль mail и столкнулся с ситуацией некорректного проксирования команды AUTH в smtp сессии.
Я хотел бы понять: это ожидаемое поведение или я что-то делаю неправильно?
Сервер smtp: postfix 3.7.11, прокси: nginx 1.26.3
 
Вот мой конфиг контекста mail:
 
  mail {
      auth_http localhost/auth;
      proxy_pass_error_message on;
      xclient off;
      starttls off;
 
      server {
          listen           465 ssl;
          protocol         smtp;
          smtp_auth        login plain cram-md5;
          proxy_smtp_auth  on;
          proxy_protocol   on;
          ssl_certificate     /etc/ssl/certs/ssl-cert-snakeoil.pem;
          ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
      }
  }
 
Для аутентификации используется статическая заглушка:
 
  location = /auth {
      add_header Auth-Status OK;
      add_header Auth-Server 192.168.0.104;
      add_header Auth-Port   10025;
      return 204;
  }
 
При взаимодействии smtp клиента через прокси возникает ошибка аутентификации, вот кусок лога:
----
2025-05-02T15:33:20.716305+03:00 mail-smtp postfix/smtpd[7539]: match_list_match: 192.168.0.101: no match
2025-05-02T15:33:20.716396+03:00 mail-smtp postfix/smtpd[7539]: > mail-client.yyv83[192.168.0.101]: 250-mail.yyv83.dynv6.net
2025-05-02T15:33:20.716446+03:00 mail-smtp postfix/smtpd[7539]: > mail-client.yyv83[192.168.0.101]: 250-PIPELINING
2025-05-02T15:33:20.716496+03:00 mail-smtp postfix/smtpd[7539]: > mail-client.yyv83[192.168.0.101]: 250-SIZE 10240000
2025-05-02T15:33:20.716551+03:00 mail-smtp postfix/smtpd[7539]: > mail-client.yyv83[192.168.0.101]: 250-ETRN
2025-05-02T15:33:20.716622+03:00 mail-smtp postfix/smtpd[7539]: > mail-client.yyv83[192.168.0.101]: 250-STARTTLS
2025-05-02T15:33:20.716682+03:00 mail-smtp postfix/smtpd[7539]: > mail-client.yyv83[192.168.0.101]: 250-ENHANCEDSTATUSCODES
2025-05-02T15:33:20.716737+03:00 mail-smtp postfix/smtpd[7539]: > mail-client.yyv83[192.168.0.101]: 250-8BITMIME
2025-05-02T15:33:20.716785+03:00 mail-smtp postfix/smtpd[7539]: > mail-client.yyv83[192.168.0.101]: 250-DSN
2025-05-02T15:33:20.716837+03:00 mail-smtp postfix/smtpd[7539]: > mail-client.yyv83[192.168.0.101]: 250-SMTPUTF8
2025-05-02T15:33:20.716927+03:00 mail-smtp postfix/smtpd[7539]: > mail-client.yyv83[192.168.0.101]: 250 CHUNKING
2025-05-02T15:33:20.716985+03:00 mail-smtp postfix/smtpd[7539]: smtp_stream_setup: maxtime=300 enable_deadline=0 min_data_rate=0
2025-05-02T15:33:20.717041+03:00 mail-smtp postfix/smtpd[7539]: < mail-client.yyv83[192.168.0.101]: AUTH PLAIN AG1haWxAeXl2ODMuZHludjYubmV0ADEyMzRRd2VyIQ==
2025-05-02T15:33:20.717091+03:00 mail-smtp postfix/smtpd[7539]: match_hostname: smtpd_client_event_limit_exceptions: mail-client.yyv83 ~? 127.0.0.0/8
2025-05-02T15:33:20.717146+03:00 mail-smtp postfix/smtpd[7539]: match_hostaddr: smtpd_client_event_limit_exceptions: 192.168.0.101 ~? 127.0.0.0/8
2025-05-02T15:33:20.717257+03:00 mail-smtp postfix/smtpd[7539]: match_list_match: mail-client.yyv83: no match
2025-05-02T15:33:20.717309+03:00 mail-smtp postfix/smtpd[7539]: match_list_match: 192.168.0.101: no match
2025-05-02T15:33:20.717366+03:00 mail-smtp postfix/smtpd[7539]: send attr request = auth
2025-05-02T15:33:20.717429+03:00 mail-smtp postfix/smtpd[7539]: send attr ident = smtpd:192.168.0.101
2025-05-02T15:33:20.717475+03:00 mail-smtp postfix/smtpd[7539]: private/anvil: wanted attribute: status
2025-05-02T15:33:20.717525+03:00 mail-smtp postfix/smtpd[7539]: input attribute name: status
2025-05-02T15:33:20.717592+03:00 mail-smtp postfix/smtpd[7539]: input attribute value: 0
2025-05-02T15:33:20.717646+03:00 mail-smtp postfix/smtpd[7539]: private/anvil: wanted attribute: rate
2025-05-02T15:33:20.717693+03:00 mail-smtp postfix/smtpd[7539]: input attribute name: rate
2025-05-02T15:33:20.717747+03:00 mail-smtp postfix/smtpd[7539]: input attribute value: 1
2025-05-02T15:33:20.717795+03:00 mail-smtp postfix/smtpd[7539]: private/anvil: wanted attribute: (list terminator)
2025-05-02T15:33:20.717844+03:00 mail-smtp postfix/smtpd[7539]: input attribute name: (end)
2025-05-02T15:33:20.717915+03:00 mail-smtp postfix/smtpd[7539]: > mail-client.yyv83[192.168.0.101]: 503 5.5.1 Error: authentication not enabled
2025-05-02T15:33:20.717973+03:00 mail-smtp postfix/smtpd[7539]: smtp_stream_setup: maxtime=300 enable_deadline=0 min_data_rate=0
2025-05-02T15:33:20.718029+03:00 mail-smtp postfix/smtpd[7539]: smtp_get: EOF
---
 
Если клиент взаимодейтсвует с сервером напрямую, то все работает корректно, вот часть лога:
---
2025-05-02T14:58:39.796402+03:00 mail-smtp postfix/smtps/smtpd[6781]: match_list_match: 192.168.0.101: no match
2025-05-02T14:58:39.796459+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 250-mail.yyv83.dynv6.net
2025-05-02T14:58:39.796548+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 250-PIPELINING
2025-05-02T14:58:39.796659+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 250-SIZE 10240000
2025-05-02T14:58:39.796768+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 250-ETRN
2025-05-02T14:58:39.796847+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 250-AUTH PLAIN LOGIN
2025-05-02T14:58:39.796935+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 250-ENHANCEDSTATUSCODES
2025-05-02T14:58:39.797086+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 250-8BITMIME
2025-05-02T14:58:39.797165+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 250-DSN
2025-05-02T14:58:39.797227+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 250-SMTPUTF8
2025-05-02T14:58:39.797331+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 250 CHUNKING
2025-05-02T14:58:39.797412+03:00 mail-smtp postfix/smtps/smtpd[6781]: smtp_stream_setup: maxtime=300 enable_deadline=0 min_data_rate=0
2025-05-02T14:58:39.797466+03:00 mail-smtp postfix/smtps/smtpd[6781]: < mail-client.yyv83[192.168.0.101]: AUTH PLAIN
2025-05-02T14:58:39.797577+03:00 mail-smtp postfix/smtps/smtpd[6781]: match_hostname: smtpd_client_event_limit_exceptions: mail-client.yyv83 ~? 127.0.0.0/8
2025-05-02T14:58:39.797655+03:00 mail-smtp postfix/smtps/smtpd[6781]: match_hostaddr: smtpd_client_event_limit_exceptions: 192.168.0.101 ~? 127.0.0.0/8
2025-05-02T14:58:39.797746+03:00 mail-smtp postfix/smtps/smtpd[6781]: match_list_match: mail-client.yyv83: no match
2025-05-02T14:58:39.797821+03:00 mail-smtp postfix/smtps/smtpd[6781]: match_list_match: 192.168.0.101: no match
2025-05-02T14:58:39.797912+03:00 mail-smtp postfix/smtps/smtpd[6781]: send attr request = auth
2025-05-02T14:58:39.798016+03:00 mail-smtp postfix/smtps/smtpd[6781]: send attr ident = 465:192.168.0.101
2025-05-02T14:58:39.798083+03:00 mail-smtp postfix/smtps/smtpd[6781]: private/anvil: wanted attribute: status
2025-05-02T14:58:39.798148+03:00 mail-smtp postfix/smtps/smtpd[6781]: input attribute name: status
2025-05-02T14:58:39.798233+03:00 mail-smtp postfix/smtps/smtpd[6781]: input attribute value: 0
2025-05-02T14:58:39.798344+03:00 mail-smtp postfix/smtps/smtpd[6781]: private/anvil: wanted attribute: rate
2025-05-02T14:58:39.798434+03:00 mail-smtp postfix/smtps/smtpd[6781]: input attribute name: rate
2025-05-02T14:58:39.798508+03:00 mail-smtp postfix/smtps/smtpd[6781]: input attribute value: 1
2025-05-02T14:58:39.798660+03:00 mail-smtp postfix/smtps/smtpd[6781]: private/anvil: wanted attribute: (list terminator)
2025-05-02T14:58:39.798725+03:00 mail-smtp postfix/smtps/smtpd[6781]: input attribute name: (end)
2025-05-02T14:58:39.798787+03:00 mail-smtp postfix/smtps/smtpd[6781]: query milter states for other event
2025-05-02T14:58:39.798884+03:00 mail-smtp postfix/smtps/smtpd[6781]: milter8_other_event: milter inet:127.0.0.1:8891
2025-05-02T14:58:39.798986+03:00 mail-smtp postfix/smtps/smtpd[6781]: milter8_other_event: milter inet:127.0.0.1:33333
2025-05-02T14:58:39.799049+03:00 mail-smtp postfix/smtps/smtpd[6781]: xsasl_dovecot_server_first: sasl_method PLAIN
2025-05-02T14:58:39.799185+03:00 mail-smtp postfix/smtps/smtpd[6781]: xsasl_dovecot_handle_reply: auth reply: CONT?1?
2025-05-02T14:58:39.799275+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 334
2025-05-02T14:58:39.799434+03:00 mail-smtp postfix/smtps/smtpd[6781]: < mail-client.yyv83[192.168.0.101]: AG1haWxAeXl2ODMuZHludjYubmV0ADEyMzRRd2VyIQ==
2025-05-02T14:58:39.799513+03:00 mail-smtp postfix/smtps/smtpd[6781]: xsasl_dovecot_handle_reply: auth reply: OK?1?user=mail на yyv83.dynv6.net?proxy?host=mail-imap.yyv83
2025-05-02T14:58:39.799642+03:00 mail-smtp postfix/smtps/smtpd[6781]: > mail-client.yyv83[192.168.0.101]: 235 2.7.0 Authentication successful
2025-05-02T14:58:39.799731+03:00 mail-smtp postfix/smtps/smtpd[6781]: smtp_stream_setup: maxtime=300 enable_deadline=0 min_data_rate=0
---
 
 
--
Юрий Ястребов
----------- следующая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://freenginx.org/pipermail/nginx-ru/attachments/20250502/c7c50f0e/attachment-0001.htm>


Подробная информация о списке рассылки nginx-ru