Postfix: Contornando comandos incorretos de conexões SMTP
Dica publicada em Linux / Correio Eletrônico
Postfix: Contornando comandos incorretos de conexões SMTP
Olá!
É muito comum quando temos um servidor SMTP que será utilizado por aplicações, muitos comandos serem enviados com a sintaxe incorreta ou, até mesmo, estas aplicações enviarem comandos inválidos.
Para contornar este problema, podemos utilizar o parâmetro smtpd_command_filter no Postfix.
A diretiva smtpd_command_filter é descrita na documentação do Postfix como um último recurso para contornar clientes que enviam comandos incorretos ou inválidos, de fato.
Apesar das modificações que serão aplicadas, é possível aplicar restrições HELO, após utilizar esse parâmetro.
Vejamos um exemplo que pode ser utilizado para contornar clientes que enviam o HELO/EHLO sem estar seguido do FQDN:
Conteúdo do arquivo:
Desta forma, quando um cliente remoto enviar o HELO/EHLO sem estar seguindo do hostname, este comando será substituído por: HELO/EHLO nome.desejado
No log, será exibida uma entrada conforme abaixo, sempre que um comando por modificado pelo Postfix:
Obs.: funcionalidade disponível a partir da versão 2.7 do Postfix.
Obrigado.
Respirando Linux, por Fabio Soares Schmidt
É muito comum quando temos um servidor SMTP que será utilizado por aplicações, muitos comandos serem enviados com a sintaxe incorreta ou, até mesmo, estas aplicações enviarem comandos inválidos.
Para contornar este problema, podemos utilizar o parâmetro smtpd_command_filter no Postfix.
A diretiva smtpd_command_filter é descrita na documentação do Postfix como um último recurso para contornar clientes que enviam comandos incorretos ou inválidos, de fato.
Apesar das modificações que serão aplicadas, é possível aplicar restrições HELO, após utilizar esse parâmetro.
Vejamos um exemplo que pode ser utilizado para contornar clientes que enviam o HELO/EHLO sem estar seguido do FQDN:
smtpd_command_filter = pcre:/etc/postfic/command_filters
Conteúdo do arquivo:
/^HELO\s*$/ HELO nome.desejado
/^EHLO\s*$/ EHLO nome.desejado
/^EHLO\s*$/ EHLO nome.desejado
Desta forma, quando um cliente remoto enviar o HELO/EHLO sem estar seguindo do hostname, este comando será substituído por: HELO/EHLO nome.desejado
No log, será exibida uma entrada conforme abaixo, sempre que um comando por modificado pelo Postfix:
replacing client command "HELO" with "HELO nome.desejado"
Obs.: funcionalidade disponível a partir da versão 2.7 do Postfix.
Obrigado.
Respirando Linux, por Fabio Soares Schmidt