Como detectar e bloquear ataque DDoS no Linux

Como detectar e bloquear ataque DDoS no Linux

Neste artigo iremos ensinar como detectar e bloquear um ataque de DDoS em servidores Linux. Os passos a segui poderão ser executados nos servidores UBUNTU e seus derivados, assim com nos servidores baseados em Red Hat (CentOS e derivados)

Como posso detectar o ataque DDoS para posteriormente bloquear no meu servidor LINUX?

Quando você suspeita que um de seus servidores pode estar sob ataque, é necessário verificar isso. Mas como? Neste artigo, vou mostrar alguns comandos que podem ajudá-lo a discernir se o seu servidor está sendo atingido por um ataque de negação de serviço (DoS), que vem de um único endereço IP e tenta paralisar um site para renderizá-lo servidor inacessível. Existe outra forma desse ataque, a negação de serviço distribuída (DDoS) , que vem de várias fontes.

Vamos descobrir como saber se o seu servidor Linux é alvo de um ataque DoS.

O que você precisará
As únicas coisas que você precisa para isso é uma instância do Linux e um usuário com privilégios sudo. Estarei demonstrando no Ubuntu Server 20.04.

Como instalar o netstat?

Usaremos a ferramenta netstat para descobrir quais endereços IP estão atualmente conectados ao seu servidor. Para instalar o netstat no Ubuntu, você realmente instala o net-tools, assim:

sudo apt-get install net-tools -y

Se você estiver usando CentOS ou uma instalação baseada em Red Hat, o netstat já deve estar instalado.

Como verificar a consumo do servidor
A primeira coisa que faremos é verificar a carga do nosso servidor. O comando que usaremos para isso retornará o número de processadores lógicos (threads). Em um servidor, esse número deve ser bastante baixo, mas depende do que você está executando. Você deve certificar-se de executar uma linha de base para esse número, quando souber que está tudo bem. Se você suspeitar que algo está acontecendo, execute a verificação de thread novamente e compare-a.

Para verificar o número de processadores lógicos, emita o comando:

grep processor /proc/cpuinfo | wc -l

Se esse número for significativamente maior do que sua linha de base, você pode ter um problema.

Como verificar a consumo da sua rede
Em seguida, queremos verificar nossa carga de rede. Existem várias ferramentas com as quais você pode fazer isso, mas eu escolho nload. Para instalar o nload, emita o comando:

sudo apt-get install nload -y

No CentOS, esse comando seria:

sudo dnf install nload -y

Para executar a ferramenta, basta emitir o comando:

nload

Você deve ver uma carga de rede de entrada e saída razoavelmente normal.

Se essa carga for consideravelmente maior do que você acredita que deveria ser, você pode estar sob ataque de DDOS no seu servidor LINUX.

Como descobrir quais endereços IP estão conectados ao seu servidor
A próxima coisa que você vai querer fazer é descobrir quais endereços IP estão conectados ao seu servidor. Para isso, usaremos netstat assim:

netstat -ntu | awk ‘{print $ 5}’ | cut -d: -f1 -s | sort | uniq -c | sort -nk1 -r

A saída do comando acima listará cada endereço IP conectado ao servidor e quantas instâncias de cada um.

A saída do netstat mostrando os endereços IP conectados ao meu servidor.

Certifique-se de examinar esta lista com atenção. Se você vir um endereço IP com um grande número de instâncias (mais de 100), é muito provável que o endereço seja o culpado. Depois de ter certeza do culpado, você pode banir o endereço IP com o comando:

iptables -I INPUT -s x.x.x.x -j DROP
Onde x.x.x.x é o IP do atacante

Neste ponto, volte e verifique novamente seus threads, endereços IP conectados e cargas de rede para ver se você atenuou esse ataque DoS. Em caso afirmativo, é hora de relatar o endereço IP suspeito e provavelmente bani-lo de sua rede.

Conclusão.

O processo para detectar e bloquear o ataque de DDoS no Linux, pode ser automatizado através de scripts e outras ferramentas que podem ser encontradas na Internet. Porem este artigo tem o intuito de auxiliar os administradores, nos primeiros passos, quando estão sob algum tipo de ataque.

Segue abaixo mais alguns artigos que ajudarão e deixar seu Linux mais seguro.

Nova falha de DNS permite ataques DDoS em larga escala

Mod_evasive no Apache oferece proteção contra ataque de DDoS

Como verificar se o seu servidor está sob ataque DDoS?