Как реагировать на атаку на веб-сайт


У меня есть сайт wordpress, который подвергается какой-то атаке ботов. Я проверил журналы apache, и каждую секунду в моем блоге появляется запрос на получение одного сообщения (иногда более одного в секунду). Когда я блокирую ip-адрес злоумышленника в файле htaccess, запросы продолжаются, но это происходит каждые 5-10 секунд. Если я разблокирую его, через несколько минут он вернется к 1 или более раз в секунду.

IP-адрес злоумышленника меняется один или два раза в день.

У меня есть установлен плагин wordfence, который блокирует атаки, я также вручную добавляю ip-адреса в htaccess, но мне интересно, есть ли другой способ заблокировать этого парня навсегда...

Он всегда идентифицируется как пустой агент пользователя, всегда получает одну и ту же страницу, и это всегда только один запрос на одну страницу.

Вот часть журнала apache с атакой.

178.222.186.246 - - [20/May/2013:02:35:46 -0500] "GET /2012/01/19/skembici-u-saftu/ HTTP/1.1" 200 48097 "-" "-"
178.222.186.246 - - [20/May/2013:02:35:55 -0500] "GET /2012/01/19/skembici-u-saftu/ HTTP/1.1" 200 47939 "-" "-"
178.222.186.246 - - [20/May/2013:02:35:59 -0500] "GET /2012/01/19/skembici-u-saftu/ HTTP/1.1" 200 47970 "-" "-"
Author: onedevteam.com, 2013-05-20

1 answers

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

RewriteEngine On  
SetEnvIfNoCase User-Agent "^-?$" bad_user
Deny from env=bad_user

Я вставляю -? на случай, если отправляемый агент пользователя на самом деле является тире. Из ваших журналов очень трудно определить, действительно ли он пустой или это тире.

Связанный ресурс в StackOverflow также содержит примеры нескольких других правил, основанных на Агенте пользователя и Реферере.

 2
Author: Stephen Ostermiller, 2017-05-23 12:37:06