Tabela de conteúdo |
O Postgrey é um programa que realiza filtros por greylist muito interssante pela simplicidade de configuração e ativação com o Postfix. Vamos adicionar suporte a Greylist no nosso sistema de e-mail com o Postgrey.
Apenas para quem não sabe, Greylist é a técnica de segurar o e-mail, esperando por uma segunda/terceira tentativa ou por um tempo. Quando o servidor tentar enviar novamente, o greylist vai atualizar o estado do e-mail e de fato entregá-lo para envio.
Este procedimento tem filtrado muitos spams porque no geral spammers enviam muitos e-mails, mas não reenviam, pois não são servidores válidos e reais, por isso essa estratégia é interessante.
Basta instalar o pacote:
# apt-get install postgrey
simples assim. Agora vamos ativá-lo de fato.
Para ativar o postgrey no sistema, precisamos editar seu arquivo de configurações default:
# vim /etc/default/postgrey POSTGREY_OPTS="--auto-whitelist-clients=10 --listen-queue-size=5 --delay=60 --privacy --inet=127.0.0.1:60000" POSTGREY_TEXT="Sorry, you cannot send mail for me before many minutes."
com estas duas linhas estamos permitindo que clientes sejam adicionados a uma lista branca depois de 10 envios com sucesso para nosso servidor, um atraso para a primeira tentativa de 60 segundos e com a porta de conexão local sendo 60000.
Pronto, podemos iniciar o postgrey:
# /etc/init.d/postgrey start
o serviço vai levantar corretamente, mas ainda não está filtrando nada. Para que o filtro seja de fato ativo devemos adicionar algumas entradas no arquivo main.cf do Postfix:
# vim /etc/postfix/main.cf
...
smtpd_helo_restrictions =
...
check_policy_service inet:127.0.0.1:60000
smtpd_sender_restrictions =
...
check_policy_service inet:127.0.0.1:60000
smtpd_recipient_restrictions =
...
check_policy_service inet:127.0.0.1:60000
estes ... significam que podem ter outras regras definidas antes ou depois.
Pronto, basta reinicilizar o Postfix:
# /etc/init.d/postfix restart
que vocês vão passar a ver linhas de log parecidas com:
Nov 21 14:16:49 filtro postgrey[577]: action=greylist, reason=new, client_name=
e com isso nosso greylist está funcionando e ativo.
Basta instalar o pacote:
# yum install postgrey
depois de instalado, precisamos definir como ele vai funcionar.
Basta editar o arquivo:
# vim /etc/sysconfig/postgrey OPTIONS="--inet=127.0.0.1:10023 --delay=60"
Com esta configuração o atraso de espera para a restransmissão será de 60 segundos e o serviço estará executando na porta 10023. Não esqueça de ativar o Postgrey durante a inicialização:
# chkconfig --level 345 postgrey on
Agora para que o Postfix e o Postgrey trabalhem juntos é necessário algumas mudanças no arquivo main.cf:
# vim /etc/postfix/main.cf
...
smtpd_helo_restrictions =
...
check_policy_service inet:127.0.0.1:10023
smtpd_sender_restrictions =
...
check_policy_service inet:127.0.0.1:10023
smtpd_recipient_restrictions =
...
check_policy_service inet:127.0.0.1:10023
estes ... significam que podem ter outras regras definidas antes ou depois. Pronto, basta reinicilizar o Postfix:
# service postfix restart
que vocês vão passar a ver linhas de log parecidas com:
Nov 21 14:16:49 filtro postgrey[577]: action=greylist, reason=new, client_name=
e com isso nosso greylist está funcionando e ativo.
--Brivaldo 02h36min de 16 de maio de 2011 (AMT)