web-dev-qa-db-fra.com

Chaque minute - Syn d'inondation possible sur le port 80

Sur notre serveur Linux de temps en temps, nous obtenons un message bien connu Syn Flood:

possible SYN flooding on port 80

ce n'est probablement pas une attaque car le trafic de site Web est grand.

Cependant, à partir de quelque temps, ces messages ont commencé à venir toutes les ~ 60 secondes. Ce que je veux dire, c'est suit:

Aug 16 01:22:44 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:23:45 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:25:05 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:26:06 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:27:13 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:28:13 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:29:14 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:30:39 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:31:41 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:32:53 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:33:57 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:35:03 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:36:27 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:37:30 amadeus kernel: possible SYN flooding on port 80. Sending cookies.
Aug 16 01:38:44 amadeus kernel: possible SYN flooding on port 80. Sending cookies.

est-ce juste par accident ou pas? En raison du trafic, je ne vous inquiéterai pas pour beaucoup de messages "possibles d'inondation de syn de synthèse", mais ceux-ci sont toutes les 60 secondes.

Voici nos paramètres personnalisés dans /etc/rc.local

# 3M
echo 3145728 > /proc/sys/net/netfilter/nf_conntrack_max

# 256k
echo 262144 > /proc/sys/net/ipv4/tcp_max_orphans

echo 1048576 1572864 4194304 > /proc/sys/net/ipv4/tcp_mem

# Neighbour Table Overflow
echo  4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo  8192 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo 16384 > /proc/sys/net/ipv4/neigh/default/gc_thresh3

echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle

# Disable ip_forward
echo "0" > /proc/sys/net/ipv4/ip_forward

# Enable SYN Cookies
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

echo 40 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_syn_recv

(Désolé si cette question est une duplication mais je n'ai trouvé aucun problème similaire).

5
Nick

J'ai eu une lecture si une question similaire et toutes les réponses, et je pense que vous devriez essayer ce que @jeff se suggère dans sa réponse (ce qui n'est pas la réponse acceptée), qui augmente le retard de l'écoute des deux L'application fonctionnant sur le port 80.

Il semble que le message se produise lorsque la "file d'attente" ou "arriétrage" pour les connexions entrantes est en cours de remplissage.

Par exemple. Pour Apache2, il écrit:

Pour résoudre ceci, j'ajoute la ligne suivante à /etc/apache2/ports.conf ou l'un des autres fichiers .conf, qui sera chargé par Apache (/ etc/apache2/apache2. Conf devrait être aussi ok):

ListenBackLog 5000

Puis soulevez le TCP_max_Syn_backog à la même chose

Sudo sysctl -w net.ipv4.tcp_max_syn_backlog=5000
4
thelogix