O texto abaixo foi publicado no BR-Linux antes de 2005, e está mantido aqui por razões históricas.
Veja o material atualizado diariamente do BR-Linux em http://br-linux.org
Controle de spam com bogofilter + spamassassin
Publicado em 1 de setembro de 2003
O Fabio Rafael da Rosa, nosso colaborador habitual da Coluna Software, mandou um tutorial de autoria dele explicando como usar o bogofilter e o spamassassin em conjunto com o MTA de sua preser~encia (Sendmail, Postfix, Qmail ou outro) utilizando o procmail como ligação. COnfira! Controle de spam com bogofilter + spamassassin por Fabio Rafael da Rosa (f2r@users.sourceforge.net) Como tinha prometido na minha analise na coluna do software sobre o bogofilter, aqui vai um artigo de como integra-lo ao spamassassin, tendo assim uma solução "fantástica" para controle de spams. Primeiro de tudo: Instale o spamassassin (http://www.spamassassin.org) instale também o bogofilter (http://bogofilter.sourceforge.net), e instale também o procmail (se você já não tiver instalado). E' necessário um MTA também (qualquer um, mas, de preferência Exim ou postfix, que são bem simples de configurar). Não vou cobrir isso aqui, por que a instalação e' trivial, e nao e' o foco do artigo. Bom, depois de tudo instalado, vamos começar: O mecanismo funciona mais ou menos assim: O bogofilter mantem uma base de dados de emails que são marcados como spam, e uma outra base de dados de emails que não são spams. Baseado nessas bases de dados, ele realiza diversos testes no corpo da mensagem, para marca-la ou não como spam. Essa base de dados pode ser "treinada" pelo usuário, com emails que sejam spams e tenham passado pelo filtro (mais abaixo eu mostro como), e também pode ser "treinada" no caso de "falso positivo" (uma mensagem que não e' spam , ser marcada), o spamassassin mantém uma base de características conhecidas em mensagens que são spams, então, ele verifica a mensagem por esses "vestígios" de spam. Cada vestígio encontrado, aumenta a pontuação da mensagem. Quando essa pontuação atinge determinado nível (definido pelo usuário), o email e' marcado como spam. Bom, o mecanismo que eu estou usando aqui, e' uma versão simplificada de uma versão que li certa vez na internet (infelizmente perdi o site com a versão original). No meu caso, os emails São marcados, e eu trato isso no cliente de email (no meu caso, o sylpheed), que coloca os spams em uma pasta de email especial (para depois, eu dar uma leve olhada para verificar se ocorreu algum falso positivo). Porem , você pode usar isso como base, e criar mecanismos mais complexos para lidar com seus spams. Indo para a parte da marcação de mensagens em si: O que acontece e' que , o bogofilter analisa a mensagem primeiro. Caso ele a classifique como spam, ele marca a mensagem e passa pra frente (lembre-se que eu só' estou tomando providencias com essas mensagens no cliente de email). Porem, no caso de ele _não_ classificar a mensagem como spam, ele a encaminha para o spamassassin, para ser verificada novamente. Caso o spamassassin verifique que a mensagem não e' um spam, ele passa pra frente. A parte legal e' agora: caso o spamassassin verifique que a mensagem e' um spam (ou seja, ela conseguiu passar pelo filtro do bogofilter), ele retreina o bogofilter para reconhecer que aquela mensagem e' um spam. Assim, você consegue treinar o seu bogofilter de forma automática. Os dois programas trabalhando em conjunto conseguem barrar praticamente qualquer spam (e' muito difícil algum spam conseguir passar sem ser marcado, praticamente 1 a cada 80 ou 90 mensagens). Bom, para fazer essa integração dos dois, use o procmail. O meu arquivo .procmailrc fica assim: ------------------------- .procmailrc ------------------------------- :0e # Pegando o que foi classificado como nao-spam pelo bogofilter e jogando no # spam pego pelo spamassassin eh mandado de volta para o bogofilter, para Simples nao. :) $ cat spam.msg | bogofilter -Ns Essa linha treina o bogofilter para reconhecer aquela mensagem como spam, aumentando a base de testes para serem feitos nas mensagens. Caso alguma mensagem autentica seja marcada como spam (preste atenção a esse detalhe no começo, o sistema fica bastante afinado depois de alguns dias de uso e treinamento), salve a mensagem em um arquivo (no exemplo, mensagem.msg). Depois execute: $ cat mensagem.msg | bogofilter -n Outro detalhe importante para a sua sanidade: configure o MTA da sua maquina para não iniciar mais do que 10 ou 20 processos ao mesmo tempo (depende de quanta memoria você tem disponível). Se você tem muitas mensagens para ser analisadas, a maquina pode ficar totalmente "entupida" de processos e não fazer mais nada. Aqui tenho uma maquina com 256Mb de RAM, e disparo 20 processos por vez. Em casa, com 512, posso lançar 100 processos sem ter problema com a interatividade da maquina. No caso do exim , a linha e' a seguinte: smtp_accept_queue_per_connection = 20 veja a documentação do seu MTA para configurar esse parâmetro. :) Bom, e' isso. Essa configuração pode ser muito alterada, e pode ser configurada de milhares de outras formas, com outros controles. Eu dei a base para uma configuração caseira, a partir dai, e' com a sua imaginação. Qualquer duvida ou sugestão sobre o conteúdo desse tutorial, vocês Ate' a próxima ... f2r :) Postado por brain em setembro 1, 2003 12:02 AMComentários para "Controle de spam com bogofilter + spamassassin"
» Postado por: Adriel Lyra em setembro 2, 2003 10:30 AM, 200.244.74.:
» Postado por: thakilar em setembro 2, 2003 06:19 PM, 200.101.99.:
» Postado por: Denis em setembro 12, 2003 03:36 PM, 200.101.15.:
» Postado por: Jean em outubro 3, 2003 12:25 PM, 200.101.129:
» Postado por: Thiago em dezembro 3, 2003 11:46 AM, 200.165.45.:
» Postado por: Mauro em abril 26, 2004 01:55 PM, 200.217.55.:
» Postado por: Gledson Bispo em maio 18, 2004 02:52 PM, 161.148.9.2:
» Postado por: Patrick Brandao em julho 15, 2004 07:06 PM, 200.202.235:
Antes de comentar...
- Preserve a qualidade desta discussão - Leia os Termos de Uso. - Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum. - Mantenha o foco nos argumentos e no assunto - Não faça ataques pessoais. - Pense 5 vezes antes de entrar em discussões inúteis, como "qual é a melhor distribuição/ambiente gráfico/linguagem de programação/etc.", mesmo se alguém já tiver provocado - um erro não justifica o outro - Não seja um e-mala ;-) ![]() Envie seu comentário
|