Безопасность WordPress: пошаговая защита сайта
Практика3 минРедакция Innovialabs
Коротко
WordPress чаще всего взламывают через устаревшие плагины и слабые пароли, а не через ядро. Обновляйте всё, держите минимум проверенных плагинов, защитите вход двухфакторкой и лимитом попыток, отключите редактор файлов и ненужный XML-RPC, настройте права и делайте внешние бэкапы.
Откуда берутся взломы WordPress
Само ядро WordPress обновляется регулярно и в актуальной версии довольно надёжно. Большинство взломов происходит через три вещи:
- устаревшие или заброшенные плагины и темы;
- слабые и повторно используемые пароли администраторов;
- небрежная настройка сервера: лишние права на файлы, открытые резервные копии, старая версия PHP.
Поэтому защита — это не один «плагин безопасности», а набор простых привычек. Ниже — по шагам.
Шаг 1. Обновления
- Обновляйте ядро, плагины и темы. Для минорных релизов ядра можно оставить автообновление.
- Перед крупными обновлениями делайте бэкап и проверяйте на staging-копии, если сайт приносит деньги.
- Следите за версией PHP у хостинга: устаревшая ветка без патчей безопасности — отдельный риск.
- Удалите неактивные плагины и темы. Отключённый плагин всё равно лежит на сервере, и его файлы могут быть доступны извне.
Шаг 2. Проверка плагинов перед установкой
Перед установкой посмотрите:
- когда было последнее обновление и совместимость с текущей версией WordPress;
- число активных установок и ответы автора в поддержке;
- не закрыт ли плагин в официальном каталоге из-за проблем с безопасностью.
Никогда не ставьте «nulled» (взломанные платные) плагины и темы — в них часто встроен бэкдор. Правило простое: чем меньше плагинов, тем меньше поверхность атаки.
Шаг 3. Защита входа и админки
- Уникальный длинный пароль для каждого администратора и менеджер паролей.
- Двухфакторная аутентификация (2FA) для всех ролей с правами редактора и выше.
- Ограничение попыток входа — плагином, на уровне WAF или сервера.
- Не используйте логин
admin. Выдавайте людям минимально нужную роль: автору статей не нужен администратор. - Смена адреса
/wp-adminили/wp-login.phpснижает шум от ботов, но это не защита сама по себе — только дополнение к 2FA и лимитам. - Если команда работает с фиксированных адресов, можно закрыть админку по IP на уровне веб-сервера.
Шаг 4. Отключите редактор файлов и ненужный XML-RPC
Встроенный редактор тем и плагинов позволяет менять PHP-код прямо из админки. Если злоумышленник получит доступ администратора, это его первый инструмент. Отключите его в wp-config.php:
define( 'DISALLOW_FILE_EDIT', true );
XML-RPC (xmlrpc.php) — старый интерфейс для удалённого управления. Его используют для перебора паролей и усиления атак. Если вы не публикуете через сторонние приложения и не используете сервисы, которым он нужен, закройте его на уровне веб-сервера, например в Nginx:
location = /xmlrpc.php {
deny all;
}
Перед отключением проверьте, не зависят ли от XML-RPC ваши интеграции и мобильные приложения.
Шаг 5. Права на файлы и конфигурация сервера
Общий ориентир из документации WordPress:
| Объект | Права |
|---|---|
| Папки | 755 |
| Файлы | 644 |
wp-config.php | строже, например 640 или 600 — в зависимости от того, от какого пользователя работает PHP |
Дополнительно:
- запретите выполнение PHP в папке
wp-content/uploads; - не храните бэкапы и дампы базы в публичной папке сайта;
- включите HTTPS и перенаправление с HTTP;
- смените стандартный префикс таблиц только на новой установке — на живом сайте это рискованно и почти не даёт защиты.
Шаг 6. Бэкапы и сканирование
- Автоматические бэкапы файлов и базы данных, которые хранятся вне сервера сайта. Копия на том же хостинге пропадёт вместе с ним.
- Регулярно проверяйте, что копию действительно можно восстановить.
- Подключите сканер вредоносного кода и мониторинг изменений файлов — плагином или на стороне хостинга.
- Включите уведомления о новых администраторах и входах с незнакомых адресов.
Частые ошибки
- Ставить пять «плагинов безопасности» одновременно — они конфликтуют и замедляют сайт.
- Давать подрядчикам постоянный доступ администратора и не отзывать его после работ.
- Считать, что маленький сайт никому не интересен: боты атакуют всех подряд автоматически.