terça-feira, 10 de junho de 2008

Bloqueando Ligações Perigosas...


Que tal não aceitar conexão das redes maliciosas mais famosas do mundo? Boa idéia? Mas como manter esta lista atualizada? Bom, existem provedores e serviços que mantem estas listas disponível a preços acessíveis, e algumas disponibilizam gratuitamente. É o caso da Spamhaus que é um dos mais eficazes serviços de combate a Spam e Malware que existe. Eles disponibilizam listas gratuitas e pagas. Claro que as melhores são as pagas, porém combato Spam aqui na minha rede utilizando a lista gratuita deles e tenho uma eficiência de mais de 95% e com mais alguns ajustes em outros parâmetros conseguimos diminuir o Spam em algumas contas de 80 a 100 por dia para apenas 1.
Mas não estamos aqui para falar de Spam, isto é outro post. Vamos aproveitar a lista de redes imundas da internet para não deixar nenhuma conexão entrar em nossa rede.

O Nome da lista é "DROP LIST - The Spamhaus Don't Route Or Peer List", ou seja nem conecte nem roteie nada para esta rede. Segundo o site, eles recomendam fortemente que você bloqueie qualquer tráfego para esta rede e eles garantem que a lista não incluem IPs válidos. E recomendam ainda que seja implementada em "Core Routers" e em Provedores de Internet.
Como você que está lendo este post deve ser um administrador de redes e provavelmente mexe com linux e iptables, segue um mini-script que baixa esta lista e bloqueia tudo!!!
A Lista original você encontra aqui.

O Script é simples basta baixar neste link.
Depois torne-o executavel com o seguinte comando:
chmod +x gera_black_list.sh

Depois execute o script
./gera_black_list.sh

Para visualizar as regras, digite em linha de comando
iptables -L

Para apagar as regras
iptables -F

Obs: Como esta lista é atualizada constantemente, vale a pena fazer um agendamento para que este script rode constantemente através do crontab. O Pessoal da spamhaus pede para que você não busque esta lista mais do que uma vez por hora. Ok?

Fonte:
http://www.spamhaus.org
http://en.wikipedia.org/wiki/Peering

5 comentários:

  1. Interessante amigo mais estas regras não modificão as regras de firewall existentes ?

    ResponderExcluir
  2. Não!!

    Estas regras serão adicionadas as suas regras já existentes !!
    Mas o ideal era você inserir no meio do seu script de firewall já existente...
    Pois se uma rede sair ou entrar, toda vez que seu script rodar, elas serão carregadas com a lista atual.
    Veja o exemplo abaixo:

    ..............Início Script Firewall
    regras...
    regras...

    # Apaga os arquivos atuais
    rm -f drop.lasso* black_list

    # Baixa a nova versao e gera o arquivo
    wget http://www.spamhaus.org/drop/drop.lasso ; cat drop.lasso | cut -d" " -f1 | tr -d ";" | grep -v "^$" > black_list

    # Ordena e retira ips repetidos
    echo "$(sort black_list | uniq )" > black_list

    # Aplica as regras ao Iptables
    for ip in `cat black_list`
    do
    iptables -I FORWARD -p tcp -s $ip -j DROP
    iptables -I FORWARD -p udp -s $ip -j DROP
    iptables -I INPUT -p tcp -s $ip -j DROP
    iptables -I INPUT -p udp -s $ip -j DROP
    done


    regras...
    regras...
    .............Fim Script Firewall

    ResponderExcluir
  3. nas regras de forward não seria destino ao inves de origem?

    ResponderExcluir
  4. Não amigo.
    Está correto. O Script está proibindo qualquer comunicação dos IPs de origem com a sua rede.
    Eu uso isso em ambiente de produção.

    Um abraço

    ResponderExcluir
  5. Ok. concordo com vc.
    Acho que seria interresante proibir qualquer comunicação entre a sua rede e a rede DROP.
    mesmo assim grande dica :d
    abraços

    ResponderExcluir