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:
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:
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“);’
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:
Um comentário sobre “Postfix: Habilitando autenticação via SMTP (Centos 7)”