Как защитить WordPress от bruteforce атак

Bruteforce атаки — одна из самых распространенных угроз для WordPress-сайтов. Злоумышленники пытаются подобрать пароль к админке перебором различных вариантов, что может привести к взлому сайта и потере контроля над ним. В этом материале мы рассмотрим эффективные методы защиты от bruteforce атак, а также познакомимся с полезными плагинами и примером собственного кода для усиления безопасности.

Почему bruteforce атаки опасны для WordPress

Bruteforce атаки представляют собой автоматизированный перебор паролей для входа в административную панель. В случае успеха злоумышленник получает полный доступ к сайту, что ведет к серьезным последствиям:

  • Взлом и удаление контента;
  • Установка вредоносного ПО;
  • Использование сайта для рассылки спама;
  • Потеря доверия пользователей и SEO позиций.

WordPress по умолчанию не имеет жестких ограничений на попытки входа, поэтому без дополнительной защиты сайт уязвим.

Основные методы защиты от bruteforce атак

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

Самый эффективный способ — ограничить количество неудачных попыток, после чего временно блокировать IP адрес. Это существенно снижает вероятность взлома. Существуют как плагины, так и возможность реализовать это самостоятельно.

2. Использование двухфакторной аутентификации (2FA)

Добавление второго уровня подтверждения входа, например, через приложение Google Authenticator или SMS, значительно повышает безопасность, так как для входа требуется не только пароль, но и временный код.

3. Смена стандартного URL входа

Адрес по умолчанию /wp-login.php или /wp-admin широко известен. Изменение URL входа усложняет задачу злоумышленникам.

4. Использование сложных паролей и регулярное их обновление

Это базовое правило безопасности, которое часто игнорируют. Пароли должны содержать буквы разных регистров, цифры и специальные символы.

Популярные плагины для защиты от bruteforce атак

Плагин WP7 Limit Login Attempts

Этот плагин позволяет ограничить количество попыток входа, настроить время блокировки IP и отправлять уведомления администратору. Прост в установке и настройке.

Плагин WP7 Two Factor Authentication

Добавляет двухфакторную аутентификацию для всех пользователей с правами администратора и редактора. Поддерживает Google Authenticator и почтовые коды.

Плагин WP7 Rename Login

Позволяет изменить URL страницы входа на произвольный, что снижает риск автоматических атак.

Пример кода для ограничения попыток входа без плагина

Если хочется обойтись без плагинов, можно добавить следующий код в файл functions.php вашей темы. Код реализует простую блокировку IP после 5 неудачных попыток входа на 15 минут.

function wp7_limit_login_attempts() {
    $max_attempts = 5;
    $lockout_time = 15 * 60; // 15 минут
    $ip = $_SERVER['REMOTE_ADDR'];
    $attempts = get_transient('wp7_login_attempts_' . $ip);

    if ($attempts && $attempts['count'] >= $max_attempts) {
        $time_passed = time() - $attempts['last_attempt'];
        if ($time_passed < $lockout_time) {
            wp_die('Слишком много попыток входа. Попробуйте позже.');
        } else {
            delete_transient('wp7_login_attempts_' . $ip);
        }
    }
}
add_action('wp_login_failed', 'wp7_record_failed_login');
function wp7_record_failed_login() {
    $ip = $_SERVER['REMOTE_ADDR'];
    $attempts = get_transient('wp7_login_attempts_' . $ip);

    if (!$attempts) {
        $attempts = ['count' => 1, 'last_attempt' => time()];
    } else {
        $attempts['count']++;
        $attempts['last_attempt'] = time();
    }
    set_transient('wp7_login_attempts_' . $ip, $attempts, 15 * 60);
}
add_action('login_init', 'wp7_limit_login_attempts');

Этот код хранит количество неудачных попыток для каждого IP в transient и блокирует вход на 15 минут после 5 неудачных попыток.

Дополнительные советы по защите

Использование SSL

Обязательно настройте HTTPS на сайте, чтобы данные входа передавались в зашифрованном виде.

Регулярное обновление WordPress и плагинов

Обновления часто содержат исправления уязвимостей, поэтому их нельзя игнорировать.

Ограничение доступа по IP

Если у вас фиксированный IP для работы, можно ограничить доступ к админке только с него через .htaccess или конфигурацию сервера.

Выводы

Защита от bruteforce атак — обязательный шаг для любого WordPress-сайта. Использование комбинации методов — ограничение попыток, 2FA, смена URL и сложные пароли — значительно снизит риск взлома. Для быстрого внедрения можно использовать проверенные плагины, а для максимального контроля — написать собственные решения, как показано в примере кода.

Как удалить или заблокировать плагин WordPress правильно
08.11.2025
Как изменить регистр слагов в WordPress
04.12.2025
WordPress: как создать собственный виджет с примером кода
27.11.2025
Как добавить собственные поля в WordPress без плагинов
11.11.2025
Как изменить структуру URL сообщений в WordPress без плагинов
19.01.2026