DoS Attack - Procedimento

Version Date Notes By
0.1 2020-07-09 Documento inicial jfm

Resposta rápida: Aceder ao servidor pela consola do linode e desligar a placa de rede: ifdown <interface>

Objetivo

Definir os procedimento em caso de um ataque DoS (Denial of Service) ou DDos (Distributed Denial of Service)

Procedimento

Um Ataque de (D)DoS carateriza-me pela tentativa de sobrecarregar um servidor para que os seus recursos fiquem indisponíveis.

Isto geralmente significa que poderá ser complicado aceder via SSH ao servidor afetado, uma vez que este não consegue responder em tempo útil.

Nestes casos, teremos de aceder ao servidor pela interface disponibilizada pelo fornecedor do serviços de hospedagem.

Passsos a seguir

  1. Confirmar se é possível aceder por SSH, se sim passar ao passso 6
  2. Aceder à área de gestão dos servidores https://login.linode.com/login
  3. Clicar no menu Linodes e de seguida clicar no servidor em causa
  4. Clicar na opção Launch Console situada em cima à direita
  5. Aceder com um utilizador com direitos administrativos
  6. Desligar a placa de rede executando o comando apropriado à versão do sistema operativo

Exemplo Ubuntu/Debian:

Executar ifconfig para identificar o nome do dispositivo

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.104.235.164  netmask 255.255.255.0  broadcast 172.104.235.255
        inet6 fe80::f03c:91ff:fe52:b2e4  prefixlen 64  scopeid 0x20<link>
        inet6 2a01:7e01::f03c:91ff:fe52:b2e4  prefixlen 64  scopeid 0x0<global>
        ether f2:3c:91:52:b2:e4  txqueuelen 1000  (Ethernet)
        RX packets 578833335  bytes 46075958743 (46.0 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 274078094  bytes 1154429998528 (1.1 TB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 998999963  bytes 1284003488664 (1.2 TB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 998999963  bytes 1284003488664 (1.2 TB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Executar if down eth0 para desligar a interface de rede (substituir eth0 pelo dispositivo apropriado)

  1. Comprimir toda a pasta de logs para posterior análise e comunicação ao Centro Nacional de Cibersegurança
  2. Bloquear todas as comunicações excepto IP fixo da WeMake (93.108.246.41)

Gravar regras atuais: sudo iptables-save > iptables.rules. Mais tarde para restaurar: sudo iptables-restore < iptables.rules

sudo iptables -F
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -s 93.108.246.41 -j ACCEPT
sudo iptables -A INPUT -j DROP
sudo iptables -A OUTPUT -d 93.108.246.41 -j ACCEPT
sudo iptables -A OUTPUT -j DROP
sudo iptables -A FORWARD -j DROP
  1. Ligar interface de rede: sudo ifup eth0 (substituir eth0 pelo dispositivo apropriado)
  2. Ligar por SSH e fazer download dos logs guardados. Se necessário, fazer backup e download de informação crítica (base de dados, ficheiros, etc..)
  3. Comunicar a situação ao responsáveis diretos e pessoas afetadas para falha de serviço
  4. Monitorizar o log /var/log/kern.log para perceber quando o ataque é finalizado
  5. Assim que o sistema estiver estável, restaurar as regras da firewall guardadas anteriormente

Após o ataque

Após o ataque deverá ser feito o registo do incidente (AI018) e respetica comunicação ao Centro Nacional de Cibersegurança.

Deverão igualmente ser analizados os Logs e revistas as regras de firewall, assim como outras regras de segurança impostas no servidor.

Devem ser análisadas e aplicadas possível melhorias para minimizar situações futuras.

Este procedimento deve também ser revisto e melhorado após cada ataque.

Found errors? Think you can improve this documentation? Simply click the Edit link at the top of the page, and then the icon on Github to make your changes.