Назад | Перейти на главную страницу

HTTP-атака - слишком много подключений и TIME_WAIT

Я запускаю CentOS 6 с http -2.2.15

Попадая под HTTP-атаку, я вижу, что многие HTTP-процессы запущены.

> netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n
>       1 established)
>       1 Foreign
>       2 LAST_ACK
>      11 LISTEN
>      15 FIN_WAIT2
>      19 CLOSING
>      27 FIN_WAIT1
>      91 SYN_RECV
>     116 ESTABLISHED
>   10399 TIME_WAIT

Подсчет всех подключений:

netstat -an | grep :80 | wc -l
10533

Подсчитайте все уникальные IP-адреса:

netstat -nat | awk '{ print $5}' | cut -d: -f1 | sed -e '/^$/d' | uniq | wc -l
231

Пожалуйста, посоветуйте, что мы могли бы сделать, чтобы узнать, у кого больше всего коннектов?

PS: эта атака не повлияла на нагрузку на сервер.

Спасибо за любую помощь.

Я не вижу никаких доказательств атаки в данных, которые вы разместили здесь.

Единственное, что я считаю необычным в этих числах, - это то, как медленно открываются и закрываются TCP-соединения. Я бы не ожидал увидеть двузначные числа для SYN_RECV, FIN_WAIT1 и FIN_WAIT2. Это означает, что если есть атака, она, вероятно, не основана на TCP / порту 80 или насыщает какой-то сетевой канал, что замедляет вашу связь, возможно, в восходящем направлении от ваших устройств.

Посмотрите на графики своей пропускной способности и попросите своего хостинг-провайдера посмотреть на их графики. Если это ничего не обнаруживает, начните искать неисправное сетевое оборудование. Если вы видите большой скачок пропускной способности, извлеките статистику из любого периферийного сетевого устройства о типе трафика, который вы являются видя.


TIME_WAIT связи для вас не проблема. Они становятся проблемой только тогда, когда их так много, что вы не можете установить новые связи. По умолчанию этот порог составляет около 30 000.

Это подсчитываются пустые строки, добавляя grep -v '^$' прежде, чем uniq в конвейере разрешит это. Вполне возможно, что это не атака, а, возможно, проблема программного обеспечения. Какие у вас нормальные числа? Я видел статьи о MySQL 4/5, вызывающих большое количество соединений состояния TIME WAIT. Были ли у вас новые установки или обновления, изменения конфигурации, которые связаны с проблемой?