B.3. Paquetes SYN/ACK y NEW

Ciertos ataques de "camuflaje" (spoofing) TCP emplean una técnica llamada Predicción de Secuencia Numérica (Sequence Number Prediction). En éllos el atacante simula la dirección IP de otra máquina, mientras ataca a alguien e intenta predecir la secuencia numérica empleada por el ordenador al que está suplantando.

Veamos un caso típico. "Jugadores": atacante [A], intentando enviar paquetes a la víctima [V], e intentando hacerse pasar por otra máquina [O] (otro host).

  1. [A] le envía un SYN a [V] con la dirección IP de origen de [O].

  2. [V] responde a [O] con un SYN/ACK.

  3. Entonces [O] debería responder a un SYN/ACK desconocido con un RST y entonces el ataque no tendría éxito, pero asumamos que [O] no está operativo (está desbordado, apagado o tras un cortafuegos que ha rechazado los paquetes).

  4. Si [O] no se interpone entre [A] y [V], entonces [A] podrá "hablar" con [V] haciéndose pasar por [O], siempre que pueda predecir la secuencia de números correcta.

Mientras no enviemos el paquete RST en respuesta al SYN/ACK desconocido en el paso 3, permitiremos que [V] sea atacado y nos echen la culpa a nosotros. Así pues, será pura cortesía enviar adecuadamente el RST a [V]. Si utilizas las reglas "NEW not SYN" (explicadas antes) en tu conjunto de reglas, los paquetes SYN/ACK serán desechados. Por éllo se añaden las siguientes reglas en la cadena bad_tcp_packets, justo antes de las reglas "NEW not SYN":

iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT --reject-with tcp-reset
   

Gracias a éllo, las posibilidades de ser [O] son relativamente pequeñas, al tiempo que son unas reglas seguras en casi todos los casos, excepto cuando ejecutas varios cortafuegos redundantes, en los que los unos se hacen cargo a menudo de los flujos de datos de los otros. En este caso algunas conexiones pueden ser bloqueadas, incluso si son legítimas. Esta regla también permite que algunos exploradores de puertos (portscanners) sean capaces de ver nuestro cortafuegos, pero no serán capaces de averiguar mucho más que ésto (que el cortafuegos está ahí).