Problém
Někdy jádro Linuxu zaznamenává varovné zprávy takto:
Mar 7 09:17:14 hostname kernel: TCP: Possible SYN flooding on port 26450. Sending cookies.
nebo
Mar 7 09:17:14 hostname kernel: TCP: Possible SYN flooding on port 26450. Dropping request.
Řešení
Toto je varovná zpráva, která označuje, že se server často pokouší připojit ke konkrétnímu portu, a jádro varuje, že by se mohlo jednat o útok typu SYN flood (=útok DoS(Denial of Service)).
Když je tato zpráva zaprotokolována, jádro vrátí klientovi syn cookie nebo prostě zahodí paket pro samoochranu, kterou řídí /proc/sys/net/ipv4/tcp_syncookies .
Zkontrolujte port a síťový provoz, zda se nejedná o útok DoS. Pokud není žádný útok potvrzen, lze tuto zprávu ignorovat. Frekvenci protokolování zprávy lze řídit 2 parametry jádra níže:
/proc/sys/net/core/message_cost(def=5) /proc/sys/net/core/message_burst(def=10)
„message_cost ” je “interval (jiffies), jak dlouho se jádro rozhodne, že by mohlo jít o SYN flood útok”.
„message_burst “ je „jak často se zpráva zaznamenává během message_cost“. Snížením počtu můžete snížit frekvenci protokolování zprávy.
Ty lze nastavit pomocí sysctl i na běžícím produkčním systému. Například přidání řádků do /etc/sysctl.conf jako:
# vi /etc/sysctl.conf net.core.message_cost = 10 net.core.message_burst = 20
a poté spusťte následující příkaz:
# sysctl -p
To nemá vliv na dostupnost systému.