Как сделать защиту от brute force атак на вход в WordPress

Диагностика проблемы: как понять, что сайт подвержен brute force атакам

Brute force атаки — это автоматизированные попытки подобрать пароль к административной панели WordPress путём перебора вариантов. Основные признаки проблемы:

  • Повышенная нагрузка на сервер в ночное время;
  • Множество неудачных попыток входа в логи веб-сервера;
  • Появление в логах wp-login.php большого количества POST-запросов с разных IP;
  • Блокировка аккаунтов или временная невозможность входа из-за слишком большого количества попыток.

Для проверки можно использовать логи сервера или плагины безопасности, например, Wordfence, которые фиксируют попытки взлома.

Пошаговое решение: базовая защита от brute force атак в WordPress

1. Ограничение количества попыток входа

Добавление ограничения количества попыток входа поможет блокировать IP после нескольких неудачных попыток. В WordPress можно использовать плагин Loginizer или написать собственный код с использованием сессий и фильтра authenticate.

2. Добавление двухфакторной аутентификации (2FA)

2FA значительно усложняет доступ злоумышленникам. Для реализации можно использовать плагин Google Authenticator или Clearfy Pro с функцией 2FA.

3. Изменение URL страницы входа

По умолчанию страница входа доступна по адресу /wp-login.php или /wp-admin. Смена URL снижает количество автоматических попыток. Для этого можно использовать плагин WPS Hide Login или добавить в functions.php следующий код:

add_action('init', function() {
    if (strpos($_SERVER['REQUEST_URI'], 'my-login') === false && strpos($_SERVER['REQUEST_URI'], 'wp-login.php') !== false) {
        wp_redirect(home_url('/my-login'));
        exit;
    }
});

Где my-login — ваш новый URL для входа.

4. Блокировка по IP через .htaccess

Если замечаете подозрительную активность с определённых IP, можно заблокировать доступ в административную часть через .htaccess:

# Блокировка доступа к wp-login.php
<Files wp-login.php>
    order deny,allow
    deny from all
    allow from 123.123.123.123
</Files>

Замените 123.123.123.123 на свой IP.

Проверка результата после внедрения защиты

  • Проверьте логи сервера: уменьшилось ли количество неудачных попыток входа;
  • Попробуйте зайти с другого устройства с неправильным паролем — должно сработать ограничение попыток;
  • Проверьте работу двухфакторной аутентификации;
  • Убедитесь, что старая страница входа недоступна или редиректит на новый URL.

Частые ошибки и как их исправить

  • Ошибка: Ограничение попыток не срабатывает.
    Причина: Кэширование на сервере или CDN блокирует работу плагина.
    Решение: Отключите кэширование для страницы входа или настройте исключения.
  • Ошибка: 2FA блокирует законного пользователя.
    Причина: Несовместимость плагинов или некорректная настройка.
    Решение: Проверьте логи, обновите плагины, настройте резервный адрес электронной почты или SMS.
  • Ошибка: Новый URL входа не работает.
    Причина: Неправильный редирект или конфликт с плагинами.
    Решение: Проверьте код, используйте проверенный плагин для смены URL.

Практические советы по безопасности и производительности

  • Регулярно обновляйте WordPress, темы и плагины.
  • Используйте надежные пароли и двухфакторную аутентификацию у всех пользователей с правами администратора.
  • Ограничьте количество пользователей с правами администратора.
  • Используйте файрволы и системы обнаружения вторжений, например, Clearfy Pro.
  • Минимизируйте плагины, влияющие на производительность входа, чтобы не увеличивать время загрузки.

Сравнение базовых способов защиты от brute force атак

МетодПреимуществаНедостатки
Плагин ограничений попыток входа (Loginizer)Прост в установке, гибкая настройка, бесплатныйМожет конфликтовать с кэшированием, требует настройки
Двухфакторная аутентификацияВысокая безопасность, минимальные ложные срабатыванияНужно настраивать у пользователей, может быть сложен новичкам
Смена URL входаСнижает количество автоматических атакПользователи могут забыть URL, требует поддержки
Блокировка IP через .htaccessПростое и быстрое решениеТребуется постоянное обновление списка, неэффективно при динамических IP

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как избежать проблемы с совместимостью плагинов в WordPress: практическое руководство
30.01.2026
Как разрешить использовать PHP в шорткодах WordPress: практическое руководство
06.12.2025
Как настроить отложенный запуск функций в WordPress с помощью Cron
21.02.2026
Как создать уникальный тип записи WordPress с поддержкой метаполей
10.02.2026
Как использовать WPRemark для управления комментариями в WordPress
13.04.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше