Защищаем WordPress от брутфорса.
Одним прекрасным вечером мне начали сыпаться предупреждения о недоступности сайтов.
Сайты то отключались то снова включались. Странно.
Посмотрев на трафик – посещение не возросло, а значит почему-то возросла нагрузка на сервер (загрузка процессора подскочила до 100%).
Оченя плохо начальника!
Заглянув в логи обнаружил что кто-то постоянно пытается обратиться к страницам входа в админку сайтов на вордпресс.
На лицо типичный брутфорс или брут.
Брутфорс – перебор паролей. Специальная программа пытается подобрать пароль к сайту, путем простого (или не простого) перебора паролей.
Естественно это сильно нагружает сайт, т.к. сервер должен обрабатывать кучу запросов. В итоге сайты перестают отвечать и ваши посетители не могут нормально пользоваться сайтом.
Выход может быть следующим.
Поставим между злоумышленником и сайтом еще одну стеночку. Да, все можно сломать, но это дополнительное время + снижение нагрузки на сайты.
Т.е. для того чтобы попасть на страницу ввода пароля к Вордпресс нужно ввести еще один пароль.
Делается это так:
Создаем в корневой директории сайта файл .htpasswd да, да с точкой вначале (ваша конфигурация сервера может не отображать такие файлы – мучайте саппорт)
Далее идем на сайт http://www.htaccesstools.com/htpasswd-generator/ и вводим логин и пароль
получаем на выходе такой текст (логин test пароль test вам есть смысл ввести свои данные)
test:$apr1$LXKKNrgE$YhE9qKIB.aCqf3syFXbIo0
Эту строчку и помещаем в новосозданный файл
Далее открываем файл .htaccess (или создаем, если его нет)
и пишем (или дописываем в конце)
<Files wp-login.php>
AuthName “Access Denied”
AuthType Basic
AuthUserFile полный_путь_до_корня_сайта/.htpasswd
require valid-user
</Files>
где “полный_путь_до_корня_сайта” – это абсолютный путь от корня файловой системы.
например, для ISPManager он будет выглядеть так: /var/www/имя_пользователя/data/www/адрес_сайта/.htpasswd
Готово!
Теперь проверяем работоспособность и с облегчением вздыхаем. Сайты работают.
Пока…