Гид по технологиям

Как защитить сайт на WordPress: пошаговое руководство

• 11 min read • Безопасность • Обновлено 01 Dec 2025
Как защитить сайт на WordPress
Как защитить сайт на WordPress

Важное: начните с резервной копии перед крупными изменениями и тестируйте на копии сайта, если это возможно.

Основные варианты запроса (primary intent и смежные формулировки)

  • Как защитить WordPress
  • Безопасность WordPress
  • Защитить сайт WordPress от взлома
  • Плагин безопасности WordPress
  • Защита wp-admin
  • Двухфакторная аутентификация WordPress

Введение

Защита блога или сайта на WordPress — обязательная задача после развертывания. Оставлять сайт открытым для автоматических атак и ботов — значит подвергать данные и репутацию риску. Небольшие инвестиции времени в настройку безопасности часто спасают часы и дни восстановления после инцидентов. Этот материал объединяет практики, плагины и пошаговые инструкции для владельцев сайтов, администраторов и разработчиков.

Важно: большинство рекомендаций применимы к стандартной установке WordPress на хостинге с доступом по FTP/cPanel. Если вы используете managed WordPress (обслуживаемый хостинг), часть шагов может быть уже реализована провайдером.

Содержание

    1. Установите комплексный плагин безопасности
    1. Остановите brute force атаки
    1. Используйте надёжные пароли
    1. Защитите папку wp-admin
    1. Уберите информацию о версии WordPress
    1. Спрячьте папку плагинов
    1. Измените имя пользователя администратора
    1. Обновляйте ядро, темы и плагины
    1. Проводите регулярные сканы безопасности
    1. Дублируйте (резервируйте) сайт
    1. Настройте права пользователей
    1. Установите SSL
    1. Отключите редактирование файлов из панели
    1. Включите двухфакторную аутентификацию (2FA)
  • Практические дополнительные разделы: чеклисты по ролям, план отката, критерии приёмки, тест-кейсы, модель принятия решений, GDPR/конфиденциальность

1. Установите комплексный плагин безопасности

Чтобы быстро закрыть базовые векторы атак, начните с плагина, который объединяет множество функций: брандмауэр, сканер вредоносного кода, блокировка IP, двухфакторная аутентификация и мониторинг изменений файлов.

Рекомендации по выбору плагина:

  • All-In-One Security (AIOS) — простой в настройке, много бесплатных функций.
  • Sucuri Security — сильный мониторинг и внешний брандмауэр (частично платный).
  • Wordfence — мощный сканер и брандмауэр, но может быть тяжёлым для слабых хостов.

Что делает плагин безопасности (основные возможности):

  • Блокирует brute force и отслеживает попытки входа.
  • Поддерживает двухфакторную аутентификацию.
  • Скрывает страницу входа от ботов.
  • Форсирует выходы (log out) для долго неактивных сессий.
  • Повышает требования к паролям и обновляет соливку (salts).
  • Добавляет базовый брандмауэр и сканирование файлов.
  • Уменьшает спам-комментарии.

Примечание: установка одного комплексного плагина предпочтительнее набора небольших плагинов с пересекающейся функциональностью — это упрощает управление и снижает вероятность конфликтов.

Защита WordPress: комплексный плагин

ALT: Скриншот интерфейса плагина безопасности WordPress с настройками брандмауэра


2. Остановите brute force атаки

Brute force (перебор) — частая причина компрометации: бот перебирает комбинации логинов и паролей. Защититься можно несколькими способами:

  • Установите плагин блокировки входа (например, Login Lockdown или встроенный в Wordfence модуль).
  • Ограничьте число попыток входа с одного IP и добавьте временные блокировки.
  • Включите CAPTCHA или reCAPTCHA на форме входа.
  • Ведите мониторинг неудачных попыток и получайте уведомления на почту или в мессенджер.

Дополнительные меры:

  • Скрыть страницу входа (изменить URL /wp-login.php → /вход-ваш-ключ).
  • Блокировать диапазоны IP по географии, если ваши пользователи из ограниченного региона.

Brute force атаки: защита формы входа

ALT: Диаграмма попыток неудачного входа и блокировки по IP


3. Используйте надёжные пароли

Коротко: сильный пароль — это одна из главных линий защиты.

