autenticação de retransmissão Sendmail

1

Estou tentando configurar meu sendmail para autenticar em um relay (comcast). Eu não estou vendo nenhuma tentativa de autenticar a todos. Estou tentando apenas depurar como a autenticação funciona e não posso conectar todas as partes ...

Eu tenho, no meu arquivo .mc:

define('RELAY_MAILER_ARGS', 'TCP $h 587')dnl
define('SMART_HOST', 'relay:smtp.comcast.net.')dnl
define('confAUTH_MECHANISMS', 'PLAIN')dnl
FEATURE('authinfo','hash /etc/mail/client-info')dnl

E no meu / etc / mail / client-info:

AuthInfo:*.comcast.net "U:root" "I:comcast_user" "P:comcast_password"

Agora, eu sei que está tudo bem com o u / p, como eu poderia autenticar diretamente através do SMTP, usando o telnet.

Há duas coisas que não entendo.

  1. Quando os registros AuthInfo são pesquisados, eles são correspondidos pelo nome do host de destino. Como? Ele usa a chave do mapa (algo que eu esperaria), ou usa o chamado "Domain" (parâmetro "R:" que eu não configurei na minha linha auth-info)

  2. O que é "U:", realmente? O Sendmail README ( link ) diz que é "user (authoraztion id)" e "I:" é "authentication ID ". Isso sugere que meu nome de usuário deve estar em "U:", na verdade, mas o link diz que "eu : "é o seu nome de usuário remoto.

A sessão é assim:

[root@manticore]/etc/mail# sendmail -qf -v
Warning: Option: AuthMechanisms requires SASL support (-DSASL)

Running /var/spool/mqueue/p97CgcWq023273 (sequence 1 of 399)
[email protected]... Connecting to smtp.comcast.net. port 587 via relay...
220 omta19.westchester.pa.mail.comcast.net comcast ESMTP server ready
>>> EHLO my.host.name
250-omta19.westchester.pa.mail.comcast.net hello [my.ip.add.res], pleased to meet you
250-HELP
250-AUTH LOGIN PLAIN
250-SIZE 15728640
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-STARTTLS
250 OK
>>> STARTTLS
220 2.0.0 Ready to start TLS
>>> EHLO my.host.name
250-omta19.westchester.pa.mail.comcast.net hello [my.ip.add.res], pleased to meet you
250-HELP
250-AUTH LOGIN PLAIN
250-SIZE 15728640
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 OK
>>> MAIL From:<> SIZE=2183
550 5.1.0 Authentication required
MAILER-DAEMON... aliased to postmaster
postmaster... aliased to root
root... aliased to [email protected]
postmaster... aliased to root
root... aliased to [email protected]
>>> RSET
250 2.0.0 OK


[root@manticore]/etc/mail# sendmail -d0.1
Version 8.14.3
 Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
                NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS PIPELINING SCANF
                SOCKETMAP STARTTLS TCPWRAPPERS USERDB XDEBUG

Obrigado   Pawel.

    
por Pawel Veselov 09.10.2011 / 08:39

2 respostas

1

if FEATURE('authinfo') is used, then the hostname in the map entry must match exactly the hostname of the ISP mailserver

Veja no seu SMART_HOST + informações para o cliente

What is "U:", really?

Bem, Autenticação SMTP está em inglês puro

U user (authorization) id

I authentication id

...

User or authentication id must exist as well as the password. All other entries have default values. If one of user or authentication id is missing, the existing value is used for the missing item.

    
por 10.10.2011 / 10:49
1

Minha solução foi muito simples. O sendmail padrão do OpenBSD não possui o sinalizador SASL configurado, e não pode fazer nenhuma autenticação, mesmo texto simples. Eu realmente esperava que o SASL fosse usado apenas para autenticação "avançada". Minha saída do -d0.1 mostra claramente nenhum sinalizador SASL.

Para quem tem o mesmo problema: esta página ( link ) vagamente (não é um passo-a-passo como-para-consertar-a página do OpenBSD-sendmail-para-SASL) explica os passos necessários para percorrer. Basicamente, - faça o download da origem do userland e reconstrua o sendmail com o sinalizador -DSASL.

P.S. Eu acho que o "U:" é realmente o usuário que executa o sendmail, onde "I:" é o usuário para autenticar no cliente.

    
por 11.10.2011 / 07:47

Tags