Glossário da F5

SIN

O que é SYN?

No TCP, SYN se refere ao pacote enviado de um cliente para um servidor para iniciar uma conexão. O estabelecimento de uma conexão TCP segue estas etapas:

  1. O cliente primeiro envia um pacote SYN para o servidor.
  2. O servidor responde com um pacote SYN/ACK, reconhecendo a solicitação. Neste ponto, o servidor reserva recursos em uma tabela de conexão para armazenar detalhes da conexão, estabelecendo um estado de conexão semiaberta.
  3. Ao receber o pacote SYN/ACK, o cliente responde com um pacote ACK.
  4. Quando o servidor recebe o pacote ACK, a conexão é totalmente estabelecida.

Esse processo de conexão, que envolve três trocas de pacotes, é chamado de handshake de três vias. Ele permite que o servidor confirme que seus pacotes de resposta chegaram ao cliente. Entretanto, surgem problemas se o cliente falsificar o endereço IP de origem, pois o servidor não receberá uma resposta para seu pacote SYN/ACK. Nesses casos, o servidor mantém o estado meio aberto até que o tempo limite seja atingido, consumindo recursos desnecessariamente. Atores mal-intencionados exploram essa vulnerabilidade em um ataque de inundação SYN, um tipo de ataque DoS/DDoS.

A plataforma BIG-IP da F5 atua como um proxy completo e evita inundações de SYN inspecionando pacotes SYN antes de encaminhá-los ao servidor. Além disso, o BIG-IP inclui um recurso chamado SYN Cookies para se proteger contra grandes volumes de pacotes SYN. Neste método, um número gerado pelo MD5 (chamado de "Cookie") é incorporado no número de sequência TCP do pacote SYN/ACK. Quando o pacote ACK subsequente é recebido, o Cookie é recalculado a partir de seu conteúdo. Isso elimina a necessidade de armazenar detalhes de conexão no momento em que o pacote SYN/ACK é enviado, evitando o esgotamento da memória mesmo durante um ataque de inundação SYN.