Предотвращение пустых запросов apache в access.log

В моем файле access.log я нашел сотни строк пустого запроса, как это

mydomain.com:80 [ip-address] - - [02/Jul/2014:09:11:20 -0500] "GET / HTTP/1.0" 200 25491 "-" "-"
mydomain.com:80 [ip-address] - - [02/Jul/2014:09:11:24 -0500] "GET / HTTP/1.0" 200 25491 "-" "-"
mydomain.com:80 [ip-address] - - [02/Jul/2014:09:11:24 -0500] "GET / HTTP/1.0" 200 25491 "-" "-"
mydomain.com:80 [ip-address] - - [02/Jul/2014:09:11:20 -0500] "GET / HTTP/1.0" 200 25491 "-" "-"

Все они приходят с одного и того же IP-адреса, а иногда это около 3-5 запросов в секунду.

Я прочитал из этого ответа /questions/141264/pustyie-pustyie-zapisi-zaprosa-apache-v-zhurnale-dostupa/141273#141273 что

Другими словами, вероятно, кто-то открывал и закрывал соединение с портом 80 без отправки или получения каких-либо данных.

но в отличие от этого вопроса в моем случае код ответа 200,

qsn1: какой номер 25491 значит в этом случае?

qsn2: это может быть атака дос, потому что за это время я увидел в своей статистике VPS, что процессор сильно загружен.

qsn3: могу ли я как-то предотвратить подобные запросы? скажем, заблокировать IP-адрес с помощью fail2ban или каким-либо другим способом?

Спасибо

обновление: я только что посчитал, в течение 20 минут у меня есть ~ 8000 обращений с того же (и только этого) IP-адреса, все строки, как показано выше

1 ответ

1: 25491 - это размер в байтах ответа, возвращаемого вашим сервером.

2: Учитывая описание, это могла быть некоторая форма DoS низкого уровня. Вероятно, бот.

3: fail2ban - хорошая идея. Вы можете установить регулярное выражение фильтра по этим строкам (не проверено!):

\[<HOST>\] - - \[.*\] "GET / HTTP/1.[01]" 200 \d+ "-" "-"

Затем поместите его в тюрьму с максимальным значением 100 и временем поиска, скажем, 60-х годов.

Другие вопросы по тегам