По фреймворкам

Безопасность WordPress — практическая референс-инструкция по хардненингу продакшна

Чек-лист защиты WordPress в продакшне: обновления, плагины и темы, 2FA администратора, закрытие админки, wp-config и секреты, права на файлы и резервные копии.

Опубликовано 2026-07-02 Обновлено 2026-10-23 8 мин чтения
На этой странице

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

Приоритетный чек-лист хардненинга

Выполняйте эту таблицу сверху вниз. P0 — высший приоритет, P1 — самый частый источник инцидентов, P2 — постоянное сопровождение.

P0 ── Предпосылка (сначала это)

Автообновления / удаление неиспользуемых плагинов и тем / надёжный администратор + 2FA

P1 ── Главный источник инцидентов

Минимизация плагинов / снижение открытости админки / восстановимые резервные копии

P2 ── Постоянное сопровождение

wp-config и секреты / права на файлы / HTTPS, заголовки, обновление PHP/зависимостей

Укрепляйте по порядку: P0 (предпосылка) → P1 (главный источник инцидентов) → P2 (постоянное сопровождение).
ПриоритетМераКонкретика (WordPress)
P0АвтообновленияВключите автообновления для ядра, плагинов, тем. Делайте резервную копию перед мажорными обновлениями
P0Удалять неиспользуемоеУдаляйте неиспользуемые плагины/темы, не просто отключайте (оставшиеся файлы всё ещё цель)
P0Надёжный администратор + 2FAНадёжный пароль + двухфакторная. Избегайте имени пользователя admin; роли по наименьшим привилегиям
P1Минимизация плагиновПеред установкой проверяйте частоту обновлений, распространённость, известные CVE. Держите число низким
P1Защита входаОграничение числа попыток входа. Ограничьте открытость wp-admin/wp-login.php
P1Снижение открытостиОграничьте xmlrpc.php, если не используется. Подавите перечисление пользователей через REST API
P1Резервные копииОфлайн/раздельные восстановимые резервные копии + тесты восстановления + обнаружение подмены
P2wp-config и секретыЗадайте ключи/соли аутентификации, защитите wp-config.php, отключите вывод отладки в продакшне
P2Права на файлы~644 файлы / 755 каталоги. Запретите выполнение PHP в каталоге загрузок
P2HTTPS/заголовки/обновленияПринудительный 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 укреплён?

Собрать — это ещё не конец; готово только тогда, когда вы проверили. Это защитные самопроверки против собственного сайта.

1

Секреты и конфигурация не открыты

На своём домене убедитесь, что /wp-config.php не возвращает своё содержимое и что резервные копии (.zip/.sql) или файлы типа .env нельзя получить по URL.
2

Имена администраторов и версии не утекают

Убедитесь, что ?author=1 и подобное не раскрывают имя пользователя администратора и что листинг каталогов отключён.
3

Защита входа и 2FA работают

Убедитесь, что ограничение числа попыток входа работает и у администраторов включена 2FA. Проверьте, что не осталось учётной записи admin.
4

Обновления, резервные копии, заголовки

Убедитесь, что автообновления включены, что вы можете реально восстановиться из резервной копии и что HTTPS/HSTS присутствуют, через проверку заголовков.

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

Взгляд нашего сайта: не ставьте лишних плагинов и не оставляйте их без присмотра

Для WordPress работает не особая конфигурация, а операционная дисциплина «не добавлять расширений сверх меры, не оставлять их без присмотра». Плагины удобны, но каждый добавляет ответственность продолжать обновлять. Главное — пройти таблицу выше сверху вниз: автоматизируйте обновления, держите плагины минимальными и защищайтесь надёжной аутентификацией и восстановимыми резервными копиями. Выглядит специфично для WordPress, но на деле это основы, применимые к любой технологии (обновление зависимостей, минимум публично доступного, аутентификация, восстановление).

Читать дальше

Источники и область проверки

Первоисточники ниже подтверждают рассмотренные настройки, область влияния или меры; ссылки проверены 23 октября 2026 года. Учитывайте версии и конфигурации. Приоритеты и выводы — рекомендации сайта, а не повторная проверка всей статьи или гарантия безопасности.

FAQ

QЧто сделать в первую очередь, чтобы защитить WordPress?
A

Три пункта P0: (1) включите автообновления для ядра, плагинов и тем, чтобы опубликованные известные уязвимости (CVE) закрывались до того, как их начнут эксплуатировать; (2) удаляйте неиспользуемые плагины/темы (не просто отключайте), чтобы срезать поверхность атаки; (3) защитите учётные записи администратора надёжным паролем и двухфакторной аутентификацией (2FA) и избегайте имени пользователя admin. Эти три пункта сами по себе останавливают большинство автоматизированных атак. Далее снижайте открытость админки и настройте резервные копии.

QСколько плагинов — уже слишком много?
A

Правило: «только необходимый минимум». Каждый плагин расширяет поверхность атаки и добавляет «ответственность продолжать обновлять». Перед установкой проверьте частоту обновлений, распространённость, дату последнего обновления и известные уязвимости; а всё, что не используется, удаляйте, а не отключайте (файлы отключённого плагина всё ещё могут быть целью уязвимости). То же и с темами.

QСтоит ли отключать xmlrpc.php?
A

Если вы им не пользуетесь, ограничить или отключить его рекомендуется. xmlrpc.php обслуживает удалённую публикацию и пингбэки, но им же можно злоупотребить, чтобы ускорить перебор паролей и слать большой поток запросов. Если вы всё же используете функции, которым он нужен (некоторые интеграции приложений), ограничьте его только нужными методами или защитите ограничением по частоте/IP. Сначала проверьте, используете ли вы его на самом деле.

QДелает ли меня безопасным плагин безопасности?
A

Плагин безопасности помогает, но не решает всё. Если добавить его, пока не сделаны основы (автообновления, минимум плагинов, надёжная аутентификация администратора, резервные копии, снижение открытости админки), уязвимости он не устранит. Сначала пройдите чек-лист на этой странице, а потом используйте плагин как дополнение для таких вещей, как ограничение числа попыток входа и обнаружение подмены.

QЧто абсолютный минимум?
A

(1) автообновления, (2) удаление неиспользуемых плагинов/тем, (3) надёжный пароль + 2FA для администраторов, (4) ограничение числа попыток входа и снижение открытости админки, (5) восстановимые офлайн-резервные копии + обнаружение подмены. Эти пять останавливают большинство автоматизированных атак. Подробности см. в чек-листе и разделах выше.