Pesquise...

Últimos Posts

Arquivo de Posts

2017 - 2016 - 2015 - 2014 - 2013 - 2012

Postagens Populares

Vem Comigo!

         
  •  
  •  
  •  
  •  
  • Tecnologia do Blogger.

    Boletim Informativo?

    * obrigatório

    Total de Acessos


    Saudações,

    Muitas vezes aproveitar a solução aplicada em um servidor sob ataque é um bom caminho para proteger servidores que ainda não enfrentaram o mesmo problema.

    A ideia é parecida com a usada nos anti vírus. Uma vacina para uma maquina infectada serve para proteger N outras maquinas que, mais cedo ou mais tarde, irá se deparar com a mesma praga virtual.

    A lista badIPS é um destes caso em que sysadmins podem compartilhar suas experiencias.

    Lista badIPS com bloqueio via blackhole route


    A lista badIPS é criada com base nos IPs que foram boqueados pelo Fail2ban em N servidores ao redor do mundo. Ela está dividida em varias categorias como por exemplo:
    • SSH bruteforce login attacks and other ssh related attacks
    • Apache webserver related attacks
    • Anti Spam SMTP Proxy Server
    Todas as categorias podem ser encontradas em badips.com/get/categories. E você também pode contribuir para esta lista. Basta configurar o seu Fail2ban para relatar os IPs para o projeto badIPS.

    É possível usar esta lista em conjunto com o Firewall, hosts.deny, etc, contudo, hoje eu gostaria de lhe apresentar algo diferente; o RPDB do Kernel chamado Linux.

    A regra blackhole do RPDB é uma especie de /dev/null. O que ela faz é descartar silenciosamente todos os pacotes; clique aqui para saber mais.

    Por exemplo vamos manusear o IP 89.46.105.251:

    Testando...
    
    #ping 89.46.105.251
    PING 89.46.105.251 (89.46.105.251) 56(84) bytes of data.
     
    

    Bloqueando...
    
    #ip route add blackhole 89.46.105.251
     
    

    Listando...
    
    #ip route list 89.46.105.251
    blackhole 89.46.105.251
     
    

    Re-testando...
    
    #ping 89.46.105.251
    connect: Invalid argument
     
    

    Notou a resposta do dois comandos PING?

    E para remover o IP basta executar:
    
    #ip route del 89.46.105.251
     
    

    Agora que sabemos o essencial, podemos rodar um script para adicionar todos os IPs; veja:

    Crie um arquivo de nome badips-blackhole-route.bash, e, dentro dele adicione o seguinte conteúdo:

    #!/bin/bash
    
    # TESTADO NO UBUNTU 16.04 LTS COM BASH 4.3.46
    
    # CRIANDO VAR CONTA
    CONTA=0;
    
    # ARRAY DOS IPS JA BLOQUEADOS
    BHIPS=($(ip route list | awk '$1 ~ /blackhole/ {print $2}'));
    
    # LIMPANDO O BURACO NEGRO
    if [[ ${BHIPS[@]} ]]
    then
        echo -n "Limpando blackhole... ";
        for IP in ${BHIPS[@]}
        do
            ip route del ${IP};
            ((CONTA++));
        done;
    
        # IMPRIMINDO NUMERO DE IPS BLOQUEADOS
        echo "Foram removidos ${CONTA} ips da rota blackhole!";
    else
        echo -e "A blackhole ja esta vazia!\n";
    fi;
    
    # USANDO LISTA DA CATERORIA "ANY" COM "SCORE 3"
    # EM QUE OS IPS ESTEJAM LISTADOS A UMA SEMANA (1W)
    LISTA="http://www.badips.com/get/list/any/3?age=1w";
    
    # BIN DO WGET
    WGET=$(which wget);
    
    # ARRAY DA LISTA DE IPS A SEREM BLOQUEADOS
    BADIPS=($(${WGET} ${LISTA} -q -O -));
    
    # ZERANDO VAR CONTA
    CONTA=0;
    
    # EFETUANDO O BLOQUEIO
    echo -n "Bloqueando ips... ";
    for IP in ${BADIPS[@]}
    do
        ip route add blackhole ${IP};
        ((CONTA++));
    done;
    
    # IMPRIMINDO NUMERO DE IPS BLOQUEADOS
    echo -e "Foram adicionados ${CONTA} ips a rota blackhole!\n";
    
    exit 0;
    

    Salve o arquivo!

    Der permissão de execução...
    
    #chmod +x badips-blackhole-route.bash
     
    

    Execute...
    
    #./badips-blackhole-route.bash
    A blackhole ja esta vazia!
    Bloqueando ips... Foram adicionados 1718 ips a rota blackhole!
     
    

    O numero de IPs bloqueados sempre varia, pois a lista é dinâmica! Note que eu poderia ter obtido mais IPs apenas mudando, no script, a solicitação GET; veja:

    A URL badips.com/get/list/any/3?age=1w retorna quase 2000 IPs.

    A URL badips.com/get/list/any/3 retorna quase 52000 IPs.

    E, seguindo a recomendação do projeto, se você deseja proteger uma loja virtual por exemplo, use a lista de score 3 ou 4; clique aqui e saiba mais.

    Agora é só você adicionar uma entrada no Crontab do seu sistema que execute a cada 24 horas, e aproveitar esta camada de segurança adicional.


    Paz a todos!

    0 comentários:

    Postar um comentário