SYN Flood

Esta página cita fontes, mas que não cobrem todo o conteúdo. Ajude a inserir referências (Encontre fontes: Google (N • L • A • I • WP refs)  • ABW  • CAPES). (Outubro de 2010)

|

Uma conexão normal cliente-servidor. O aperto de mão em três etapas é realizado corretamente Conexão com SYN flood. O atacante envia diversas vezes pacotes maliciosos com SYN e recebe respostas válidas. O servidor é sobrecarregado e novas requisições válidas não são realizadas com sucesso

SYN flood ou ataque SYN é uma forma de ataque de negação de serviço (também conhecido como Denial of Service - DoS) em sistemas computadorizados, na qual o atacante envia uma sequência de requisições `SYN` para um sistema-alvo visando uma sobrecarga direta na camada de transporte e indireta na camada de aplicação do modelo OSI.

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:

* O cliente requisita uma conexão enviando um `SYN` (synchronize) ao servidor.
* O servidor confirma esta requisição mandando um `SYN-ACK`(acknowledge) de volta ao cliente.
* O cliente por sua vez responde com um `ACK`, e a conexão está estabelecida.[1]

Isto é o chamado aperto de mão em três etapas (Three-Way Handshake).

Um cliente malicioso, que implemente intencionalmente um protocolo TCP errado e incompleto, pode não mandar esta última mensagem `ACK`. O servidor irá esperar por isso por um tempo, já que um simples congestionamento de rede pode ser a causa do `ACK` em falta.

Esta chamada conexão semi-aberta explora a boa-fé do protocolo TCP que espera por um certo tempo e algumas tentativas de restabelecimento de um sinal ACK válido para retomar a comunicação. A resposta maliciosa ao comando SYN gerada pelo cliente pode ocupar recursos no servidor (memória e processamento) ou causar prejuízos para empresas usando softwares licenciados por conexão (aumento de conexões "ativas"). Pode ser possível ocupar todos os recursos da máquina, com pacotes SYN. Uma vez que todos os recursos estejam ocupados, nenhuma nova conexão (legítima ou não) pode ser feita, resultando em negação de serviço. Alguns podem funcionar mal ou até mesmo travar se ficarem sem recursos desta maneira.

Algumas contra-medidas para este ataque são os SYN cookies.[1] Apenas máquinas Sun e Linux usam SYN cookies.

Ao contrário do que muitos pensam, não se resolve negação de serviço por SYN Flood limitando conexões por minuto (como usar o módulo limit ou recent do iptables), pois as conexões excedentes seriam descartadas pelo firewall, sendo que desta forma o próprio firewall tiraria o serviço do ar. Se eu, por exemplo, limito as conexões SYN a 10/seg, um atacante precisa apenas manter uma taxa de SYNs superior a 10/s para que conexões legítimas sejam descartadas pelo firewall. O firewall tornou a tarefa do atacante ainda mais fácil. Em "Iptables protege contra SYN Flood?" tem uma boa descrição dos motivos pelos quais uma configuração de firewall não resolve.

Um ataque de SYN Flood é feito com os IPs forjados (spoof), para que o atacante não receba os ACKs de suas falsas solicitações.

## Referências

1. ↑ a b «Bloqueando ataques de SYN Flood»

## Ligações externas

[editar | editar código fonte]

* Iptables protege contra SYN Flood?
* «Aviso oficial da CERT sobre ataques SYN» (em inglês)

| Este artigo sobre redes de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.

* v
* d
* e

|

*[ABW]: A Biblioteca da Wikipédia
*[v]: Ver esta predefinição
*[d]: Discutir esta predefinição
*[e]: Editar esta predefinição