Jack Wallen mostra algumas das etapas que você pode seguir para verificar e mitigar ataques de negação de serviço distribuídos 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, denominado negação de serviço distribuída (DDoS), que é mais difícil de descobrir e interromper. Este tipo de ataque usa a mesma ideia por trás do ataque de negação de serviço, mas distribui o ataque por vários servidores. Em vez de ver seu servidor sendo 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 parar ataques DDoS em seus servidores Linux. Vou avisá-lo, a mitigação de DDoS não é tão fácil quanto com DoS. Na verdade, 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 é direta.
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 sendo as mais comumente usadas). Faça login em 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 como 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, estreitou um pouco sua pesquisa.
Outro comando netstat listará todos os endereços IP que se conectaram ao servidor. Este comando é:
netstat -anp | grep 'tcp \ | udp' | awk '{print $ 5}' | cut -d: -f1 | sort | uniq -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 netstat para calcular e contar o número de conexões que cada endereço IP faz com o seu servidor. Esse comando é:
sudo netstat -ntu | awk '{print $ 5}' | cut -d: -f1 | sort | uniq -c | sort -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 vêm as conexões 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 deveria estar atingindo o servidor com esse nível de tráfego, as chances são muito boas de que é 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 todos os ataques vêm de uma sub-rede (uma que não deveria ter acesso 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 com o que você descobriu que está atacando seu servidor.
Outra questão a ser considerada é, 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, provavelmente você tem um problema muito maior em suas mãos. Uma das melhores coisas que você pode fazer por esses servidores é instalar o fail2ban (consulte Como instalar o fail2ban no Ubuntu Server 18.04 ). Essa ferramenta ajudará a automatizar a prevenção de logins e ataques indesejados.
Lembre-se de que resolver ataques DDoS não é tão simples quanto é o primo DoS. Você precisará gastar algum tempo com os comandos para restringir a origem dos ataques, mas será um tempo bem gasto.
Sem comentários:
Enviar um comentário