Postfix: Habilitando autenticação via SMTP (Centos 7)

Olá ! Quem acompanha meus artigos pôde observar que atendo algumas demandas de envio de e-mails por aplicações com o Postfix. É um cenário interessante e com algumas peculiaridades, e o Postfix como sempre surpreende pela flexibilidade e desempenho, em um ambiente que configurei é gerado um volume médio de 500 mil mensagens por dia.

Na última demanda que recebi havia a necessidade de configurar um SMTP para aplicações com autenticação, isto é, os sistemas irão se autenticar e não serem liberados pela diretiva mynetworks. Para esta demanda as configurações foram feitas em um CentOS 7. A principal dúvida é como habilitar a autenticação no Postfix, e especialmente nestes cenários para aplicações, qual base utilizar para cadastro dos usuários.

Para atendar a demanda, irei utilizar como base para os usuários uma base local do SASL. Além do Postfix instalado, segue a relação de pacotes que devem estar instalados:

Captura de tela de 2014-12-08 14:50:50

Assumindo que você já tenha o Postfix com as configurações básicas instaladas, as seguintes configurações devem ser feitas para habilitar a autenticação no arquivo main.cf:

smtpd_sasl_path = sasl2/smtpd.conf
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

O arquivo /etc/sasl2/smtpd.conf deve ser criado com o seguinte conteúdo:

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

Efetuadas estas configurações, os serviço do SASL precisa ser iniciado e do Postfix recarregado. Para confirmar se o Postfix está com o suporte a autenticação, após conectar no mesmo e executar o comando EHLO o seguinte resultado deve ser apresentado:

Captura de tela de 2014-12-08 14:51:49

Observe as linhas que iniciam com “250=AUTH”, são as que indicam o suporte à autenticação.

Para criar os usuários, o comando saslpasswd pode ser utilizado. Veja o nosso exemplo com o usuário “autentica”:

saslpasswd -c autentica

Para testar a autenticação via TELNET, precisamos converter o usuário (autentica) e senha (123456) para Base64:

perl -MMIME::Base64 -e ‘print encode_base64(“00autentica00123456“);’

Captura de tela de 2014-12-08 14:51:07

Para testar de fato, conecte-se via TELNET e após executar o comando EHLO autentique-se com o seguinte comando:

AUTH PLAIN “Usuário e Senha em Base64”

A resposta para o comando deve ser “AUTHENTICATION SUCCESSFUL”

Caso queira controlar quais endereços cada usuário pode utilizar como remetente, é necessário configurar o controle de identidade no Postfix, que fica para um próximo artigo.

Referências:

http://wiki.centos.org/HowTos/postfix_sasl

Authenticated SMTP with Postfix on CentOS, the easy way

Anúncios

Um comentário sobre “Postfix: Habilitando autenticação via SMTP (Centos 7)

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s