Я вижу огромное количество подключений с одного IP.
# netstat -alpn | grep :80 | grep 92.98.64.103
tcp 0 0 my.ip.address.x:80 92.98.64.103:45629 TIME_WAIT -
tcp 0 0 my.ip.address.x:80 92.98.64.103:44288 TIME_WAIT -
tcp 0 0 my.ip.address.x:80 92.98.64.103:48783 TIME_WAIT -
tcp 0 0 my.ip.address.x:80 92.98.64.103:40531 TIME_WAIT -
tcp 0 0 my.ip.address.x:80 92.98.64.103:54094 TIME_WAIT -
tcp 0 0 my.ip.address.x:80 92.98.64.103:47394 TIME_WAIT -
tcp 0 0 my.ip.address.x:80 92.98.64.103:43495 TIME_WAIT -
tcp 0 0 my.ip.address.x:80 92.98.64.103:55429 TIME_WAIT -
tcp 0 0 my.ip.address.x:80 92.98.64.103:42993 TIME_WAIT -
tcp 0 0 my.ip.address.x:80 92.98.64.103:49542 TIME_WAIT -
tcp 0 0 my.ip.address.x:80 92.98.64.103:54812 TIME_WAIT -
Всего 419 таких строк. Но в журнале доступа я вижу только 1 запрос от 92.98.64.103. Это DoS-атака?
ОБНОВЛЕНИЕ - 419 подключений с одного IP-адреса. Таких IP несколько с более чем 100 подключениями.
Обычное использование оперативной памяти моим сервером составляет около 2-3 ГБ. Но в то время он использовал 15 ГБ ОЗУ.
root@mars [~]# netstat -alpn | grep ':80 .*TIME_WAIT' | wc -l
6728
ОБНОВЛЕНИЕ 2 - TIME_WAIT увеличился до более чем 10000 за несколько секунд
root@mars [~]# netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n
1 established)
1 Foreign
4 CLOSE_WAIT
9 FIN_WAIT2
34 LAST_ACK
39 SYN_RECV
44 LISTEN
45 CLOSING
68 FIN_WAIT1
128 ESTABLISHED
10261 TIME_WAIT
Но веб-сервер загружается нормально, без каких-либо проблем.
419 жалких подключений не являются DoS.
На одном конкретном веб-сервере со средним уровнем использования на данный момент у меня есть:
$ netstat -alpn | grep ':80 .*TIME_WAIT' | wc -l
384
384 подключения в этом состоянии.
Каким образом много на IP?
$ netstat -alpn | awk 'BEGIN {FS="[ :]+";} /:80 .*TIME_WAIT/ {print $6}' | sort | uniq -c | sort -g | tail -n5
6 xx.xxx.xx.xx
6 xx.xxx.xx.xx
9 xxx.xxx.xx.xx
13 xxx.xx.xx.xx
48 xxx.xxx.xxx.xx
Необычно иметь так много с одного IP - я предполагаю, что проблема PMTU приводит к завершению соединений без выполнения запросов.
Если вас это беспокоит, сбросьте трафик.
I ' d рекомендовать уменьшить количество секунд, в течение которых сокет остается в TIME_WAIT. Добавьте следующее в /etc/sysctl.conf
:
net.netfilter.nf_conntrack_tcp_timeout_time_wait=15
и запустите:
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait=15