Рекомендации:

  • Минимум 12 символов; лучше — 16+ для админов.
  • Комбинация заглавных/строчных букв, цифр и специальных символов.
  • Используйте генератор паролей или менеджер паролей (Bitwarden, 1Password, KeePass).
  • Не используйте повторно админские пароли на других сервисах.
  • Включайте политику паролей для пользователей (минимальная длина, блокировка старых паролей).

Примечание: WordPress имеет встроенную оценку сложности пароля в более новых версиях — используйте её.

Генерация пароля и менеджер паролей

ALT: Окно генерации пароля в WordPress и иконки менеджеров паролей


4. Защитите папку wp-admin

Папка wp-admin содержит административные инструменты и доступ к базе данных через интерфейс. Защитить её можно несколькими способами.

Вариант A — через панель хостинга (cPanel):

  1. Войдите в cPanel.
  2. В разделе «Безопасность» выберите «Защита паролем директорий».
  3. Выберите папку /wp-admin и задайте дополнительную парольную защиту.

Вариант B — через .htaccess и .htpasswd (ручной, требует аккуратности):

  1. Создайте файл “.htaccess” и вставьте (отредактируйте путь и имя пользователя):
AuthName"Admins Only"  
AuthUserFile /home/user/public_html/example.com/wp-admin/.htpasswd  
AuthGroupFile /dev/null  
AuthType basic  
requireuser yourusername
  1. Создайте файл “.htpasswd” и сгенерируйте в нём хеш пользователя через htpasswd-генератор.
  2. Загрузите оба файла в папку /wp-admin.

Ограничения и риски:

  • Неправильная конфигурация .htaccess может заблокировать весь сайт — всегда делайте бэкап.
  • При использовании внешнего брандмауэра/Reverse Proxy (Cloudflare, Sucuri) поведение может отличаться — тестируйте на копии.

Защита папки wp-admin в cPanel

ALT: Интерфейс cPanel с опцией защиты директорий паролем


5. Уберите информацию о версии WordPress

Многие темы и плагины выводят мета-тег с версией WordPress. Это даёт злоумышленнику подсказку о возможных уязвимостях.

Как убрать (через редактор темы):

  1. Войдите в админ-панель WordPress.
  2. Перейдите Внешний вид → Редактор тем.
  3. Откройте файл header.php (Шапка / Header).
  4. Найдите и удалите строку:

Альтернатива: большинство плагинов безопасности умеют скрывать версию автоматически.

Замечание: при обновлениях темы строка может появиться снова — проверяйте после обновлений.


6. Спрячьте папку плагинов

Если по адресу https://вашсайт/wp-content/plugins доступен индекс папки, злоумышленник увидит список установленных плагинов и их версии.

Как закрыть:

  • Загрузите пустой файл index.html в папку /wp-content/plugins.
  • Альтернативно добавьте в .htaccess правило, запрещающее индексирование каталогов:
Options -Indexes

После этого браузер не будет перечислять файлы в каталоге.

Полезно: это не заменяет обновления и сканирование — просто снижает информационный шум для атакующего.


7. Измените логин администратора

По умолчанию многие установки используют логин admin, что облегчает жизнь атакующим. Лучше создать нового администратора с уникальным именем и удалить старого.

Шаги:

  1. Войдите в админ-панель → Пользователи → Добавить нового.
  2. Назначьте роль Администратор и задайте надёжный пароль.
  3. Подтвердите по электронной почте нового пользователя.
  4. Войдите под новым админом, удалите старого пользователя admin и при удалении переназначьте записи на нового пользователя.

Создание нового администратора

ALT: Форма добавления нового пользователя с ролью администратора в WordPress


8. Обновляйте ядро, темы и плагины

Обновления закрывают известные уязвимости. План действий:

  • Проверяйте обновления минимум раз в месяц (еженедельно — лучше).
  • Перед крупными обновлениями делайте полную резервную копию.
  • Включите автоматические обновления для точечных фикс-багов, если позволяют тесты.
  • Тестируйте обновления на staging-среде перед применением на продакшене.

Совет: используйте плагин для управления обновлениями (например, ManageWP, MainWP) если у вас несколько сайтов.


9. Проводите регулярные сканы безопасности

Сканирование помогает находить заражённые файлы, изменения в ядре и подозрительные плагины.

Рекомендации:

  • Насколько часто: минимум еженедельно; для высоконагруженных сайтов — ежедневно.
  • Инструменты: Wordfence, Sucuri, iThemes Security, SecuPress.
  • Настройте уведомления о критических изменениях (изменение файлов ядра, добавление админов).

