Le problème
Parfois, le noyau Linux enregistre des messages d'avertissement comme suit :
Mar 7 09:17:14 hostname kernel: TCP: Possible SYN flooding on port 26450. Sending cookies.
ou
Mar 7 09:17:14 hostname kernel: TCP: Possible SYN flooding on port 26450. Dropping request.
La solution
Il s'agit d'un message d'avertissement, qui indique que le serveur tente fréquemment de se connecter au port spécifique, et le noyau avertit qu'il pourrait s'agir d'une attaque par inondation SYN (=attaque DoS (Denial of Service)).
Lorsque ce message est enregistré, le noyau renvoie un cookie syn au client ou supprime simplement le paquet pour l'auto-protection, qui est contrôlée par /proc/sys/net/ipv4/tcp_syncookies .
Veuillez vérifier le port et le trafic réseau s'il s'agit bien d'une attaque DoS. Si aucune attaque n'est confirmée, ce message peut être ignoré. La fréquence de journalisation du message peut être contrôlée par les 2 paramètres du noyau ci-dessous :
/proc/sys/net/core/message_cost(def=5) /proc/sys/net/core/message_burst(def=10)
"message_cost " est "l'intervalle (jiffies) pendant lequel le noyau décide qu'il pourrait s'agir d'une attaque par inondation SYN".
"message_burst " est "la fréquence à laquelle le message se connecte pendant message_cost". La réduction du nombre peut réduire la fréquence d'enregistrement du message.
Ceux-ci peuvent être définis par sysctl même sur le système de production en cours d'exécution. Par exemple, ajouter des lignes dans /etc/sysctl.conf comme :
# vi /etc/sysctl.conf net.core.message_cost = 10 net.core.message_burst = 20
et exécutez ensuite la commande suivante :
# sysctl -p
Cela n'affecte en rien la disponibilité du système.