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: 15.408 ]

Por: Danillo Costa em 19/05/2015 | Blog: https://softhost.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

rwd - Restart When Down

chkconfig - Adicionando o seu shell script

Gerenciando Mouses da Razer

flock - Gerenciador de lockfiles

Adium, IM open source

Leitura recomendada

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

BackRE - Seu script de backup remoto

Script de firewall completíssimo

Script com muitas utilidades para arquivos e pastas

ShellBot - Crie Bots para Telegram em Shell Script

  
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
[[email protected] 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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts