Для: всех, кто ведёт сайт на WordPress. Здесь нет шагов атаки — это рабочий референс по хардненингу: приоритетный чек-лист, руководство по областям и самопроверка. Общую по фреймворкам картину смотрите на хабе безопасности по фреймворкам.
Приоритетный чек-лист хардненинга
Выполняйте эту таблицу сверху вниз. P0 — высший приоритет, P1 — самый частый источник инцидентов, P2 — постоянное сопровождение.
P0 ── Предпосылка (сначала это)
Автообновления / удаление неиспользуемых плагинов и тем / надёжный администратор + 2FA
P1 ── Главный источник инцидентов
Минимизация плагинов / снижение открытости админки / восстановимые резервные копии
P2 ── Постоянное сопровождение
wp-config и секреты / права на файлы / HTTPS, заголовки, обновление PHP/зависимостей
| Приоритет | Мера | Конкретика (WordPress) |
|---|---|---|
| P0 | Автообновления | Включите автообновления для ядра, плагинов, тем. Делайте резервную копию перед мажорными обновлениями |
| P0 | Удалять неиспользуемое | Удаляйте неиспользуемые плагины/темы, не просто отключайте (оставшиеся файлы всё ещё цель) |
| P0 | Надёжный администратор + 2FA | Надёжный пароль + двухфакторная. Избегайте имени пользователя admin; роли по наименьшим привилегиям |
| P1 | Минимизация плагинов | Перед установкой проверяйте частоту обновлений, распространённость, известные CVE. Держите число низким |
| P1 | Защита входа | Ограничение числа попыток входа. Ограничьте открытость wp-admin/wp-login.php |
| P1 | Снижение открытости | Ограничьте xmlrpc.php, если не используется. Подавите перечисление пользователей через REST API |
| P1 | Резервные копии | Офлайн/раздельные восстановимые резервные копии + тесты восстановления + обнаружение подмены |
| P2 | wp-config и секреты | Задайте ключи/соли аутентификации, защитите wp-config.php, отключите вывод отладки в продакшне |
| P2 | Права на файлы | ~644 файлы / 755 каталоги. Запретите выполнение PHP в каталоге загрузок |
| P2 | HTTPS/заголовки/обновления | Принудительный HTTPS, HSTS и т.д. Держите PHP/БД на поддерживаемых версиях |
1. Обновления (главная защита)
Большинство атак на WordPress — это автоматизированные инструменты, массово бьющие по опубликованной известной уязвимости (CVE). Поэтому скорость обновления — ваша самая большая защита.
- Включите автообновления для ядра, плагинов и тем, чтобы опубликованные уязвимости закрывались до того, как их начнут эксплуатировать.
- Для важных сайтов проверяйте мажорные обновления в staging и делайте резервную копию перед обновлением.
- Пропущенное обновление оставляет путь для автоматизированных атак. Не откладывайте «на потом».
2. Плагины и темы (поверхность атаки)
Уязвимости стороннего кода — самый частый путь проникновения. Главное — держать число низким и никогда не оставлять без присмотра.
- Всё неиспользуемое удаляйте, а не отключайте (отключённые файлы всё ещё могут быть целью).
- Перед установкой проверяйте частоту обновлений, распространённость, дату последнего обновления и известные CVE. Избегайте заброшенных.
- Проверить CVE плагинов можно через поиск CVE/KEV. Меньше расширений — меньше ответственности за обновления и меньше поверхность атаки.
3. Учётные записи администратора и аутентификация
Большинство захватов — это перебор против слабых/переиспользуемых учётных записей администратора или переиспользование утёкших паролей.
Частое (опасное)
- имя пользователя
admin+ слабый пароль + без 2FA - все являются администраторами (нет разделения ролей)
- неограниченное число попыток входа
wp-adminдоступен откуда угодно
Правильно
- надёжный пароль + 2FA, имя пользователя, отличное от
admin - роли по наименьшим привилегиям (используйте редактора/автора уместно)
- ограничение числа попыток входа (сдерживает перебор)
- где возможно, ограничьте, откуда можно достучаться до
wp-admin/wp-login.php
О выборе 2FA см. что такое 2FA; о маршруте, нацеленном на администраторов, см. что такое фишинг.
4. Снижение открытости (поверхность администрирования и раскрытие информации)
Атакующие сначала ищут то, через что можно проникнуть. Отсекайте неиспользуемые функции и ненужное раскрытие информации.
- Добавьте ограничение числа попыток входа, чтобы снизить эффективность перебора.
- Ограничьте
xmlrpc.php, если он не используется (им можно злоупотребить, чтобы ускорить перебор паролей и слать большой поток запросов). - Подавите перечисление пользователей через REST API (не допускайте раскрытия имён администраторов через
?author=и т.п.). - Отключите листинг каталогов и сократите ненужное раскрытие версий.
- Отключите редактирование файлов из админки (
DISALLOW_FILE_EDIT), чтобы усложнить подмену после проникновения.
5. wp-config и секреты (P2)
- Задайте уникальные ключи/соли аутентификации и защитите
wp-config.phpсоответствующими правами (никогда не делайте доступным для чтения всем). - Держите секреты вроде учётных данных БД вне публичной поверхности. Не оставляйте резервные копии или экспорты в публичном каталоге (→ не храните секреты в публичных каталогах).
- В продакшне отключите вывод отладки (
WP_DEBUG_DISPLAYвыключен). Не раскрывайте внутренности через ошибки.
6. Файлы и загрузки (P2)
- Права на файлы примерно 644 файлы / 755 каталоги, и строже для
wp-config.php. Никогда не оставляйте что-либо доступным для записи всем. - Не допускайте выполнения PHP в каталоге загрузок (защита от веб-шелла). Проверяйте тип и размер загрузок.
- Используйте обнаружение подмены (мониторинг изменений файлов), чтобы рано замечать изменения после проникновения.
7. HTTPS, заголовки, резервные копии (P2)
- Принудительный HTTPS + HSTS. Устраните смешанный контент.
- Добавьте заголовки безопасности (проверьте свой сайт через проверку заголовков безопасности).
- Держите офлайн/неизменяемые резервные копии + тесты восстановления, чтобы вы могли восстановиться (→ основы резервных копий). Это последнее средство восстановиться после шифровальщика или дефейса.
8. Хостинг и зависимости (P1–P2)
- Держите PHP и базу данных на поддерживаемых версиях. Не оставляйте EOL-версии на месте.
- Знайте статус патчей вашего хостинга (на общем хостинге это включает реакцию провайдера).
- WAF — это дополнение. Сначала наладьте основы (обновления, минимизация, аутентификация, резервные копии).
Проверка: действительно ли ваш WordPress укреплён?
Собрать — это ещё не конец; готово только тогда, когда вы проверили. Это защитные самопроверки против собственного сайта.
Секреты и конфигурация не открыты
/wp-config.php не возвращает своё содержимое и что резервные копии (.zip/.sql) или файлы типа .env нельзя получить по URL.Имена администраторов и версии не утекают
?author=1 и подобное не раскрывают имя пользователя администратора и что листинг каталогов отключён.Защита входа и 2FA работают
admin.Обновления, резервные копии, заголовки
Эти четыре проверки показывают, укреплён ли сайт. Если вы уже подозреваете, что его изменили или захватили, см. как проверить, не взломан ли ваш сайт или сервер.
Взгляд нашего сайта: не ставьте лишних плагинов и не оставляйте их без присмотра
Для WordPress работает не особая конфигурация, а операционная дисциплина «не добавлять расширений сверх меры, не оставлять их без присмотра». Плагины удобны, но каждый добавляет ответственность продолжать обновлять. Главное — пройти таблицу выше сверху вниз: автоматизируйте обновления, держите плагины минимальными и защищайтесь надёжной аутентификацией и восстановимыми резервными копиями. Выглядит специфично для WordPress, но на деле это основы, применимые к любой технологии (обновление зависимостей, минимум публично доступного, аутентификация, восстановление).
Читать дальше
- Хаб: безопасность по фреймворкам · безопасность Laravel
- Проверка на вторжение: как проверить, не взломан ли ваш сайт или сервер
- Практика: плейбук реагирования на уязвимости · основы резервных копий
- Секреты/аутентификация: не храните секреты в публичных каталогах · что такое 2FA · что такое фишинг
- Инструменты: проверка заголовков безопасности · поиск CVE/KEV
- Срочно: уязвимость WordPress 7.1.4 CVE-2026-119977 (RCE во время обновления, автообновления и проверка версии)
Источники и область проверки
Первоисточники ниже подтверждают рассмотренные настройки, область влияния или меры; ссылки проверены 23 октября 2026 года. Учитывайте версии и конфигурации. Приоритеты и выводы — рекомендации сайта, а не повторная проверка всей статьи или гарантия безопасности.