Noticias de Seguridad Informática - Segu-Info

domingo, 28 de febrero de 2010

18:17:00

Syn Flood, qué es y como mitigarlo

Hoy día es sorprendente ver como ataques que fueron descritos a principios de los 90 perduran y siguen siendo efectivos en un buen numero de situaciones.

Uno de ellos, tal vez de los más clásicos, es el Syn Flood. Este tipo de ataque es posible debido a la forma en la que funcionan las conexiones TCP. Cuando un extremo desea iniciar una conexión contra otro equipo, inicia la conversación con un 'SYN', el otro extremo ve el SYN y responde con un SYN+ACK, finalmente el extremo que empezó la conexión contesta con un ACK y ya pueden empezar a transmitir datos.
Un ataque de tipo Syn Flood lo que hace es empezar un numero especialmente alto de inicios de conexión que nunca son finalizados, dejando al servidor a la espera del ack final, y por tanto consumiendo recursos de forma desproporcionada. Existen muchas herramientas escritas en todo tipo de lenguajes para hacer un ataque de tipo Syn Flood y no se requiere especial habilidad para llevar acabo un ataque de ese tipo.

Mitigando un ataque Syn Flood

A la hora de fortificar un sistema para contrarrestar un ataque de tipo Syn Flood existen parámetros que se pueden configurar en el sistema operativo para hacerlo mas resistente.

En sistemas Linux

Primer paso, activar las syn cookies (mas información sobre que es y como se construye una syn cookie aquí)

# sysctl -w net.ipv4.tcp_syncookies="1"

Segundo paso, aumentar el 'backlog queue' (es decir, dar mas holgura al sistema para procesar peticiones entre-abiertas)

# sysctl -w net.ipv4.tcp_max_syn_backlog="2048"

Tercer paso, hacer que el sistema minimice el tiempo de espera en la respuesta al SYN+ACK. En principio un sistema Linux 'por defecto' esperará 3 minutos, nosotros lo vamos a dejar en 21 segundos

#sysctl -w net.ipv4.tcp_synack_retries=2

(una vez probados los cambios, hay que hacerlos permanentes en /etc/sysctl.conf)

En sistemas Windows
 
Activación de la protección anti Syn Flood:

C:\> reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v SynAttackProtect /t REG_DWORD /d 1

Aumentamos el 'backlog queue'

C:\> reg add HKLM\System\CurrentControlSet\Services\AFD\Parameters /v EnableDynamicBacklog /t REG_DWORD /d 1

C:\> reg add HKLM\System\CurrentControlSet\Services\AFD\Parameters /v MinimumDynamicBacklog /t REG_DWORD /d 20

C:\> reg add HKLM\System\CurrentControlSet\Services\AFD\Parameters /v MaximumDynamicBacklog /t REG_DWORD /d 20000

C:\> reg add HKLM\System\CurrentControlSet\Services\AFD\Parameters /v DynamicBacklogGrowthDelta /t REG_DWORD /d 10
 

Decrementamos el tiempo de espera en conexiones 'Half Open'

C:\> reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v TcpMaxConnectResponseRetransmissions /t REG_DWORD /d 2

Ya solo queda rebootar Windows para que los cambios tengan efecto

[+] Las configuraciones han sido extraídas de este magnífico artículo

Fuente: Security by Default

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info
Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

Gracias por comentar!

Aquí y Ahora

 
 Widget de Google 

Acerca de Segu-Info

Segu-Info es un emprendimiento personal de Lic. Cristian Borghello CISSP - MVP que brinda información sobre Seguridad de la Información desde el año 2000. Segu-Info es la Comunidad de Seguridad de la Información más grande de habla hispana. Todos los contenidos de este sitio se encuentran bajo Licencia Creative Commons a menos que se indique lo contrario. Cristian Borghello no se hace responsable del contenido o comentarios de terceros.

  ©Template desarrollado por Dicas Blogger y Adaptado por SoloE para Segu-Info - 2009