Servidor de e-mail Postfix com Fetchmail, Procmail, Blockmail e antispam

Este artigo visa realizar a configuração passo-a-passo de um servidor de e-mail Postfix, com bloqueio de anexos e uma simples ferramenta de controle básico de SPAM. Partiremos desde a instalação do Mandrake Linux 9.1 até a configuração dos servidores e serviços necessários para o funcionamento do servidor.

[ Hits: 124.353 ]

Por: Adriano em 25/02/2004


Filtrando mensagens indesejadas com o Procmail



Introdução


O que é SPAM?
Fonte: http://www.spambr.org

Etimologicamente, o termo SPAM origina-se de um programa da série inglesa de comédia Monty Pyton, onde Vikings desajeitados, num bar, pediram repetida e exageradamente o termo SPAM, marca de um presunto enlatado americano.

A definição de SPAM do ponto de vista prático é o envio abusivo de correio eletrônico não solicitado em grande quantidade, distribuindo propaganda, correntes e esquemas de "ganhe dinheiro fácil". É o envio de correio tentando forçar a leitura pela pessoa que o recebe, que outrora sequer optou por este recebimento. Um desperdício de recursos da rede pago por quem recebe.

Observando de modo restrito, que mal faz enviar algumas centenas de correios em mala-direta para outrém? De modo mais amplo, quanto não se gasta levando em consideração o absurdo volume anual de correio eletrônico enviado?

No ambiente internet, "SPAM" significa enviar uma mensagem qualquer para qualquer quantidade de usuários sem primeiro obter a expressa e explícita autorização daqueles destinatários. Este procedimento, propiciado pelo baixo custo de envio de mensagem eletrônica, causa inconveniência e custo para o destinatário. O "spammer" (o autor do " SPAM") só está olhando para os seus interesses egoístas e imediatos. Ele é capaz de passar por cima de qualquer regra mínima de convivência. Às mensagens enviadas pelo "spammer", nos referimos como "Mensagens não solicitadas". Este não é o termo próprio, pois é um contrasenso admitir-se que alguém precisa de uma autorização especial para nos enviar uma correspondência. Na verdade, o que se quer é ter mecanismos que reduzam a níveis mínimos o volume de "junk emails" (mensagens "lixo") em nossas caixas postais eletrônicas. Nestas páginas você encontrará muitas dicas de como fazer para conseguir isto. Em muitos casos, vai descobrir, que é mais fácil livrar-se de mensagens eletrônicas inconvenientes do que de malas diretas impressas na sua caixa de correio.

Configuração


O procmail permite que se criem filtros que dão destino apropriado para as mensagens que chegam. Eu possuo vários filtros: para listas, mensagens indesejáveis e alguns outros.

Uma simples maneira de amenizar a entrada de SPAM no servidor de e-mail consiste em aplicar as seguintes regras que devemos incluir em nosso arquivo de configuração do Procmail, localizado em /etc/procmailrc.

Estou incluindo aqui a minha lista de filtros para o lixo que recebo. Cada filtro é composto de três linhas. A primeira linha indica o início de um novo filtro, a segunda indica os caracteres que devem ser encontradas para a regra ser aplicada e a terceira indica o destino que deve ser dado à mensagem. Para simplesmente apagar, redirecione a mensagem para /dev/null.

Neste caso estou encaminhando as mensagens recusadas para /var/log/refused-mail (append to a file --> create it with perms 666) e dentro deste diretório criei outros no qual encaminho as mensagens recusadas separadas por classe, para ficar mais fácil na hora de verificar o que foi descartado.

Vejamos os exemplos abaixo:

A busca por estes caracteres é feita no campo "Subject:", que é o padrão. Também podemos fazer o bloqueio por palavras que estejam no corpo da mensagem quando especificado: :0 B

Ou então aplicarmos o bloqueio por domínios, conforme os exemplos abaixo:

# Bloqueio por "Subject", ou seja, assunto das mensagens
:0
* ^Subject:.*(DINHEIRO|Dinheiro|dinehiro).*
/var/log/refused-mail

# Bloqueio por "corpo" das mensagens
:0 B
* (\ money\ |\ MONEY\ |\ Money\ )
/var/log/refused-mail/corp

# Bloqueio por domínios (considerados "podres")
:0
* ^From:.*(he-dma.org|theone.net|adultpatrol.com)
/var/log/refused-mail/domains

