Como configurar o bloqueio de spam milter-greylist no Sendmail
Praticamente todas as distribuições do Linux incluem o sendmail como o MTA padrão. O que é bom - já existe há muito tempo, é estável e funciona muito bem (embora os aficionados do postfix possam discordar!). Mas não tem nada embutido no controle de spam, o que é bom; não foi projetado para isso. Então você instalou o spamassassin e funciona bem, mas você ainda está recebendo e-mails de spam não sinalizados. Talvez você precise tentar greylisting.
Greylisting é o processo pelo qual todos os emails (a menos que especificamente whitelisted) são inicialmente rejeitados, mas ainda funcionam dentro dos parâmetros dos vários RFCs para garantir o recebimento de e-mails. A ideia é que os spammers não tentem se reconectar a um servidor de e-mail que tenha rejeitado suas ofertas, ainda que servidores de e-mail legítimos o façam. Não é infalível - os spammers são rápidos em ajustar e greylisting existe há muito tempo. Mas isso ajuda.
Este artigo é sobre como instalar o milter-greylist que foi originalmente escrito por Emmanuel Dreyfus. Eu vou estar me concentrando com o sendmail aqui, mas o milter-greylist também é suportado com o postfix.
Primeiro, verifique suas dependências. Do README:
Construa dependências:
- flex (lex AT & T não pode construir fontes greylist-milter)
- yacc ou bison (alguns yacc mais velhos falharão, use bison em vez disso)
- libmilter (vem com o Sendmail, ou com o sendmail-devel
pacote em RedHat, Fedora e SuSE. Debian e Ubuntu tem isso
no libmilter-dev)
- Qualquer biblioteca de threads POSIX (fornecida pela libc em alguns sistemas)Dependências opcionais:
- libspf2, libspf_alt ou libspf, para suporte a SPF
- libcurl, para suporte a verificações de URL
- libGeoIP, para suporte a GeoIP
- libbind do BIND 9, para suporte a DNSRBL, exceto se o seu sistema tiver um resolvedor de DNS com thread seguro embutido.
Mas o processo de configuração irá encontrar qualquer coisa que você não tenha instalado e reclamar até que a dependência seja resolvida..
Em seguida, baixe o greylist-milter de http://hcpnet.free.fr/milter-greylist e descompacte o tarball. Então leia o arquivo README! Ele inclui uma grande quantidade de informações que não são abordadas neste artigo, especialmente para instalações que desejam / precisam incluir recursos especiais, como suporte a SPF.
E faça o habitual
./ configure
./faço
./ make install
A instalação padrão colocará os binários em / usr / local / bin, o banco de dados e o arquivo pid em / var / milter-greylist e o arquivo de configuração será /etc/mail/greylist.conf. Alguns scripts de inicialização estão incluídos no tarball, mas não são instalados automaticamente. Você terá que configurá-lo em seu /etc/init.d você mesmo se quiser usar um.
Você precisará configurar o sendmail para realmente usar o milter. No seu arquivo sendmail.mc, adicione o seguinte (mas preste muita atenção aos avisos no arquivo README se você já estiver usando outros milters em sua instalação!):
INPUT_MAIL_FILTER ('greylist', 'S = local: /var/milter-greylist/milter-greylist.sock') dnl
define ('confMILTER_MACROS_CONNECT', 'j, if_addr') dnl
define ('confMILTER_MACROS_HELO', 'verify, cert_subject') dnl
define ('confMILTER_MACROS_ENVFROM', 'i, auth_authen') dnl
define ('confMILTER_MACROS_ENVRCPT', 'greylist') dnl
e reconfigure seu arquivo sendmail.cf:
# m4 sendmail.mc> sendmail.cf
Não reinicie seu daemon do sendmail ainda, no entanto - ainda temos que modificar a configuração para que isso funcione corretamente.
Abra o /etc/mail/greylist.conf no seu editor favorito (que, claro, é o vi, certo?).
Remova o comentário ou adicione o seguinte:
quieto
greylist 7m
dumpfreq 1d
autowhite 10d
Na configuração acima, 'quiet' não incluirá um período de tempo para repetir o envio. Isso é bom, então não há como os spammers saberem quanto tempo serão bloqueados. O greylisting será por 7 minutos após o qual o e-mail da fonte será aceito, o conteúdo do banco de dados será enviado para o /var/milter-greylist/greylist.db uma vez por dia e, uma vez que um e-mail for aceito de uma fonte, essa fonte será colocado na lista de permissões por 10 dias antes de ser greylisted novamente.
Também crie listas para colocar suas próprias redes na lista de permissões para o arquivo de configuração:
lista "minha rede" addr 127.0.0.1/8 10.230.1.0/24 192.168.1.0/24
qual lista de permissões locais, DMZ e redes internas (como exemplo - as suas provavelmente são diferentes). Observe o espaço entre os endereços de rede, não vírgulas.
Juntamente com outras redes externas que são sempre confiáveis:
# Redes confiáveis para não greylist:
lista "confiável" addr
207.46.0.0/16 # Microsoft
72.33.0.0/16 # UW Madison
Existe uma lista bastante abrangente de servidores de mailers 'quebrados' no arquivo de configuração que também devem estar sempre na lista de permissões, pois a lista cinza provavelmente resultaria em nunca receber e-mails deles. Você pode adicionar a essa lista conforme necessário também se precisar.
Provavelmente você configurará o greylisting como padrão, assim você também pode colocar na lista de permissões certos usuários que nunca querem que o e-mail seja atrasado (vários vice-presidentes pomposos, endereços de alerta do sistema e afins):
# Lista de usuários que querem whitelisting (se greylisting é o padrão):
listar "usuários brancos" rcpt
[email protected]
[email protected]
[email protected]
Observe os nomes das listas "minha rede", "confiável" e "usuários brancos" - você precisa adicioná-los à linha de configuração da lista de permissões real:
# E aqui está a lista de acesso
lista de listas de permissões racl "minha rede"
lista de listas de permissões racl "mta quebrado"
lista de lista de permissões racl "confiável"
Lista de lista branca de permissões "usuários brancos"
Nota: Você também pode configurá-lo para whitelist como o padrão, caso em que você também criaria uma lista de "usuários cinzentos" daqueles folk que você deseja sempre estar sujeito a greylisting. Aqueles incluem usuários errantes que postam seu endereço de e-mail de trabalho em sites de redes sociais, sites de vendas e assinaturas de boletins, é claro.
Em seguida, configure a operação padrão de milter-greylist:
padrão greylist racl
(use o padrão whitelist racl se você quiser que a lista branca seja a operação padrão).
E, em seguida, acione seu binário greylist-milter usando o script de inicialização /etc/init.d/milter-greylist ou
# milter-greylist -f /etc/mail/greylist.config
na linha de comando. Há uma série de outras opções de linha de comando (muitas das quais duplicam os parâmetros definidos no arquivo conf). Vejo
homem milter-greylist
para mais detalhes.
E então reinicie seu daemon do sendmail e desfrute de menos spam vindo em seu servidor de e-mail.