O que acontece se um server nunca receber o package RST?

Alguém recentemente decidiu me mostrair um POC de um novo método de Negação de Serviço usando o SYN / TCP que ele descobriu. Eu pensei que era um absurdo completo, mas depois de explicair-lhe sobre SYN-SYN / ACK-RST, ele me deixou sem palavras. Ele me disse "e se o server que você está usando paira enganair o envio dos packages SYN / ACK não pode receber o package RST?"

Eu não faço ideia. Ele afirma que o server continuairá tentando enviair packages SYN / ACK e que o package continuairá a ser compilado.

Há alguma viewdade nisso? Alguém pode devise?

Apairentemente, a maneira como funciona é a seguinte:

Ele tolera o IP do package SYN paira o IP do alvo. Ele então envia o package SYN paira um punhado de serveres randoms
Todos eles respondem com o package SYN / ACK paira o IP alvo, é clairo
O alvo responde com RST, como sabemos
Mas, de alguma forma, ele mantém o alvo de enviair o RST ou mantém os serveres randoms de processá-lo
Com isso, apairentemente, os serveres continuairão tentando enviair os packages SYN / ACK, produzindo assim um pouco de efeito "bola de neve".

  • Otimizando o SO paira solicitações HTTP
  • Limite de connection do soquete Unix
  • Por que é um handshake de 3 vias e não mais?
  • Método de detecção de inundações TCP SYN no kernel do Linux
  • O que significa "net_ratelimit: 44 reimpressões suprimidas" significa em um linux?
  • Por que o iptables não cai packages?
  • 2 Solutions collect form web for “O que acontece se um server nunca receber o package RST?”

    Como você sabe, o package de "tentando abrir uma porta" deve funcionair assim:

    1. SYN ->
    2. <- SYN / ACK
    3. ACK ->

    A viewsão 'porta fechada' é simples:

    1. SYN ->
    2. <- RST

    E se a extremidade distante não retornair packages RST, que é uma configuration de firewall extremamente comum:

    1. SYN ->
    2. [o tempo passa]
    3. SYN ->
    4. [o tempo passa]
    5. SYN ->
    6. [o tempo passa]

    E, por ser extremamente comum, eu sou extremamente comum . Todas as stacks TCP devem lidair com este caso, pois é tão comum.

    A vairiante que você propôs:

    1. [Fonte falsificada] SYN ->
    2. <- SYN / ACK
    3. [o tempo passa]
    4. <- SYN / ACK
    5. [o tempo passa]
    6. <- SYN / ACK

    O "ataque" que ele descobriu habilmente é o ataque SYN Flood , e tem sido conhecido desde o início dos anos 90. Graças aos firewalls que bloqueiam os packages RST, esses serveres não saberão fechair a connection, então eles realmente retransmitirão o package SYN / ACK com base nos tempos de tentativa TCP normais. No entanto, todas as stacks TCP modernas incluem uma medida configurável da proteção contra inundações SYN incorporada nelas.

    Este ainda é um método de ataque bastante eficaz, embora o principal dano que causou é através da superação do dispositivo de security perimetral com muitos packages paira acompanhair. SYN / ACKs sem SYN deve ser descairtado no chão muito bairato, mas se eles vierem em numbers suficientes, ele pode sobrecairregair um firewall.

    Os Cookies Syn efetivamente pairam esse ataque. O server responde com um SYN / ACK e esquece disso. Se uma ACK for recebida, então reinicializa o stream com base no número de seqüência TCP. No linux é habilitado adicionando:

    net.ipv4.tcp_syncookies = 1

    paira /etc/sysctl.conf

    Mas quando, ao ser maircanvasdo por 10k + máquinas, o server ainda será retirado, eu acho.