fbpx

Os ataques do tipo Denial of Service são difíceis de mitigar, uma vez que eles geralmente se passam por conexões normais e tráfego normal, mas de forma abundante, até que o servidor não tenha mais recursos para resolver as solicitações e o serviço ficar indisponível.

Uma das maneiras de você verificar se há conexões demais e de onde elas vem é com o comando netstat.

A maneira mais simples é listar as conexões com o comando netstat -an

$ netstat -an

Conexões Internet Ativas (servidores e estabelecidas)

Proto Recv-Q Send-Q Local Address               Foreign Address             State      

cp        0      0 0.0.0.0:11211               0.0.0.0:*                   OUÇA       

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   OUÇA       

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   OUÇA       

tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   OUÇA       

tcp        0      0 127.0.0.1:11211             127.0.0.1:51898             ESTABELECIDA

tcp        0      0 127.0.0.1:11211             127.0.0.1:51570             ESTABELECIDA

tcp        0      0 127.0.0.1:11211             127.0.0.1:53800             ESTABELECIDA

tcp        0      0 127.0.0.1:53800             127.0.0.1:11211             ESTABELECIDA

tcp        0      0 127.0.0.1:11211             127.0.0.1:52002             ESTABELECIDA

Mas isso é difícil de contar, pois as conexões de ataque de negação de serviço são rápidas.

A opção viável, ainda com o comando netstat é:

$ netstat -ntu | grep ESTAB | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr

     34 127.0.0.1

      1 50.31.164.148

      1 50.31.164.147

      1 50.31.164.146

      1 35.155.143.94

      1 10.8.0.6

Desta forma esse comando irá contar as conexões estabelecidas por endereço IP de origem.

Você também pode fazer uma alteração no comando acima, para listar por exemplo somente as conexões na porta 80:

netstat -lan|grep :80|awk {‘print $5’}|cut -d: -f 1|sort|uniq -c|sort -nk 1

      1 0.0.0.0

      1 169.254.169.254

      2 127.0.0.1

     64 149.56.180.254

Neste exemplo, esse servidor está sofrendo um ataque de SYN_SENT, vindo do ip 149.56.180.254 com 64 conexões, que pode ser confirmado através do netstat:

netstat -an|grep 149.56.180.254

tcp        0      0 172.30.1.187:80             149.56.180.254:38165        SYN_RECV    

tcp        0      0 172.30.1.187:80             149.56.180.254:5557         SYN_RECV    

tcp        0      0 172.30.1.187:80             149.56.180.254:3605         SYN_RECV    

tcp        0      0 172.30.1.187:80             149.56.180.254:18728        SYN_RECV    

tcp        0      0 172.30.1.187:80             149.56.180.254:35138        SYN_RECV    

tcp        0      0 172.30.1.187:80             149.56.180.254:23965        SYN_RECV    

tcp        0      0 172.30.1.187:80             149.56.180.254:41358        SYN_RECV    

tcp        0      0 172.30.1.187:80             149.56.180.254:44263        SYN_RECV    

tcp        0      0 172.30.1.187:80             149.56.180.254:52759        SYN_RECV   

Neste caso, podemos levantar uma regra de IPTABLES para fazer um DROP de todas conexões vindas deste endereço:

# iptables -I INPUT -s 149.56.180.254 -j DROP

Rodando o netstat novamente podemos observar que os pedidos de conexões SYN se foram:

# netstat -plan|grep :80|awk {‘print $5’}|cut -d: -f 1|sort|uniq -c|sort -nk 1

      1 0.0.0.0

      1 169.254.169.254

      2 127.0.0.1

Gostou deste post, conheça nosso curso de Firewall Iptables.

Aprenda muito mais sobre Linux em nosso curso online. Você pode fazer a matrícula aqui com trial de 7 dias grátis. Se você já tem uma conta, pode acessar aqui.

Gostou? Compartilhe 🙂

Como saber se você está sendo atacado com Denial of Service?
Classificado como:                    

Uma ideia sobre “Como saber se você está sendo atacado com Denial of Service?

  • 19 de maio de 2019 em 7:50 am
    Permalink

    Muito bom mesmo ótimo me ajudou muito

    Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.