+ Responder ao Tópico



  1. #1
    Avenger
    Visitante

    Padrão Filtro a nível de reverso no Qmail

    Fiz um scriptzinho em perl para, executado a partir do qmail-scanner (qmail-scanner-queue.pl) verifica pelo DNS reverso do IP que tenta mandar e-mail pela 'regexp' (máscara) do host se é provavelmente um ip dinâmico/dsl/dialup ou se é algo autêntico; caso ele não consiga dizer nada ou o IP não tenha host reverso, ele não faz nada; porém, caso ele veja que o reverso é de ip dinâmico (de acordo com as máscaras que a gente pode definir), ele assegura que o X-Spam-Status seja maior que o valor definido para marcar como spam, permitindo que a gente não receba mais esses e-mails (principalmente falando de SPC ou SERASA que tem um .exe com backdoor prá a gente clicar).

    Ele não atrapalha os clientes a enviarem e-mail mediante uso do método smtp-after-pop (o usuário que ler e-mail no servidor, mesmo sendo de adsl, é 'liberado' para mandar os mails sem passar pelo anti-spam, recurso do vpopmail).

    Se alguém tiver interesse em dar uma olhada no programa, manda um mail prá mim [email protected] que eu passo. Acabei de fazer o código e ia ser legal ajuda a aperfeiçoar o bicho.

  2. #2
    Avenger
    Visitante

    Padrão Filtro a nível de reverso no Qmail

    O programinha que fiz, depois de uma semana de testes, me deu uma estatística (estudando o log) de 20.93% de mails barrados. É realmente uma mão na roda dos anti-spam!

    Agora fiz mais uma atualização no spamassassin e vou zerar o log, até meio da semana que vem tenho uma idéia do que ele tá pegando.

    Do jeito que eu instalei o programa, ele vai dar pontuação ao e-mail, caso seja de um IP com reverso que indique ser dialup/dinâmico, e a pontuação seja negativa, ele dá o valor de pontos que marca como spam. Se a pontuação for igual ou maior que zero, ele soma os (tipicamente) 5 pontos pro e-mail ter uma marca maior e garantir que ele vai cair como spam.

    O único ruim, é que ainda tem muito IP de velox/speedy/brt que não tem reverso... Mas pelo menos da fatia que já tem (inclusive de sympaticos.ca), dá uma boa gente 'filtrada'.

    Um pouco sobre a estrutura do script
    - Esse script é escrito em Perl, e usa o pacote Net:NS para fazer as resoluções inversas e também para permitir ser chamado pelo qmail-scanner-queue.pl (que tem opção -T, que mata a execução caso algo inseguro seja executado).
    - Ele é chamado a partir de uma modificação no qmail-scanner-queue.pl mas pode ser chamado por qualquer outra forma: ele só retorna verdadeiro (spam) ou falso (legítimo)
    - Para fazer a resolução de IP, ele usa a variável do qmail TCPREMOTEIP;
    - Tendo o TCPREMOTEIP, ele efetua uma resolução reversa nesse IP e, baseado numa lista de palavras 'boas' ou 'más' (você pode cadastrar um MTA que esteja sendo barrado indevidamente nas palavras 'boas', ou garantir que 'daquele' irá chegar e-mail sem ser adicionado pontos de spam; ou você também pode corrigir a palavra-chave para algo mais amplo ou mais específico).

    Atualmente, a lista de palavras-boas e palavras ruins está assim (estão entre aspas simples, separadas por vírgulas; exempts=palavras-boas, badwords=paravras-más):

    Código :
    my @exempts=('.abrildirect.com.br.','smtp','mail.','www.','www?.','.corp.');
     
    my @badwords=('.dsl.','.adsl.','.cable.','.dip.t-dialin.','.ok.shawcable.',
     '.evdo.giro.com.br','-???-???-','-???-??-','-??-???-','-??-??-','-??-?-',
     '-?-??-','-?-?-','.hyogo.ocn.ne.jp.','.shawcable.net.','total-pool','.cust.',
     '.user.','.fbx.proxad.','.pppoe.','adsl-data-','.homechoice.co.uk.',
     '.dial.','.customer.','dsl.dynamic','dialup-','dial-','.dublin.eircom.net.',
     '.ftth.ucom.ne.jp.','.sympatico.ca.','dsl.static','.virtua.com.br.',
     '.ed.shawcable.net.','.ctbcnetsuper.','.gte.net.','.comcast.net.','.catv.',
     '.customer.','.adsl-','dhcp.','.cableonline.com.mx.','.dyne-net.',
     '.internetdsl.tpnet.pl.','dsl-del-','.dsl-','no.such.address.','dsl-??-',
     'dsl-???-','.de.colt.net.','.C.csloxinfo.net.','.interbusiness.it.','.pool.',
     '.btcentralplus.com.','.emailvitrine.');

    Esse último, emailvitrine, chegou um e-mail prá mim com uma opção para remover da lista, quando solicitei que fosse removido, recebi mais três emails do mesmo spam. Conclusão? Fonte de e-mails não solícitos. Mas para voltar a receber e-mails deles sem marcar spam seria só tirar essa última entrada.