Estes são apenas exemplos de bloqueio de mensagens, adicione quantas linhas de comandos quiser para poder bloquear as mensagens conforme as suas necessidades.

Este bloqueio de SPAM é apenas uma simples configuração adicionada no arquivo procmailrc, existem diversas ferramentas disponíveis na internet, dentre elas podemos destacar o SpamAssassin. Para obter maiores detalhes visite: Espero que todos que lerem este artigo consigam realizar a configuração e que principalmente, consigam fazer funcionar.

Também, gostaria que vocês mandassem sugestões e críticas (construtivas) para um maior enriquecimento desse material.

Tentei utilizar uma forma simples e fácil de explicar a configuração deste servidor.

Qualquer coisa entrem em contado comigo através do site.

Boa Sorte a todos! :)
Até a próxima....

Página anterior    

Páginas do artigo
   1. Introdução
   2. Configurando o Postfix
   3. Configurando o fetchmail
   4. Blockmail: um filtro de anexos de e-mail
   5. Filtrando mensagens indesejadas com o Procmail
Outros artigos deste autor

Protegendo seu servidor de e-mail Postfix

Leitura recomendada

Instalação e configuração do Spamassassin

Autenticando e enviando e-mail diretamente através da linha de comando

Instalação do Postfix e OpenWebmail no Slackware

Migração Zimbra com Zextras Migration Tool

SlackwareBOX MTA

  
Comentários
[1] Comentário enviado por fabio em 25/02/2004 - 04:37h

Parabéns pelo artigo Adriano! Lá vai um byte de contribuição minha: se você usa o Procmail e quer fazer com que ele use o SpamAssassin para bloquear SPAM, basta acrescentar as seguintes linhas no /etc/procmailrc:

-----------------------------------
:0fw: spamassassin.lock
* < 256000
| spamc


:0:
* ^X-Spam-Status: Yes
/var/spool/mail/spam/
-----------------------------------

Ou seja, o primeiro bloco passa o SpamAssassin na mensagem e grava o cabeçalho X-Spam-Status. O segundo bloco verifica se o status é "Yes", caso seja, ele grava a mensagens em /var/spool/mail/spam/, evitando que a mensagem chegue ao receptor.

[]'s

[2] Comentário enviado por gustavo_marcon em 25/07/2004 - 21:14h

Galera, com o procmail criei a lista de palavras que devem ser bloqueadas e acontece que filtra os spams na boa. Porém eu preciso que o spamassassin roda, mas adicionei as regras acima como vc explicou mas dai o spamasassin ñ fez nada de filtragem. Alguma idéia?

[3] Comentário enviado por tarik7 em 10/09/2004 - 15:06h

cara... to usando o fetchmail que e uma beleza, so que tem um probleminha, meu log ta ficando mto grande, alguem sabe como eu posso fazer para que somente os erros do fetchmail irao para o log????

[4] Comentário enviado por gzanatta00 em 05/06/2007 - 08:18h

amigo estou com um problema q ja me atormenta
a muito tempo, meu servidor de e-mail envia e recebe
e-mails por um unico ip ex: 200.180....3,
que esta configurado dentro do bind ex:
pop3 IN A 200.180....3
smtp IN A 200.180....3
mail IN A 200.180.....3
E DENTRO DOs .cf que esta no diretorio
/etc/postfix, ..... entao eu pensei o seguinte
fazer com que o servidor enviasse e-mails pelo ip
200.180....4, e recebesse pelo ip 200.180...3
pq estou caindo quase todos os dias nas listas negras
e ja me cansei se ficar liberando e tal....
so que nao sei qual os arquivos q tenho q mudar...
ou se existe outra forma de acabar com isso

me de uma ajuda ai..

[5] Comentário enviado por deko2083 em 25/06/2007 - 16:06h

gzanata00, ja verificou seu DNS Reverso, uma das causas mais comuns de um endereço entrar em listas negras é pelo DNS REVERSO mal configurado.

Blz

[6] Comentário enviado por lipecys em 05/10/2007 - 08:46h

Valew aí, muito bom.

[7] Comentário enviado por bullitb3p em 12/05/2009 - 10:42h

Muito boa a materia... mas sugiro que ao invez de perderem tempo com procmail usem no main.cf as linhas

header_checks = regexp:/etc/postfix/header_checks
body_checks = regexp:/etc/postfix/body_checks

e façam o mesmo tipo de filtro pelo proprio postfix...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts