Como saber se você está sendo atacado com Denial of Service? - Certificação Linux

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

By Prof. Uirá Ribeiro | Firewall

out 03

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.

Follow

About the Author

Graduado em Computação e Mestre em Informática. Atualmente é Diretor Geral da Universidade Salgado de Oliveira responsável por 10 cursos. Tem experiência em telecomunicações, desenvolvimento, e-learning e gestão de pessoas. É autor dos livros Certificação Linux, Sistemas Distribuídos, Metodologia Científica Teoria e Prática, TCC - Trabalho de Conclusão de Curso e 37 Hábitos dos professores altamente eficazes.

Mostrar Botões
Esconder Botões