Боты ломятся на сайт на вордпресе, поможете советом?
Знатоки. Выручайте.
Есть сайт на вордпресе. Резко упали посетители, иногда вываливается 502 ошибка или БД недоступна, но перегрузов по журналам нет. Узнал у хостера, что есть множественные обращения к сайту. Начал смотреть журнал. Каждую минуту по 60-70 запросов в секунду с разных IP адресов такого плана
148.251.23.119 - - [11/Apr/2018:01:53:17 +0300] "GET /wp-content/plugins/..........
148.251.23.119 - - [11/Apr/2018:01:53:17 +0300] "GET /wp-content/themes/........
148.251.23.119 - - [11/Apr/2018:01:53:17 +0300] "GET /wp-content/plugins/table-of-contents-
148.251.23.119 - - [11/Apr/2018:01:53:17 +0300] "GET /wp-content/plugins/wordpress-popular-posts/
148.251.23.119 - - [11/Apr/2018:01:53:17 +0300] "GET /wp-content/plugins/wp-pagenavi...
148.251.23.119 - - [11/Apr/2018:01:53:17 +0300] "GET /wp-content/themes/
148.251.23.119 - - [11/Apr/2018:01:53:17 +0300] "GET /wp-content/themes/
148.251.23.119 - - [11/Apr/2018:01:53:17 +0300] "GET /wp-content/themes/
Как я понял это парсинг какой-нибудь, продолжается уже дней 5, с разных адресов. Записывать их в блэк-лист смысла нет, их слишком много
Ну и т.д. Соответственно роют как я понял по всем этим папкам, сайт падает, реальные люди не видят сайт :(
Что посоветуете?
Больше похоже на поиск уязвимостей в плагинах.
Как-то странно, по "журналам" (что хоть за журналы?) перегрузки нет, а вываливается 502 ошибка - как раз недостаточно ресурсов (оперативка в основном)...
Был бы vps, можно было что-то сделать, а так, либо переходить к другому хостеру, либо обращаться к сервису по защите от ддоса. 50-60 запросов в секунду это достаточно мало.
Ну журналы (логи) на сервере access.log
50-60 запросов это с одного ип адреса и так каждую минуту-две, но с разных.
Причем очень часто это папка uploads и абсолютно разные подпапки. Если бы это был человек не может же он одновременно просматривать 60 папок с картинками
Вот для примера скрин
tuttofatto, сервер ложиться просто от запроса статических файлов, это проблема хостинга.
Если не хочется хостинг совсем менять, то нужно для всей статики использовать CDN.
60 запросов в секунду это очень легонькая атака. С этим справится плагин WordFence Security. Тех кто слишком усердно долбится на ваш сайт, плагин будет блокировать на определенное время, например на 1 час (время можно выставить в настройках).
Очень простой скрипт пишется на PHP со сбором данных в кэш ОЗУ (memcache(d), например) и по количеству и типам обращений - ставится множитель блокировки на такой IP.
Этот скрипт-блокер ставится вначале основного скрипта сайта или можно добавить его подгрузку в .htaccess через php_value auto_prepend_file "FULLPATH/guard.php"
Или такой вариант с правилами в .htaccess (он проще, но тоже достаточно эффективный)