Сегодня я совершенно случайно обнаружил, что мой VPS очень сильно загружен. Загрузка процессора практически не падала меньше 100%. При этом сайты работали нормально, лишь немного подтормаживая. Решил разобраться.
Анализ показал, что грузит процессор Apache. Посмотрев логи, я обнаружил тысячи вот таких запросов
216.70.105.32 — — [25/Jun/2014:11:18:54 +0400] «POST /wp-login.php HTTP/1.0» 403 494 «-» «-«
Все понятно, ломятся в админку WordPress. Но я пароль не забывал, да и IP не мой 🙂 Следовательно, необходимо заблокировать этот IP. Блокировать решил самым простым способом — через .htaccess.
Блокирование IP в .htaccess
Итак, IP адрес недоброжелателя известен, осталось его заблокировать. Для этого открываем в корне сайта файл .htaccess, а если такого нет, то создаем его. И прописываем в него несколько строк
<Limit GET POST>
order allow,deny
deny from 216.70.105.32
allow from all
</Limit>
Этими строками мы блокируем доступ к сайту с IP 216.70.105.32. Если запросы следуют с нескольких адресов, то можно добавить по аналогии еще необходимое количество строк вида deny from <блокируемый IP>
Теперь, если злоумышленник попытается зайти на сайт, то он получит ошибку 403 Forbidden (доступ запрещен). Конечно и нагрузка на сайт от этого пользователя создаваться не будет.

Заблокированный через .htaccess IP