FYZI Shield / Статьи / Защита WordPress

Защита WordPress от взлома: чек-лист из 20 пунктов

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

WordPress · Обновлено 6 октября 2026 · 4 мин чтения

Обновления и плагины

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

Большинство взломов WordPress происходит через уязвимые плагины. Включите автообновления для плагинов из официального каталога: «Плагины» → «Включить автообновления». Для критичных сайтов делайте бэкап перед обновлением.

2. Удалите неиспользуемые плагины и темы

Отключённый плагин всё равно лежит на сервере, и его файлы можно вызвать напрямую. Удалите всё, чем не пользуетесь, включая стандартные темы, кроме одной резервной.

3. Не используйте «нулённые» плагины

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

4. Следите за платными плагинами отдельно

Коммерческие плагины, купленные вне каталога WordPress, часто не обновляются автоматически. Именно через такой плагин-конструктор форм был взломан один из сайтов в наших кейсах: уязвимость эксплуатировали шесть недель.

Доступы и пароли

5. Уникальные длинные пароли

Для всех администраторов, хостинга, FTP, SSH и базы данных. Не меньше 16 символов, сгенерированных менеджером паролей.

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

Включите 2FA для всех пользователей с правами администратора и редактора — например, через плагин Two Factor или модуль в вашем плагине безопасности.

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

Боты перебирают пароли к wp-login.php и через XML-RPC. Ограничьте число попыток или закройте страницу входа по IP, если администраторы работают из постоянных мест.

8. Минимум администраторов

Давайте права администратора только тем, кому они действительно нужны. Контент-менеджерам хватит роли «Редактор». Раз в месяц проверяйте список пользователей.

9. Не используйте логин admin

Это первое, что пробуют боты. Создайте администратора с другим логином и удалите старого.

Настройки wp-config.php

10. Запретите редактирование файлов из админки

define('DISALLOW_FILE_EDIT', true);

Если злоумышленник получит доступ к админке, он не сможет вписать код в тему или плагин через встроенный редактор.

11. Отключите отладку на рабочем сайте

define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

Сообщения об ошибках раскрывают пути к файлам и структуру сайта, а файл debug.log бывает доступен из интернета и разрастается до гигабайтов.

12. Обновите секретные ключи

Замените ключи и соли в wp-config.php новыми — особенно после любого подозрения на взлом.

13. Закройте доступ к wp-config.php

<Files wp-config.php>
  Require all denied
</Files>

Сервер и файлы

14. Запретите выполнение PHP в папке загрузок

Это одна из самых эффективных мер: даже если через уязвимость на сервер загрузят веб-шелл, он не запустится. Создайте файл wp-content/uploads/.htaccess:

<FilesMatch "\.(php|phtml|php[0-9]|phar)$">
  Require all denied
</FilesMatch>

Для nginx аналогичное правило добавляется в конфигурацию сайта: location ~* /wp-content/uploads/.*\.php$ { deny all; }.

15. Правильные права на файлы

Папки — 755, файлы — 644, wp-config.php — 600 или 640. Права 777 недопустимы.

16. Актуальная версия PHP

Используйте поддерживаемую версию PHP — переключить её можно в панели хостинга. Старые версии не получают исправлений безопасности.

17. Скройте лишнее

Удалите readme.html и license.txt из корня, уберите версию WordPress из кода страниц, закройте листинг каталогов строкой Options -Indexes в .htaccess.

API и интерфейсы

18. Отключите XML-RPC, если он не нужен

XML-RPC нужен только для старых мобильных приложений и некоторых интеграций. Чаще всего его используют для перебора паролей.

add_filter('xmlrpc_enabled', '__return_false');

19. Ограничьте REST API для гостей

Через REST API можно получить список логинов пользователей, а в некоторых случаях — выполнять действия без авторизации. Закройте для неавторизованных пользователей хотя бы перечисление пользователей и пакетные запросы (/wp-json/batch/v1). Именно через пакетные запросы ботнет создавал администраторов на одном из сайтов, которые мы лечили.

Резервные копии и мониторинг

20. Бэкапы и мониторинг изменений

Ежедневные резервные копии файлов и базы во внешнее хранилище — не на тот же сервер. И мониторинг, который сообщит о взломе в первые минуты, а не через месяц: изменения файлов, новые администраторы, редиректы, попадание в чёрные списки.

Пункт 20 — ровно то, что делает FYZI Shield. Остальные пункты мы настраиваем при подключении на тарифе «Бизнес».

Частые вопросы

Достаточно ли поставить плагин безопасности?

Плагин закрывает часть пунктов, но не все: права файлов, версия PHP, запрет PHP в uploads на nginx и внешние бэкапы настраиваются отдельно. Сравнение популярных плагинов — в статье о плагинах безопасности WordPress.

Нужно ли менять адрес страницы входа?

Это снижает шум от ботов в логах, но не защищает от целенаправленной атаки. Ограничение попыток входа и 2FA дают гораздо больше.

Можно настроить всё это за меня?

Да. При подключении тарифа «Бизнес» мы проводим аудит и настраиваем защиту, а дальше ежедневно следим за сайтом.

Читайте также

Сайт взломан? Пишите