Il problema
A volte il kernel Linux registra messaggi di avviso come segue:
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 soluzione
Questo è un messaggio di avviso, che indica che il server tenta spesso di connettersi alla porta specifica e il kernel avverte che potrebbe trattarsi di un attacco SYN flood(=attacco DoS(Denial of Service)).
Quando questo messaggio viene registrato, il kernel restituisce un cookie di sincronizzazione al client o semplicemente elimina il pacchetto per autoprotezione, che è controllato da /proc/sys/net/ipv4/tcp_syncookies .
Si prega di controllare la porta e il traffico di rete se si tratta certamente di un attacco DoS. Se nessun attacco è confermato, questo messaggio può essere ignorato. La frequenza di registrazione del messaggio può essere controllata da 2 parametri del kernel di seguito:
/proc/sys/net/core/message_cost(def=5) /proc/sys/net/core/message_burst(def=10)
"costo_messaggio " è "l'intervallo (jiffies) per quanto tempo il kernel decide che potrebbe essere un attacco SYN flood".
"scatto_di_messaggio " è "la frequenza con cui il messaggio viene registrato durante message_cost". La riduzione del numero può ridurre la frequenza di registrazione del messaggio.
Questi possono essere impostati da sysctl anche sul sistema di produzione in esecuzione. Ad esempio, aggiungendo righe in /etc/sysctl.conf come:
# vi /etc/sysctl.conf net.core.message_cost = 10 net.core.message_burst = 20
ed esegui il comando seguente:
# sysctl -p
Ciò non influisce sulla disponibilità del sistema.