Caros/as colegas,

Um dos ataques mais comuns aos servidores web é o ataque syn flood. Ao digitar “dmesg” em seu servidor, a possibilidade de você ter recebido um ataque syn flood pode ser detectada por meio da mensagem:

[10496484.393573] TCP: TCP: Possible SYN flooding on port 80. Sending cookies. Check SNMP counters.

Agora indo ao que interessa, inicie o processo de proteção digitando os seguintes comandos como root:

sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
sudo sysctl -w net/netfilter/nf_conntrack_tcp_loose=0

A primeira regra que criamos foi para identificar se os novos pacotes TCP de entrada são SYN. Caso contrário, o kernel irá descartar o pacote.

A segunda configuração sysctl fará com que o sistema de rastreamento de conexões seja mais estrito em sua identificação/categorização. Especificamente, entre outras coisas, essa regra ajuda a captar os ACK-floods.

Quando um cliente tenta começar uma conexão TCP com um servidor, o cliente e o servidor trocam um série de mensagens, que normalmente são assim:

1) O cliente requisita uma conexão enviando um SYN (synchronize) ao servidor.
2) O servidor confirma esta requisição mandando um SYN-ACK(acknowledge) de volta ao cliente.
3) O cliente por sua vez responde com um ACK, e a conexão está estabelecida.
Isto é o chamado aperto de mão em três etapas (Three-Way Handshake).

Por hoje é só!

Author

Rodrigo Calado é sócio-fundador e CTO do Gran Cursos Online. Graduado em Gestão da Tecnologia da Informação, pós-graduando em Governança de TI pela Universidade Católica de Brasília e cursou MBA em Gestão e Empreendedorismo pela FGV. Possui convicta paixão pela área de tecnologia, educação digital, concursos públicos e empreendedorismo.

Write A Comment