Você sabia que quase 65% do tráfego SMTP na web é SPAM? Nesse artigo ensinarei como criar um anti-SPAM por confirmação de mensagens, igual ao usado por certo provedor no Brasil, além de umas técnicas muito interessantes que eles não tem. Morte ao SPAM!
Este artigo pode ser distribuído, publicado, impresso e copiado de todas as formas e meios possíveis, desde que se mantenha o nome, a página web e o e-mail do autor no cabeçalho, em local visível, abaixo do título e com a letra maior ou igual a usada no texto.
É segunda-feira, você chega no serviço, abre o cliente e e-mail, e de repente, chove mensagem: "Viagra", "Trabalhe em casa", "Você está sendo traído", "Livre-se das multas", etc...
Depois de implementar o SpamAssassin, a redução é drástica, mas não total, infelizmente você corre o risco de ter uma mensagem legítima excluída e o risco aumenta a medida que você abaixa o nível, tornando o SpamAssassin mais agressivo. Programá-lo para apenas marcar as mensagens como SPAM ajuda, mas você de qualquer maneira, vai perder tempo separando algo do lixo.
Então, qual a solução?
Os spammers, pessoas desprezíveis, usam sistemas de envio de mensagens em massa, a maioria, um simples arquivo de texto com uma lista de endereços e um script que passa linha por linha enviando uma cópia do SPAM para cada um. Os mais modernos, tem sistemas com dicionários e funções de detecção de endereço de e-mail válido, sugando páginas de sites de busca, verdadeiros ROBÔS. Os mais sofisticados usam softwares que balanceiam o SPAM entre servidores de relay aberto, de forma que nem bloqueando por IP resolverá.
O detalhe interessante é que quando os SPAM´s são enviados usando remetentes inexistentes, o e-mail tende a voltar para o remetente (inventado pelo maligno), que não usa uma caixa postal válida. O resultado disso é uma fila enorme de mensagens em busca de um fim. Um dos servidores de e-mail que gerencio, certa vez chegou a ter 136 mil mensagens no queue, sendo que havia apenas 900 caixas válidas.
Bloquear o endereço do remetente é perca de tempo. Por que?
Os spammers criam strings aleatórias para o usuário no campo "From:" do SPAM e um domínio válido, e usam servidores open-relay aleatórios também, por exemplo:
From: xyz@yahoo.com.br
To: vitima@dominio.com
Subject: compre viagra, baratinho!
Assim, você bloqueia o xyz@yahoo.com.br, para que os SPAM´s sejam bloqueados, mas o próximo SPAM logo atrás dele terá o cabeçalho:
From: abc123@yahoo.com.br
To: vitima@dominio.com
Subject: compre viagra, baratinho!
Então vamos pelo assunto!
Bloqueia tudo que tiver "viagra" no assunto, e o próximo e-mail será:
From: xyz@yahoo.com.br
To: vitima@dominio.com
Subject: compre V 1 4 G R 4!
Se você bloquear o domínio yahoo.com.br, vai ter problemas de verdade, pois e-mails legítimos serão afetados.
Conclusão do texto acima: spammers não recebem retornos por e-mail, apenas usuários legítimos, os sacanas não querem um reply de seu lixo, apenas que você leia o conteúdo ou visite o link indicado. Eles são malignos, conhecem bem os anti-spam's existentes e vivem criando e-mails capazes de burlar a avaliação dos mesmos.
Nesse artigo você vai aprender como implementar, personalizar e dar suporte a um servidor de e-mail com o anti-SPAM ASK, cujo funcionamento é igual e superior ao anti-SPAM UOL!
O objetivo é ter na caixa de entrada, apenas endereços de e-mail de pessoas legítimas, que pretendem receber retorno das mensagens enviadas.
[2] Comentário enviado por Snails em 07/07/2006 - 16:31h
Kra, dei uma lida legal nos sites do ASK.....muito bom mesmo..só meio complicadinho de entender...
Remexendo muuuito achei uma opção para os lunáticos presos em Windows...chama-se Afw(ASK for Windows), vo coloca o link no final do comentário...
Mas minha duvida é a respeito do ASK em geral, ele é um servidor de e-mail ou ele roda por cima do meu servidor real ????
Quero coloca issu num servidor, mas ele é Windows e tem um servidor de e-mail rodando...e não tenhu como troca.
Se souber isso, me fala aew kra q to precisando urgentemente dessa ferramenta rodando la..
Vlw kra e até mais ver...
[3] Comentário enviado por patrickbrandao em 07/07/2006 - 16:56h
O ASK é basicamente scripts em Python que intermedia a escrita da mensagem na caixa do servidor. Em vez de escrever na caixa de entrada do usuário no servidor, o MDA deve entregar ao ASK.
Para rodar em windows, seu servidor deve ter suporte a python, maildir ou mailbox. Talvez algumas alterações sejam necessárias no ASK.
[5] Comentário enviado por lucasbrescia em 17/07/2006 - 11:04h
Como eu realizo esta configuração no sendmail já que o sendmail não utiliza o vpopmail e sim o procmail. a diferença para realizar a configuração é muito diferente?
Obrigado.
[8] Comentário enviado por lucasbrescia em 19/07/2006 - 10:17h
Não irei mais utilizar o procmail, irei fazer este serviço usando o .forward ja estou configurando quase tudo, porem preciso saber se tenho que definir valor desta variavel rc_askdir = ${HOME}/.ask com o diretorio home do usuario pq o arquivo " .ask" esta sendo gravado no /root? isto é norma?
[9] Comentário enviado por pbhost em 03/08/2006 - 13:54h
Amigo se puder me ajudar agradeço, estou tendo problemas, após fazer conforme indicado por você quando mando um email para o contato volta a seguinte mensagem:
ERROR: No confirmation templates found! Exiting...
Attention:
/The system could not deliver your message due to a technical problem.
Information about the problem has been recorded locally for analysis.
/--- Problem Details ---
/Traceback (most recent call last):
File "/usr/share/ask/askfilter", line 60, in ?
config = askconfig.AskConfig(sys.argv)
File "/usr/share/ask/askconfig.py", line 96, in __init__
self.__read_config(self.rcfile)
File "/usr/share/ask/askconfig.py", line 237, in __read_config
sys.exit(self.RET_PROCMAIL_CONTINUE)
SystemExit: 0
/-----------------------
[13] Comentário enviado por rogerio.dega em 14/08/2006 - 14:11h
Patrick,
(Ainda não é uma contribuição, assim que eu conseguir utilizar será)
estou utilizando (tentando) com sendmail e tenho o meu .forward assim
configurado: |/usr/bin/askfilter --loglevel=5 --logfile=var/log/ask.log --home=/home/teste
para o usuário teste e estou recebendo este erro:
----- The following addresses had permanent fatal errors -----
|/usr/bin/askfilter --loglevel=5 --logfile=var/log/ask.log --home=/home/teste
(reason: Service unavailable)
(expanded from: <teste@twa.com.br>)
----- Transcript of session follows -----
smrsh: "teste" not available for sendmail programs (stat failed)
554 5.0.0 Service unavailable
devo substituir o .forward pelo .procmailrc no diretório do usuário ?
Rogério.
obrigado pela atenção.
rogerio.degasperi@terra.com.br
[15] Comentário enviado por rogerio.dega em 29/08/2006 - 12:07h
E aí Patrik,
o que eu faço com este erro que está acontecendo no utilização
do ASK ?
para o usuário teste e estou recebendo este erro:
----- The following addresses had permanent fatal errors -----
|/usr/bin/askfilter --loglevel=5 --logfile=var/log/ask.log --home=/home/teste
(reason: Service unavailable)
(expanded from: <teste@twa.com.br>)
[17] Comentário enviado por adrielj em 12/09/2006 - 16:37h
eae Patrick
gostaria de saber se tem como tirar esta mensagem que vai na confirmação do email
This email account is protected by:
Active Spam Killer (ASK) V2.5.3 - (C) 2001-2004 by Marco Paganini
For more information visit http://www.paganini.net/ask
[18] Comentário enviado por vinicius.almeida em 22/09/2006 - 12:38h
Estou com um pequeno problema, ele inclui o email na caixa postal sem eu responder o tira teima. depois quando eu respondo o tira teima ele manda mais uma copia do email.
Alguem entendeu e pode me ajudar??
[21] Comentário enviado por c.rafael em 27/11/2006 - 11:22h
Olá Patrick Brandao,
Outra quetão!!!,
implementei tudo direitinho como no artigo. Porém consigo enviar email para o email correspondente e não estou recebendo nenhum email de confirmação ou qualquer outro email.
[22] Comentário enviado por patrickbrandao em 27/11/2006 - 14:38h
Bom, uma boa ideia e verificar logs, principalmente na pasta do dominio, se exitir arquivos iniciando com ASK, leia-os. Eles devem conter os erros encontrados, seguir os logs do qmail tb é uma boa ideia.
[24] Comentário enviado por doubt_linux em 08/12/2006 - 10:40h
Uma duvida, tenho o ask instalado e rodando normalmente, mas eu gostaria de modificar quando ele envia a mensagem de confirmação ele manda com o seguinte assunto:
Please confirm (uma numeração)
[27] Comentário enviado por vinicius.almeida em 29/01/2007 - 13:53h
estou usando o ASK com QMAIL, funciona perfeitamente! o problema é com os usuários que contém . exemplo: qmail-vinicius.almeida qmail-thiago.senna, estes 2 usuários não funcionam. agora quando tem somente o primeiro nome funciona, alguém sobe o que pode ser?
[28] Comentário enviado por vinicius.almeida em 30/01/2007 - 10:14h
consegui fazer funcionar, se vcs tb passarem por isso é só colocar ":" no lugar do "."
Exemplo: .qmail-vinicius.almeida, vai ficar .qmail-vinicius:almeida
valeu !
[29] Comentário enviado por JØK3® em 17/08/2007 - 09:05h
kra, na minha fila de e-mails no queue/mess, tem varios e-mails destinados a usuarios que eu ja exclui da lista.
Como faço para bloquear estas mensagens destinadas a eles?
Vlw!
[30] Comentário enviado por anderssom em 10/09/2007 - 12:26h
Prezado... Instalei o ask em um servidor slackware 10 com Postfix e está funcionando legal, mas estou tendo problemas com os usuários que possuem alias. Pois quando um e-mail é enviado para um destes alias todas as contas que pertencem a ele enviam a aconfirmação. O que pode ser feito para melhorar isso. Desde já agradeço.
[31] Comentário enviado por jonathangil em 16/11/2007 - 14:36h
usr/local/lib/python2.4/whrandom.py:38: DeprecationWarning: the whrandom module is deprecated; please use the random module
DeprecationWarning)
Attention:
/The system could not deliver your message due to a technical problem.
Information about the problem has been recorded locally for analysis.
/--- Problem Details ---
/Traceback (most recent call last):
File "/usr/local/bin/askfilter", line 66, in ?
rc = ask.filter(sys.stdin)
File "/usr/local/lib/ask/askmain.py", line 94, in filter
self.msg.read(filehandle)
File "/usr/local/lib/ask/askmessage.py", line 115, in read
self.fh = open(self.tmpfile, "w")
IOError: [Errno 13] Permission denied: '/usr/local/vpopmail/domains/logiminasgerais.com.br/.ask/tmp/tmpNqBf8B.34117.msg'
[32] Comentário enviado por ricardoolonca em 04/01/2008 - 19:20h
Aqui uso Qmail em um Red Hat 7.3, eu tive que fazer algumas mudanças:
1- atualizar o python para a versão 2.2.1.
2- modificar a primeira linha do /usr/share/ask/askfilter para #!/usr/bin/python2.2
3- alterar as permissões na pasta de log (/var/log/ask) e na .ask das caixas postais.
[35] Comentário enviado por nepsck em 12/02/2010 - 11:21h
Bom dia!
Implatei o ask no postfix +courier esta funcioando 100%, estou com duvida somente em uma parte, como faço para que os usuarios do email tenham acesso para cadastrar ou deletar os contatos, na whitelist ou mesmo na black, ou mesmo ter acesso aos emails que estao no queue
[36] Comentário enviado por lpossamai em 28/03/2011 - 14:50h
Boa tarde !
utilizo postfix + smtpd
Fiz os procedimentos, quando mando um e-mail para a conta que ativei o ASK, me retorno o seguinte erro:
LEGENDA: lucas@exemplo.com.br - USUÁRIO QUE TEM O ASK ATIVADO
lucas2@exemplo.com.br - Usuário remetente
Your message to <lucas@exemplo.com.br> was automatically rejected:
Internal quota calculation error
Reporting-UA: mail; Dovecot Mail Delivery Agent
Final-Recipient: rfc822; lucas@exemplo.com.br
Original-Message-ID: <ba1feb3de789dccba1746b2d4c859f3c@exemplo.com.br>
Disposition: automatic-action/MDN-sent-automatically; deleted
Return-Path: <lucas2@exemplo.com.br>
Delivered-To: lucas@exemplo.com.br
Received: from localhost (localhost [127.0.0.1])
by mail.exemplo.com.br (Postfix) with ESMTP id 14F27171806A
for <lucas@exemplo.com.br>; Mon, 28 Mar 2011 14:46:10 -0300 (BRT)
X-Virus-Scanned: amavisd-new at exemplo.com.br
X-Spam-Flag: NO
X-Spam-Score: -187.195
X-Spam-Level:
X-Spam-Status: No, score=-187.195 required=6.2 tests=[ALL_TRUSTED=-100,
AWL=-0.870, DNS_FROM_OPENWHOIS=2.431, FH_DATE_PAST_20XX=3.384,
TVD_RCVD_IP=1.617, TVD_RCVD_IP4=3.344, TVD_SPACE_RATIO=2.899,
USER_IN_WHITELIST=-100] autolearn=no
Received: from mail.exemplo.com.br ([127.0.0.1])
by localhost (mail.exemplo.com.br [127.0.0.1]) (amavisd-new, port 10024)
with LMTP id 0UgVQFB8TeOk for <lucas@exemplo.com.br>;
Mon, 28 Mar 2011 14:46:08 -0300 (BRT)
Received: from 192.168.0.82 (localhost [127.0.0.1])
by mail.exemplo.com.br (Postfix) with ESMTP id C1B1F1718069
for <lucas@exemplo.com.br>; Mon, 28 Mar 2011 14:46:08 -0300 (BRT)
MIME-Version: 1.0
Date: Mon, 28 Mar 2011 14:46:08 -0300
From: lucas2@exemplo.com.br
To: <lucas@exemplo.com.br>
Subject: iiii
Message-ID: <ba1feb3de789dccba1746b2d4c859f3c@exemplo.com.br>
X-Sender: lucas2@exemplo.com.br
User-Agent: Roundcube Webmail/0.5.1