Blacklist - O que é? Como consultar o IP? Como automatizar?

Explana sobre bloqueio de IPs em Blacklists (RBL), demonstrando como consultar e como automatizar via shell script.

[ Hits: 20.232 ]

Por: Danillo Costa em 19/05/2015 | Blog: https://nillow.com.br/


Introdução



Blacklist ou RBL, neste artigo, são Órgãos ou Entidades que possuem a finalidade de informar através de consultas via Internet, se determinado IP envia Spam, e-mails não solicitados ou, até mesmo, se hospedam algum tipo de código malicioso, como vírus.

Diversos servidores de e-mails não possuem blacklist própria e assim preferem utilizar a de terceiros, como o Barracuda, Spamhaus e o SenderBase. Quando este servidor receber qualquer mensagem de e-mail, ele irá consultar se consta bloqueio do IP origem da mensagem junto ao RBL. Caso afirmativo, o servidor de e-mails do destinatário retornará o e-mail ao remetente com o erro, sendo que o destinatário em si, não tomará conhecimento da existência de tal mensagem.

Citei algumas das blacklists mais utilizadas, porém, há inúmeras outras que podem ser utilizadas. Algumas até cobram para remover o IP da blacklist, mas estas são comumente menos visadas por quem faz uso da Blacklist.

Cada Blacklist tem seu próprio critério para bloquear e desbloquear. O método para desbloqueio de IP pode variar de automático, formulário web ou e-mail.

O bloqueio de IP pode ocorrer com mais frequência em servidores compartilhados de hospedagem, já que possui diversos sites utilizando o mesmo IP. Infelizmente, se apenas um destes realizar envio de Spam e cair em alguma blacklist, os demais serão penalizados também e terão suas mensagens recusadas, já que é bloqueado o IP, não o domínio.

Boa parte dos casos que analisei, os bloqueios ocorreram por conta de:
  • Códigos injetados através de alguma vulnerabilidade web. Comum em CMS sem a devida manutenção (WordPress, Joomla, etc);
  • Códigos injetados em diretórios com permissão excessiva (777);
  • Via FTP, por perda de senha para algum malware.

Poucos foram os casos de envio de Spam de forma intencional, sendo que alguns achavam que comprando uma lista de e-mails já lhe davam o direito de enviar qualquer tipo de mensagens para estes.

No final do artigo, disponibilizarei um shell script para automatizar as consultas, destinado aos administradores de servidores, com a finalidade de poder gerenciar antes mesmo de algum cliente reportar dificuldades com o uso do serviço de e-mail.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Consultando o IP
   3. Automatizando consultas via shell script
Outros artigos deste autor

Overclock em placas de vídeo GeForce

flock - Gerenciador de lockfiles

Gnome Shell e Extensions no Ubuntu 11.10

chkconfig - Adicionando o seu shell script

Adium, IM open source

Leitura recomendada

Ingressando estações de trabalho Ubuntu no AD com Closed In Directory

Script GitPratico para criar repositórios remotos sem logar no GitHub

flock - Gerenciador de lockfiles

Yad 0.16 - Eu quero sempre mais de ti

Kit de scripts para backup (Full + Diferencial + Samba + Rede)

  
Comentários
[1] Comentário enviado por vmmello em 19/05/2015 - 18:43h

legal o artigo. Na página 2, a linha do sed não funciona pra mim. E copiando direto do script na página 3 também não funciona. Será que a formatação do texto no VOL estragou a linha? Só funciona modificando ela um pouco.

[2] Comentário enviado por hellnux em 19/05/2015 - 18:55h

vmmello,

Obrigado por reportar. Já enviei a equipe de moderação tanto o comando sed da segunda página quanto o script da última página.

--- EDIT ---
Ambos foram corrigidos no artigo. =D

[3] Comentário enviado por xerxeslins em 21/05/2015 - 18:49h


Não trabalho com isso, mas achei o artigo bem informativo!

Eu não sabia dessas coisas de blacklist.

Valeu!

Abraço!
--
http://pastebin.com/aji5Qp05

[4] Comentário enviado por brunor1989 em 25/05/2015 - 11:04h

Olá,

Copiei o arquivo e fiz as mudanças necessárias, porém me retorna o seguinte erro:
/check.backlist.sh: 25: ./check.backlist.sh: Syntax error: "(" unexpected


[5] Comentário enviado por brunor1989 em 25/05/2015 - 14:18h


[4] Comentário enviado por brunor1989 em 25/05/2015 - 11:04h

Olá,

Copiei o arquivo e fiz as mudanças necessárias, porém me retorna o seguinte erro:
/check.backlist.sh: 25: ./check.backlist.sh: Syntax error: "(" unexpected



Resolvido, apenas troquei /bin/sh para /bin/bash

[6] Comentário enviado por hellnux em 25/05/2015 - 14:30h

Obriagado brunor1989. Corrigido no artigo, mas para quem chama o bash na linha de comando, que nem eu, não faz diferença.

[7] Comentário enviado por fmpfmp em 25/05/2015 - 17:00h

Muito útil seu script. No meu caso a maior causa do IP ser listado é ele ser considerado um IP dinâmico quando na verdade é estático. Aqui pagamos pra ter um IP fixo da GVT e vez ou outra ele é listado como IP doméstico. Toda vez eu tinha que ir na página do Spamhaus pra tirá-lo da lista, mas com seu script isso se torna desnecessário. Obrigado.

[8] Comentário enviado por juliomartins em 26/05/2015 - 17:10h

Código apenas para consulta passando ip por parâmetro ...

#!/bin/bash
#VERIFICADOR DE IPS BLACKLIST
BLISTS="b.barracudacentral.org zen.spamhaus.org xbl.spamhaus.org pbl.spamhaus.org bl.spamcop.net dnsbl.sorbs.net http.dnsbl.sorbs.net web.dnsbl.sorbs.net cbl.abuseat.org"

IP=`echo $1 | awk -F . '{print $4,$3,$2,$1}' | tr " " .`

for i in `echo $BLISTS`;
do
echo "$i ----> `dig +short -t a $IP.$i`"
done

[9] Comentário enviado por juliomartins em 26/05/2015 - 17:17h

Para executar o script:

Salve com o nome ChecaRBL

chmod 755 ChecaRBL

./ChecaRBL IP_QUE_VC_QUE_VERIFICAR

[10] Comentário enviado por wilyman em 29/08/2016 - 10:19h

Oi pessoal poderiam me ajudar, eventualmente tenho problemas de clientes com esse problema e na qual uso o BRMA.
Fiz o download do script porém ao executar ocorre esse erro
[root@mail root]# sh check-blacklist-VOL.sh
: command not found.sh: line 5:
: command not found.sh: line 8:
: command not found.sh: line 12:
'heck-blacklist-VOL.sh: line 13: syntax error near unexpected token `{
'heck-blacklist-VOL.sh: line 13: `function dateNow () {

Talvez o BRMA não tenha todos os recursos necessários para a execução do script mas seria muito util para o uso aqui na empresa

[11] Comentário enviado por hellnux em 29/08/2016 - 10:42h

wilyman

Use o bash em vez do sh


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts