El Syn Flooding es una de las formas de ataque de Negación de Servicio (D.O.S) más comúnmente usado, basado en explotar las deficiencias que se encuentran en las conexiones TCP de 3 vías (3-way handshake). Las mismas están compuestas por conexión, transferencia y fin de la conexión. Para que se establezca una conexión TCP entre dos Host, estos deberán sincronizar su número de secuencia inicial (ISN). Éste es utilizado para controlar la comunicación entre ellos, verificando que la misma se realice de acuerdo a las siguientes características: libre de errores en orden sin pérdidas sin duplicaciones
Como mencionamos anteriormente, para que se establezca una comunicación entre los hosts es necesario que sincronicen su ISN: 
En resumen, cada Host envía su ISN y espera una confirmación o acuse de recibo (ACK) de la otra parte.
El
punto a ser explotado en el
método de 3-vías es
cuando el Host atacado
espera una respuesta ACK del
Host que inició
la comunicación. Si se combina
el Syn Flooding con el IP
Spoofing, el sistema víctima
recibe la conexión SYN y envía
un mensaje SYN-ACK a un Host
cliente que no existe o es
incapaz de responder con un
mensaje ACK, que nunca será
enviado al servidor víctima.
De esta manera, el equipo
víctima seguirá recibiendo
conexiones SYN hasta llegar
al punto de no poder aceptar
más conexiones, saturando
los recursos del servidor
y generando de esta manera
la Negación de Servicios del
mismo.
Gráficamente las conexiones generadas quedarían de la siguiente manera: 
Algunos ítems que debemos considerar para evitar este tipo de ataques en nuestros sistemas son: Incrementar la capacidad de los servidores Minimizar el Time out de las conexiones Semi-Abiertas Aumentar el número de conexiones aceptadas por los servidores Reducir el número de puertos TCP que aceptan conexiones Utilizar sistemas IDS
En el caso de las plataformas Linux/Unix podemos descargar un muy buen manual, el cual nos indica los parámetros necesarios que debemos configurar para mitigar los riesgos de ataques Syn Flooding, tanto en Linux como en las diversas plataformas Unix (Sun, AIX, HP-UX). http://es.tldp.org/Manuales-LuCAS/SEGUNIX/unixsec-2.1.pdf Para la plataforma Microsoft Windows debemos acceder por medio del regedit a: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Y debemos añadir: Value Name: TcpTimedWaitDelay Data Type: REG_DWORD Value: 30-300 segundos (defecto: 240 segundos) Links de referencia: http://www.cert.org/advisories/CA-1996-21.html https://www.rediris.es/cert/doc/segtcpip/
|