El problema
A veces, el kernel de Linux registra mensajes de advertencia de la siguiente manera:
Mar 7 09:17:14 hostname kernel: TCP: Possible SYN flooding on port 26450. Sending cookies.
o
Mar 7 09:17:14 hostname kernel: TCP: Possible SYN flooding on port 26450. Dropping request.
La solución
Este es un mensaje de advertencia, que indica que el servidor intenta conectarse con frecuencia al puerto específico, y el kernel advierte que esto podría ser un ataque de inundación SYN (=ataque DoS (denegación de servicio)).
Cuando se registra este mensaje, el kernel devuelve una cookie de sincronización al cliente o simplemente descarta el paquete para autoprotección, que está controlado por /proc/sys/net/ipv4/tcp_syncookies .
Verifique el tráfico del puerto y de la red para ver si se trata de un ataque DoS. Si no se confirma ningún ataque, este mensaje se puede ignorar. La frecuencia de registro del mensaje se puede controlar mediante 2 parámetros del kernel a continuación:
/proc/sys/net/core/message_cost(def=5) /proc/sys/net/core/message_burst(def=10)
“coste_del_mensaje ” es “el intervalo (jiffies) durante cuánto tiempo el kernel decide que podría ser un ataque de inundación SYN”.
“mensaje_ráfaga ” es “con qué frecuencia se registra el mensaje durante message_cost”. Reducir el número puede reducir la frecuencia de registro del mensaje.
Estos pueden ser configurados por sysctl incluso en el sistema de producción en ejecución. Por ejemplo, agregar líneas en /etc/sysctl.conf como:
# vi /etc/sysctl.conf net.core.message_cost = 10 net.core.message_burst = 20
y ejecute el siguiente comando después de eso:
# sysctl -p
Esto no afecta la disponibilidad del sistema.