Сканирование безопасности WordPress

ALT: Интерфейс сканера безопасности с результатами поиска вредоносного кода


10. Резервное копирование сайта

Резервные копии — ваша страховка. Они позволят восстановить работу после взлома или ошибки обновления.

Стратегия бэкапов:

  • База данных — ежедневно (если сайт активно обновляется).
  • Полные копии сайта (файлы + БД) — еженедельно или при крупном обновлении.
  • Храните копии вне сервера (S3, Dropbox, Offsite storage).
  • Тестируйте восстановление минимум раз в квартал.

Популярные плагины: UpdraftPlus, BackupBuddy, BlogVault, Jetpack VaultPress, All-In-One WP Migration.


11. Настройте права пользователей

Разделяйте обязанности: не всем пользователям нужен доступ администратора.

Инструменты и практики:

  • User Role Editor — плагин для точного контроля прав.
  • Принцип наименьших привилегий: назначайте роль, минимально необходимую для задач.
  • Регулярно проверяйте список пользователей и удаляйте неактивные аккаунты.

Роли и права пользователей

ALT: Список ролей пользователей в WordPress и настроек прав


12. Установите SSL

SSL/TLS шифрует трафик между пользователем и сайтом. Сегодня это стандарт: пользователи и поисковые системы ожидают HTTPS.

Опции получения сертификата:

  • Бесплатно: Let’s Encrypt — широко поддерживается хостингами.
  • Платные варианты: Comodo, GlobalSign, DigiCert и др. — дают расширенные гарантии/страхование.

Шаги интеграции:

  1. Получите сертификат у хоста или установите через панель (Let’s Encrypt часто доступен одним кликом).
  2. Принудительно перенаправляйте HTTP → HTTPS (в .htaccess или настройках сервера).
  3. Обновите внутренние ссылки и политики смешанного контента.

SSL сертификат на сайте WordPress

ALT: Замок безопасности в адресной строке браузера, подтверждающий HTTPS


13. Отключите редактирование файлов из панели

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

Чтобы отключить редактирование, добавьте в wp-config.php:

// Disable file edit  
define('DISALLOW_FILE_EDIT',true);

Шаги:

  1. Скачайте wp-config.php через FTP.
  2. Вставьте строку выше перед / That’s all, stop editing! Happy blogging. /.
  3. Загрузите файл обратно.

Это сохраняет возможность редактирования только через FTP/SFTP, где у вас больше контроля.


14. Включите двухфакторную аутентификацию (2FA)

2FA добавляет второй фактор (обычно код с телефона или приложение-аутентификатор), что значительно снижает риск взлома даже при компрометации пароля.

Рекомендации:

  • Используйте Google Authenticator, Authy, или miniOrange, WP 2FA, плагины от All-In-One Security.
  • Включайте 2FA для всех администраторов и редакторов.
  • Позаботьтесь о резервных кодах и способе восстановления доступа.

Двухфакторная аутентификация WordPress

ALT: Экран настройки двухфакторной аутентификации с QR-кодом и полем для кода


Дополнительные лучшие практики и тонкости

  • Ограничьте доступ к админ-панели по IP, если у вас фиксированные рабочие IP.
  • Перенесите доступ к базе данных на нестандартный порт и используйте сложные пароли.
  • Отключайте XML-RPC, если он не используется (вектор для DDoS и перебора).
  • Минимизируйте количество установленных плагинов: удаляйте неиспользуемые.
  • Контролируйте загрузку файлов: отключите прямое исполнение PHP в каталогах загрузок.

Пример правила .htaccess для защиты upload-папок:


  Deny from all

План реагирования на инцидент и откат (Runbook)

  1. Первичная оценка
    • Отключите сайт (режим обслуживания) при активном инциденте.
    • Соберите логи доступа, логи плагинов безопасности, список изменений.
  2. Изоляция
    • Заблокируйте подозрительные IP и учетные записи.
    • Смените пароли админов и ключи в wp-config.php (SALT).
  3. Восстановление
    • Восстановите сайт из последней чистой резервной копии.
    • Примените обновления и сканы перед запуском.
  4. Анализ причин
    • Найдите вектор проникновения (взлом плагина, уязвимость темы, украденные FTP-данные).
    • Закройте выявленные уязвимости.
  5. Коммуникация
    • Сообщите пользователям и, при необходимости, регуляторам. Подготовьте пресс- и служебное сообщение.
  6. Пост-инцидентное укрепление
    • Переосмыслите процесс обновлений, резервного копирования и мониторинга.

