Nota: O seguinte artigo irá ajudá-lo com: Como verificar e interromper ataques DDoS no Linux
Jack Wallen orienta você em algumas das etapas que você pode seguir para verificar e mitigar ataques distribuídos de negação de serviço em um servidor Linux.
Recentemente escrevi um artigo sobre como detectar e parar um ataque DoS no Linux. DoS significa negação de serviço, que é um ataque muito comum em servidores que pode inutilizá-los até que o problema seja mitigado.
Há outro tipo de ataque semelhante, chamado de negação de serviço distribuído (DDoS), que é mais difícil de descobrir e interromper. Esse tipo de ataque usa a mesma ideia por trás do ataque de negação de serviço, só que distribui o ataque por vários servidores. Em vez de ver seu servidor ser atacado por um único endereço, esse ataque vem de uma coleção distribuída de servidores. Onde você pode ter uma fonte atingindo seu servidor milhares de vezes, você pode ter milhares de servidores atingindo seu servidor apenas algumas vezes.
Vou mostrar como você pode verificar e interromper ataques DDoS em seus servidores Linux. Vou avisá-lo, a mitigação de DDoS não é tão fácil quanto com DoS. De fato, com o DDoS, você terá que não apenas usar o comando netstat, mas também conhecer sua rede muito bem e ser capaz de fazer algumas suposições sobre a natureza das conexões descobertas.
Em outras palavras, a mitigação de DDoS não é definitiva.
VEJO: Política de proteção contra roubo de identidade (TechRepublic )
O que você precisará
- Um servidor Linux
- Um usuário com privilégios sudo
Como verificar sub-redes
A primeira coisa que você deseja verificar são as conexões de sub-redes comuns (/16 ou /24 são as mais usadas). Faça no seu servidor Linux e emita o seguinte comando para ver quais conexões estão vindo da mesma sub-rede (/16):
netstat -ntu|awk ‘{print $5}’|cut -d: -f1 -s |cut -f1,2 -d’.’|sed ‘s/$/.0.0/’|sort|uniq -c|sort -nk1 -r
Se o comando netstat não for encontrado, você precisará instalá-lo com o comando:
sudo apt-get install net-tools -y
Você deve ver uma lista de todas as conexões de endereços que contêm os mesmos dois primeiros octetos, como 192.168.xx (Figura A).
Figura A
Como você pode ver, tenho 13 conexões com este servidor provenientes da sub-rede 192.168.xx.
Para encontrar conexões da sub-rede /24, o comando seria:
netstat -ntu|awk ‘{print $5}’|cut -d: -f1 -s |cut -f1,2,3 -d’.’|sed ‘s/$/.0/’|sort|uniq -c |sort -nk1 -r
O comando acima exibiria todas as conexões da mesma sub-rede que os três primeiros octetos (como 192.168.1.x). Se você encontrar um grande número de conexões provenientes de qualquer uma dessas sub-redes, você reduziu um pouco sua pesquisa.
Outro comando netstat listará todos os endereços IP que se conectaram ao servidor. Este comando é:
netstat -anp |grep ‘t|udp’ | awk ‘{print $5}’ | corte -d: -f1 | classificar | unico -c
Você deve ver uma lista de todos os endereços IP conectados e o número de vezes que eles se conectaram.
Em seguida, usamos o netstat para calcular e contar o número de conexões que cada endereço IP faz ao seu servidor. Esse comando é:
sudo netstat -ntu | awk ‘{print $5}’ | corte -d: -f1 | classificar | uniq -c | classificar -n
O comando acima listará os endereços IP de todas as sub-redes que estão enviando solicitações de conexão para o seu servidor.
Neste ponto, você deve ter uma boa ideia de onde as conexões estão vindo e quais endereços IP estão associados a essas conexões. Você pode ter um grande número de conexões provenientes de uma sub-rede específica. Se essa sub-rede não deve estar atingindo o servidor com esse nível de tráfego, as chances são muito boas, é de onde seu ataque DDoS está vindo.
Como parar os ataques
Isso não é tão fácil quanto verificar e interromper um ataque DoS. No entanto, a boa notícia é que, depois de determinar de onde vem o ataque DDoS, você o interrompe da mesma forma que interrompeu o ataque DoS. Basta executar o comando:
sudo rota adicionar ADDRESS rejeitar
Onde ADDRESS é o endereço em questão. Com o ataque DDoS, você terá que executar o comando acima para cada endereço suspeito encontrado usando os comandos netstat. Isso pode levar um tempo considerável, dependendo de quantas máquinas estão atacando seu servidor.
Se você descobriu que os ataques estão todos vindo de uma sub-rede (uma que não deveria ter o ao servidor), você pode bloquear essa sub-rede inteira usando iptables, assim:
sudo iptables -A INPUT -s ADDRESS/SUBNET -j DROP
Certifique-se de substituir ADDRESS/SUBNET pelo que você descobriu que está atacando seu servidor.
Outra questão a considerar é, se esses ataques vêm de sub-redes dentro de sua LAN, por que essas máquinas estão bombardeando seu servidor com ataques. Se for esse o caso, você provavelmente tem um problema muito maior em suas mãos. Uma das melhores coisas que você pode fazer por esses servidores é instalar o fail2ban (confira Como instalar o fail2ban no Ubuntu Server 18.04). Essa ferramenta ajudará a automatizar a prevenção de s e ataques indesejados.
Lembre-se, resolver ataques DDoS não é tão simples quanto seu primo DoS. Você precisará gastar algum tempo com os comandos para diminuir a origem dos ataques, mas esse será um tempo bem gasto.