Como ativar a autenticação SMTP?

1

Como ativar a autenticação SMTP?

Quando tento enviar um e-mail de um e-mail registrado em meu servidor de e-mail ([email protected]) para meu e-mail icloud (@ icloud.com), eu o recebo de volta:

Mail from IP (my.ip.rigth.here) was rejected due to listing in Spamhaus
PBL. For details please see
http://www.spamhaus.org/query/bl?ip=my.ip.rigth.here

E quando eu acesso esse link, vejo isso em vermelho:

Mail from IP (my.ip.rigth.here) was rejected due to listing in Spamhaus Outbound Email Policy of The Spamhaus Project for this IP range:

This IP address range has been identified by Spamhaus as not meeting our policy for IP addresses permitted to deliver unauthenticated 'direct-to-mx' email to PBL users. Important: If you are using any normal email software (such as Outlook, Entourage, Thunderbird, Apple Mail, etc.) and you are being blocked by this Spamhaus PBL listing when you try to send email, the reason is simply that you need to turn on "SMTP Authentication" in your email program settings. For help with SMTP Authentication or ways to quickly fix this problem click here.

See also: (link here about the Spamhaus PBL)

Como posso ativar a autenticação SMTP? Eu segui este tutorial até o osso: link

Eu tentei fechar a porta 25 no meu roteador ISP, mas com isso eu não posso receber e-mails, exceto do mesmo e-mail que a recebe ([email protected])

no meu cliente de e-mail MAC, vejo que só usa as portas 587 para SMTP e 993 para IMAP.

A minha pergunta é como posso ativar a autenticação SMTP? ou talvez ignorar o Spamhaus?

    
por DiogoSaraiva 22.04.2015 / 15:06

1 resposta

2

Eu escrevi um tutorial há um tempo atrás no SMTP auth no Postfix. A fonte pode ser encontrada no link .

TLS

Sempre que você envia uma senha pela rede, ela deve ser criptografada. Adicione os seguintes parâmetros ao seu main.cf para ativar o TLS:

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

É claro que você precisa ter certeza de que as opções cert_file estão apontando para certificados válidos. Os certificados de serpentro padrão devem ser seguros o suficiente para a maioria dos usuários, mas você sempre pode comprar alguns certificados assinados pela CA.

Você pode testar o TLS usando o utilitário OpenSSL

$ openssl s_client -starttls smtp -crlf -connect 127.0.0.1:25
CONNECTED(00000003)
[output truncated]
SSL handshake has read 1646 bytes and written 354 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: 17C511889EDC11109C9F71C16F7F70AB9B8868129C4B796F96B2F0A68E581A8E
    Session-ID-ctx:
    Master-Key: E391BF9B8940CD36D5E98BC5FAF05860E86AAE4667D5E8E87081AD4A98A7EA91F770790C053A2ECCA42AD2937AD83F90
    Key-Arg   : None
    Start Time: 1365632805
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
250 DSN
quit
221 2.0.0 Bye
closed
$

SASL

O SMTP não possui nenhum recurso de autenticação integrado, mas pode ser estendido usando a estrutura SASL. SASL é descrito no RFC4422. Para manter as coisas simples, usaremos o PAM como um back-end de autenticação. Consulte o saslauthd (8) para obter mais informações sobre backends de autenticação.

Para configurar o SASL: Instale todos os pacotes necessários para o SASL:

 $ sudo apt-get install libsasl2-2 sasl2-bin libsasl2-modules

Edite /etc/default/saslauthd . Você pode deixar as configurações padrão, mas verifique se elas correspondem:

[...]
START=yes
MECHANISMS="pam"
THREADS=1
[...]
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

Crie /etc/postfix/sasl/smtpd.conf :

saslauthd_version: 2
pwcheck_method: saslauthd
mech_list: plain login

Modifique /etc/postfix/main.cf :

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
   permit_sasl_authenticated,
   permit_mynetworks,
   check_relay_domains

Adicione o usuário postfix ao grupo sasl Unix:

$ adduser postfix sasl
Start the SASL daemon and restart Postfix:
$ /etc/init.d/saslauthd start
$ /etc/init.d/postfix restart

Você pode testar a funcionalidade SMTP AUTH criando um hash base64 de sua senha e usando-a para fazer logon:

$ printf '
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
%s
$ openssl s_client -starttls smtp -crlf -connect 127.0.0.1:25
CONNECTED(00000003)
[output truncated]
SSL handshake has read 1646 bytes and written 354 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: 17C511889EDC11109C9F71C16F7F70AB9B8868129C4B796F96B2F0A68E581A8E
    Session-ID-ctx:
    Master-Key: E391BF9B8940CD36D5E98BC5FAF05860E86AAE4667D5E8E87081AD4A98A7EA91F770790C053A2ECCA42AD2937AD83F90
    Key-Arg   : None
    Start Time: 1365632805
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
250 DSN
quit
221 2.0.0 Bye
closed
$
%s' 'username' 'password' | openssl base64 AHVzZXJuYW1lAHBhc3N3b3Jk $ telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.gallische-dorp.net ESMTP Postfix EHLO localhost 250-mail.gallische-dorp.net 250-PIPELINING 250-SIZE 20480000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN AUTH PLAIN AHVzZXJuYW1lAHBhc3N3b3Jk 235 2.7.0 Authentication successful quit 221 2.0.0 Bye Connection closed by foreign host.
    
por 22.04.2015 / 15:34