Важно: не удаляйте лог-файлы до полной завершённой проверки — они могут помочь в расследовании.


Роль‑ориентированные чеклисты

Администратор

  • Включить 2FA для всех админов.
  • Настроить автоматические уведомления о неудачных входах.
  • Проверять журналы безопасности минимум раз в неделю.
  • Делать полные бэкапы перед обновлениями.

Редактор/Автор

  • Использовать уникальный пароль.
  • Не устанавливать плагины/темы без разрешения администратора.
  • Сообщать о подозрительной активности.

Разработчик

  • Тестировать обновления на staging.
  • Писать безопасный код: проверять ввод, избегать SQL-инъекций, использовать prepared statements.
  • Использовать SFTP вместо FTP для загрузки файлов.

Критерии приёмки (как понять, что работа по безопасности выполнена)

  • Установлен и настроен плагин безопасности с включённым брандмауэром.
  • Включены и протестированы резервные копии; восстановление прошло успешно в тесте.
  • Двухфакторная аутентификация включена для всех админов.
  • Папка /wp-admin защищена дополнительной авторизацией или доступом по IP.
  • Редактирование файлов отключено через wp-config.php.
  • По результатам сканера нет активных предупреждений о заражённых файлах.

Тест-кейсы и приёмочные тесты

  • Попытка входа с неправильным паролем > проверить блокировку по IP.
  • Попытка доступа к /wp-content/plugins/ — должна возвращать index.html или 403.
  • Проверка восстановления из бэкапа — сайт должен полностью подниматься в тестовой среде.
  • Тест восстановления после удаления файла core — скрипт восстановления успешно возвращает файл.
  • Проверка 2FA: вход без второго фактора — должен быть запрещён.

Модель принятия решений (меритократия настроек)

  • Если сайт небольшой и статический — приоритет: бэкап + SSL + ограничение входа.
  • Для динамичных сайтов с пользователями — приоритет: мониторинг, 2FA, регулярные сканы.
  • Для интернет-магазинов — добавить: веб-аппликационный брандмауэр (WAF), PCI-совместимость, регулярные внешние аудиты.
flowchart TD
  A[Начало: есть сайт на WordPress?] --> B{Сайт один или несколько?}
  B -->|Один| C[Локальный админ: установить SSL, бэкап, 2FA]
  B -->|Несколько| D[Система управления: ManageWP, централизованные обновления]
  C --> E{Есть платный WAF?}
  D --> E
  E -->|Да| F[Настроить WAF и мониторинг]
  E -->|Нет| G[Установить плагин безопасности и частые бэкапы]
  F --> H[Тестирование и аудит]
  G --> H
  H --> I[Готово]

Совместимость и миграция

  • Перед сменой хостинга проверьте поддержку PHP (рекомендуется PHP 8.x), MySQL/MariaDB версии.
  • Опасайтесь плагинов, не обновлявшихся более года — они часто становятся уязвимыми.
  • При переносе на managed WordPress уточняйте у провайдера, какие функции безопасности уже реализованы.

Примечания по конфиденциальности и GDPR

  • Если вы храните персональные данные пользователей (имена, почты), документируйте, где и как хранятся бэкапы.
  • Ограничьте доступ к резервным копиям и шифруйте их при хранении в облаке.
  • При утечке персональных данных действуйте в соответствии с требованиями закона: уведомление пользователей и регуляторов, если это предусмотрено законом.

Краткий глоссарий (1 строка на термин)

  • Brute force — автоматический перебор паролей.
  • 2FA — двухфакторная аутентификация, второй фактор подтверждения.
  • WAF — веб-аппликационный брандмауэр, фильтрует вредоносный трафик.
  • Staging — тестовая копия сайта для безопасных изменений.
  • SALT — дополнительные символы для хеширования паролей.

Краткое резюме

  1. Начните с комплексного плагина безопасности, включите брандмауэр и сканирование.
  2. Включите 2FA и используйте менеджер паролей.
  3. Регулярно обновляйте ядро, темы и плагины и делайте резервные копии.
  4. Защитите папку wp-admin и ограничьте видимость плагинов.
  5. Иметь план реагирования и тестировать восстановление — ключ к спокойствию.

Image credit: Unsplash. Скриншоты: Crystal Crowder.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро