1. Introducción
El siguiente artículo explica el funcionamiento del comprobador para proteger el sistema contra ataques syn flood (syn_flood_checker) y cómo configurarlo para funcionar con los umbrales recomendados.
2. Qué protección proporciona el checker syn_flood_checker
El syn-flood, es un tipo de ataque que pretende medio abrir conexiones contra el servidor de destino, víctima del ataque.
Lo que busca el ataque es agotar los recursos disponibles del servidor para aceptar nuevas conexiones.
La técnica usada para desarrollar el ataque es enviar los primeros paquetes para establecer una conexión TCP (paquetes SYN), y a continuación no continuar con el protocolo.
Esto hace que la conexión quede a “medio abrir” (half open connection), ocupando recursos y huecos disponibles para estas conexiones temporales (conexiones que se están abriendo pero no han terminado de completarse).
El comprobador syn_flood_checker busca localizar y contabilizar estas conexiones por IP. Si alguna IP de origen alcanza el límite configurado de conexiones a medio abrir al mismo tiempo, será bloqueada.
3. Cuáles son los valores razonables o esperados
Normalmente, una conexión TCP se resuelve en pocos milisegundos. Primero se envía el SYN, el servidor responde con una asignación SYN-ACK, y el cliente responde con un ACK final. A partir de ahí la conexión se considera abierta y comienza a funcionar.
Hoy en día, debido a las exigencias de usuario, medidores SEO, etc, las conexiones han de responder por debajo de los 50ms, y habitualmente situarse entre los 5 y los 20 milisegundos para considerarse adecuado su rendimiento.
Esto da una medida de las pocas posibilidades de encontrar para una misma IP varias conexiones en estado SYN_RECV (tras pasar pocos segundos). Ambos extremos, servidor y cliente, están interesados en completar las conexiones lo antes posible.
Tomando en cuenta todos estos elementos, la recomendación del número máximo de conexiones en estado a medio abrir no debería llegar a 100 en todo momento para una IP de origen en particular. De manera general, por encima de 50 ya es un valor elevado. En ese sentido, por encima de 100 comienzar a ser un indicativo de ataque o software funcionando de manera incorrecta.
4. Cómo funciona y donde configurarlo
-
El comprobador funciona de manera automatizada. Simplemente hay que comprobar que esté desplegado. Para ello:
-
…luego pulsamos Mostrar comprobadores:
-
…dentro del listado buscamos el syn_flood_checker:
-
Para configurar los límites del checker, simplemente pinchamos sobre el checker:
-
Y dentro, pinchamos en la configuración: