não pode se conectar ao postfix com um cliente de e-mail

1

Eu tenho tentado configurar o MX no meu servidor e consegui fazer com que a parte do IMAP funcionasse sob SSL usando o Dovecot, no entanto não consigo fazer a parte do SMTP trabalhar usando o Dovecot como a Autenticação SASL.

Quando eu telnet example.com 587 , o ehlo me dá o seguinte:

250-example.com
250-PIPELINING
250-SIZE 30720000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

Não há autenticação no ehlo, no entanto, se eu fizer o ehlo over openssl s_client -starttls smtp -connect example.com:587 , recebo o seguinte:

250-example.com
250-PIPELINING
250-SIZE 30720000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

E o login simples, usando a base64 de '\ 0username \ 0password', retorna OK . Eu acho que o problema aqui não é o SASL, pois os usuários são autenticados e o problema está na conexão, mas não tenho idéia do que pode causar esse problema. Como minhas restrições de destinatários não permitem a passagem de usuários autenticados não SASL, o telnet padrão me causa um erro. Como posso adicionar o SASL à conexão padrão não STARTTLS, para que eu possa usá-lo com meu cliente de correspondência?

Aqui está o meu main.cf:

## SASL
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes

## SSL/TLS
smtpd_tls_received_header = yes
smtpd_tls_auth_only = yes
smtpd_tls_cert_file=/etc/postfix/ssl/smtpd.cert
smtpd_tls_key_file=/etc/postfix/ssl/smtpd.key
smtpd_tls_ask_ccert = yes
smtpd_use_tls=yes
smtp_use_tls=yes
smtpd_tls_log_level = 2
smtp_tls_note_starttls_offer = yes
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_protocols = SSLv3, TLSv1
tls_random_source = dev:/dev/urandom

message_size_limit = 30720000
smtpd_helo_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_hostname, 
    reject_invalid_hostname, permit

smtpd_sender_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_sender, 
    reject_unknown_sender_domain, reject_unauth_pipelining, permit

smtpd_recipient_restrictions = reject_unauth_pipelining, 
    permit_mynetworks, reject_non_fqdn_recipient, 
    reject_unknown_recipient_domain, reject_unauth_destination, permit

smtpd_data_restrictions = reject_unauth_pipelining

smtpd_sender_restrictions = reject_unknown_sender_domain

mydestination = localhost, example.com
mynetworks = 127.0.0.0/8
inet_interfaces = all

virtual_transport = lmtp:unix:private/dovecot-lmtp

virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = mysql:/etc/postfix/mysql/virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql/virtual_domain_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf
  • EDIT: Tornou a pergunta anterior mais específica. *

  • UPDATE: Eu instalei o roundcube e enviei o e-mail através do cliente e ele funcionou, no entanto, ainda não consigo fazer a autenticação funcionar com um servidor externo.

  • UPDATE # 2: Eu encontrei estas linhas no meu arquivo de log ao tentar se conectar ao servidor através de SSL na porta 587

    warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
    connect from 93.88.82.66
    SSL_accept error from 93.88.82.66: lost connection
    lost connection after STARTTLS from 93.88.82.66
    disconnect from 93.88.82.66
    
  • UPDATE # 3: Funcionou depois que eu reiniciei o postfix e o dovecot (não recarreguei)

por Gasim 12.08.2014 / 08:44

1 resposta

4

Eu sei que isso não está respondendo a sua pergunta, mas:

Não.

Use o seu cliente de e-mail com o STARTTLS, que, como você diz, funciona bem com o seu servidor. Não é uma boa ideia enviar credenciais por meio de uma conexão não criptografada.

Você não declara o motivo pelo qual deseja fazer autenticação SMTP não criptografada, então só posso adivinhar - se você tem um cliente de e-mail que não pode fazer STARTTLS (ou, alternativamente, o TLS se conecta desde o início, também conhecido como SMTPS , para a porta 465), você deve trabalhar para proteger o lado do cliente, não para enfraquecer o servidor.

    
por 12.08.2014 / 12:00