Защита WordPress от перебора паролей
Перебор паролей в WordPress идёт круглосуточно у всех. Меры по порядку — от тех, что решают проблему, до косметических.
3 мин чтения
Перебор паролей в WordPress — фоновый шум интернета. Он идёт у всех, не прекращается никогда и не требует, чтобы ваш сайт был чем-то интересен: достаточно, что он существует.
Меры ниже — по убыванию пользы.
Отключить xmlrpc.php
Самое полезное действие. xmlrpc.php позволяет проверять пароли пачками:
один запрос — сотня комбинаций. Это на порядки эффективнее для атакующего,
чем обычная форма входа.
Если вы не пользуетесь приложением WordPress на телефоне и не публикуете через сторонние редакторы, файл не нужен:
location = /xmlrpc.php {
deny all;
}
Ограничить попытки входа
Плагин, считающий неудачные попытки с одного адреса и блокирующий после пяти. Работает и стоит десять минут установки.
Ограничение способа: он видит только свою CMS и только страницу входа. Тот же адрес, который перебирает пароли, обычно до этого сканировал пути и обходил каталог — плагин про это не знает.
Ограничить доступ к админке по IP
Если вы заходите в админку из одного-двух мест, это лучшая мера:
location = /wp-login.php {
allow 203.0.113.7;
deny all;
}
Не подойдёт, если у вас динамический адрес или несколько редакторов в разъездах.
Двухфакторный вход
Не останавливает перебор, но делает его бессмысленным: даже угаданный пароль не пускает. Стоит включить всем администраторам.
Сменить адрес входа
Плагины, переносящие вход с /wp-login.php на /moy-vhod. Массовые
переборщики действительно отсекаются: они ходят по стандартным адресам.
Но это защита через незаметность. Целевой сканер найдёт новый адрес по редиректам и по кодам ответа. Мера полезная, но не основная.
Чего не делать
Не рассчитывайте на сложный пароль как на единственную меру. Он защищает от угадывания, но не снимает нагрузку: сервер всё равно проверяет каждую попытку, а проверка пароля — операция тяжёлая по замыслу. Тысяча попыток в минуту кладёт сайт и без успешного входа.
Не блокируйте по одному факту обращения к странице входа. Владелец сайта тоже туда ходит. Штрафовать за визит — верный способ однажды закрыть себе доступ в собственную админку. Считать нужно частоту.
Не блокируйте адреса мобильных операторов насовсем. За одним таким адресом сидят тысячи абонентов: заблокировав его, вы отрежете район.
Что даёт антибот сверх этого
Он видит весь трафик сайта, а не только страницу входа. К моменту первой
попытки входа адрес, который до этого сканировал /.env и обходил
каталог, уже под подозрением. Плюс решение принимается до загрузки
WordPress — тяжёлая часть работы вообще не выполняется, и нагрузка от
перебора не доходит до PHP и базы.
Читайте также
- Белые списки: что в них заносить и как не забыть Самая скучная часть настройки и самая полезная. Что заносить, в каком виде и почему пути надёжнее адресов.
- Семь ошибок при настройке защиты от ботов Каждая из них выглядит разумно в момент настройки и обнаруживается спустя недели, когда убытки уже посчитаны.
- Сайт под атакой ботов: что делать прямо сейчас Короткая инструкция для ситуации, когда разбираться некогда: сайт тормозит или лёг, и подозрение на ботов.