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.
Parte 5: 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
: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....
-----------------------------------
: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