Защита WordPress от брутфорса

Защита WordPress от брутфорса
Защита WordPress от брутфорса

Брутвфорс, он же brute force — это атаки на сайт жертвы с последующим поиском и подбором пароля. Пароль пытаются сгенерировать из всех возможных значений. Давайте поговорим с Вами о способах защиты от брутфорс. Наиболее частые атаки на Вордпресс осуществляются этим методом.

Системы на WordPress постоянно подвергаются брутфорс-атакам. Обычно все многократные обращения к HTTPS/HTTP страницам настолько очевидны, что IP-адрес практически мгновенно блокируется. Для доступа к сайту тихим способом начали обходить защиту через XML-RPC. Начиная с версии 3.5+ и старше, опция активна.

Проблема заключает в том, что большинство средств защиты WordPress отвечают только на попытки воздействия через wp-login.php. А вот про вход через XML-RPC забывают. Отслеживать HTTP-логи бесполезно, в них ничего видно не будет. Атакующие беспрепятственно взаимодействуют с сайтом, в случае неудачной попытки они максимум получают ответ error 403.

1. Убираем навсегда пользователя Admin

Если Вы уже разобрались с этой проблемой, то сразу переходим ко второму пункту. Начиная с релиза WordPress 3.0+ и выше, сделать это можно простым способом. Создаем аккаунт нового пользователя, выставляем права администратора. Старого пользователя с ником «Admin» — затираем. В процессе удаления Вам будет предложено передать права на записи старого пользователя к новому.

Старые версии WordPress используют следующие запросы через MySQL:

UPDATE wp_users SET user_login = ‘Ваш новый логин’ WHERE user_login = ‘Admin’;
UPDATE wp_posts SET post_author = ‘Ваш новый логин’ WHERE post_author = ‘admin’;

2. Администратор сайта WordPress со сложным паролем

Пароль должен содержать минимум 12 знаков. И конечно, не забываем про использование разного регистра знаков.

3. Когда осуществляется brut force атака, сайт WordPress подвергается массированному натиску запросов к «wp-login.php». Лучше, если защита будет носить двойной характер.

В случае, когда администратор у сайта один, то можно воспользоваться только одним статичным IP-адресом. Остальные IP-адреса для доступа к «wp-admin» блокируем с помощью .htaccess.

order deny,allow
deny from all
allow from IP

IP — это действующий адрес Вашего компьютера.
Если помимо Вас сайт администрируют большое количество модераторов, можете добавить их статичные адреса следом. К примеру, сделать это следующим образом:

order deny,allow
deny from all
allow from IP1
allow from IP2
allow from IP3

Соответственно, IP1,2,3 — это наши модераторы WordPress. Таким образом, мы просто отсеиваем всех юзеров (они же боты) со статичными IP-адресами (или динамичными). Для нас даже не важно, с какого именно IP адреса будут заходить. Мы разрешили  вход только нескольким пользователям и все. Для остальных доступ к файлу wp-admin/wp-login.php будет закрыт. Их будет приветствовать ошибка 403.