Das Problem
Manchmal protokolliert der Linux-Kernel Warnmeldungen wie folgt:
Mar 7 09:17:14 hostname kernel: TCP: Possible SYN flooding on port 26450. Sending cookies.
oder
Mar 7 09:17:14 hostname kernel: TCP: Possible SYN flooding on port 26450. Dropping request.
Die Lösung
Dies ist eine Warnmeldung, die darauf hinweist, dass der Server häufig versucht, sich mit dem bestimmten Port zu verbinden, und der Kernel warnt, dass es sich möglicherweise um eine SYN-Flood-Attacke (=DoS(Denial of Service)-Attacke) handeln könnte.
Wenn diese Nachricht protokolliert wird, gibt der Kernel ein syn-Cookie an den Client zurück oder verwirft das Paket einfach zum Selbstschutz, der von /proc/sys/net/ipv4/tcp_syncookies gesteuert wird .
Bitte überprüfen Sie den Port und den Netzwerkverkehr, ob es sich mit Sicherheit um einen DoS-Angriff handelt. Wenn kein Angriff bestätigt wird, kann diese Nachricht ignoriert werden. Die Häufigkeit der Protokollierung der Nachricht kann durch die beiden folgenden Kernelparameter gesteuert werden:
/proc/sys/net/core/message_cost(def=5) /proc/sys/net/core/message_burst(def=10)
„message_cost ” ist „das Intervall (Jiffies), wie lange der Kernel entscheidet, dass es sich um einen SYN-Flood-Angriff handeln könnte“.
„message_burst “ ist „wie häufig die Nachricht während message_cost protokolliert wird“. Eine Verringerung der Anzahl kann die Häufigkeit der Protokollierung der Nachricht verringern.
Diese können per sysctl auch auf dem laufenden Produktivsystem gesetzt werden. Beispielsweise das Hinzufügen von Zeilen in /etc/sysctl.conf als:
# vi /etc/sysctl.conf net.core.message_cost = 10 net.core.message_burst = 20
und führen Sie danach den folgenden Befehl aus:
# sysctl -p
Dies hat keine Auswirkungen auf die Systemverfügbarkeit.