Как защитить сайт на WordPress от атак и взлома

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

Защита WordPress не сводится к установке одного плагина безопасности. Надёжность определяется всей цепочкой: сервером, версией PHP, самой CMS, темой, плагинами, учётными записями, резервным копированием, правами файлов и внешней фильтрацией трафика.

Чем меньше лишних компонентов и чем быстрее устраняются известные уязвимости, тем меньше поверхность атаки. Но даже полностью обновлённый WordPress остаётся публичным веб-приложением, поэтому автоматизированные запросы к wp-login.php, XML-RPC, REST API и другим точкам будут появляться постоянно.

Главный принцип: безопасность WordPress строится слоями. Обновления, сильные учётные данные, резервные копии и WAF решают разные задачи и не заменяют друг друга.

Какие атаки чаще всего направлены на WordPress

  • подбор паролей к административным учётным записям;
  • сканирование известных путей и служебных endpoint-ов;
  • поиск уязвимых плагинов и тем;
  • эксплуатация устаревшего ядра WordPress;
  • атаки через формы и загрузку файлов;
  • массовые запросы к XML-RPC и REST API;
  • спам, парсинг и вредоносная автоматизация;
  • заражение после компрометации FTP, панели хостинга или учётной записи администратора.

Почему плагины — одна из основных зон риска

Большинство сайтов WordPress используют сторонние плагины. Каждый установленный компонент добавляет новый код и потенциальные точки входа. Чем больше плагинов, тем сложнее контролировать обновления и совместимость.

Особенно опасны давно заброшенные расширения, плагины из сомнительных источников и «nulled»-версии коммерческих продуктов. Даже если такой компонент работает годами, найденная уязвимость может быстро попасть в автоматизированные сканеры.

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

Регулярно обновляйте WordPress, плагины и тему

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

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

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

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

Защитите административные учётные записи

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

  • не используйте один пароль на нескольких сервисах;
  • не передавайте общую учётную запись нескольким сотрудникам;
  • удаляйте доступ у людей, которым он больше не нужен;
  • не называйте административную учётную запись очевидными именами без необходимости;
  • ограничивайте число попыток авторизации.

Почему wp-login.php постоянно сканируют

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

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

Что делать с XML-RPC

XML-RPC использовался для внешнего управления WordPress и некоторых интеграций. На части современных сайтов он не нужен, но endpoint остаётся доступным. Его нередко сканируют и используют для автоматизированных запросов.

Если функциональность XML-RPC не используется, имеет смысл ограничить или отключить её. Но делать это нужно осознанно: некоторые внешние приложения и сервисы могут зависеть от этого механизма.

REST API нельзя просто закрыть целиком

WordPress REST API используется ядром, редактором, WooCommerce, Elementor и множеством плагинов. Полная блокировка способна нарушить работу сайта. Поэтому защищать нужно конкретные опасные или неиспользуемые сценарии, а не весь REST API без разбора.

Защита загрузки файлов

Формы загрузки, медиа-библиотека, импорт и пользовательские кабинеты требуют особого внимания. Сервер должен проверять допустимые типы файлов, права доступа и место хранения. Нельзя полагаться только на расширение имени файла.

Права файлов и владельцы

Файлы WordPress не должны быть доступны на запись всем процессам без необходимости. Неправильные владельцы и чрезмерно широкие права облегчают изменение файлов после компрометации одного из компонентов.

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

Не копируйте случайные команды chmod из интернета. Права файлов нужно настраивать с учётом пользователя веб-сервера, PHP-FPM и структуры конкретного хостинга.

Резервные копии — часть безопасности, а не только удобство

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

  • храните несколько точек восстановления;
  • не держите единственную копию внутри public_html;
  • копируйте и файлы, и базу данных;
  • проверяйте, что архив действительно открывается;
  • знайте порядок восстановления до инцидента, а не после него.

Почему резервная копия на том же сервере недостаточна

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

Скрывайте техническую информацию там, где это возможно

Не стоит облегчать автоматизированному сканеру задачу. Лишние диагностические страницы, публичные резервные копии, тестовые файлы и подробные сообщения об ошибках позволяют быстрее понять структуру системы.

HTTPS защищает соединение, но не от взлома WordPress

TLS шифрует данные между браузером и сервером и обязателен для современного сайта. Но наличие сертификата не закрывает уязвимый плагин, не защищает слабый пароль и не фильтрует вредоносный HTTP-запрос. HTTPS — необходимый, но отдельный слой безопасности.

Следите за изменениями файлов

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

Почему одного security-плагина недостаточно

Плагин безопасности работает внутри WordPress и может быть полезен для контроля авторизаций, изменений и части вредоносных запросов. Но он начинает работу уже после того, как запрос дошёл до PHP и CMS.

Если нежелательный трафик можно остановить на reverse proxy или WAF раньше, это снижает нагрузку и уменьшает поверхность обработки. Поэтому внутренний security-плагин и внешняя фильтрация решают разные задачи.

Что даёт WAF перед WordPress

Web Application Firewall анализирует HTTP-запрос до передачи его приложению. Он может блокировать известные вредоносные сигнатуры, сканирование служебных путей, подозрительные параметры и отдельные классы автоматизации.

Уровень защитыЧто решает
Обновления WordPressЗакрывают известные уязвимости ядра.
Обновления плагиновУстраняют ошибки в стороннем коде.
Сильные учётные данныеСнижают риск компрометации администратора.
Резервные копииПозволяют восстановиться после инцидента.
WAF / reverse proxyФильтрует часть нежелательных запросов до CMS.
Логи и мониторингПомогают обнаруживать аномалии и расследовать инциденты.

Как CRONARMOR защищает WordPress

CRONARMOR работает перед основным сервером сайта. Это позволяет анализировать запросы ещё до загрузки WordPress и применять индивидуальные правила под конкретный проект.

  • фильтрация сканеров и нежелательных ботов;
  • защита административных и служебных endpoint-ов;
  • контроль подозрительных запросов к формам и API;
  • анализ сетевых признаков и ASN;
  • браузерные проверки для спорного трафика;
  • доверенный пропуск поисковых роботов;
  • индивидуальные исключения для AJAX, REST и интеграций.

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

Практический чек-лист защиты WordPress

  1. Обновлять WordPress, плагины и тему.
  2. Удалить неиспользуемые компоненты.
  3. Использовать уникальные сильные пароли и 2FA.
  4. Ограничить попытки авторизации.
  5. Проверить необходимость XML-RPC.
  6. Не блокировать REST API без понимания зависимостей.
  7. Настроить резервное копирование вне рабочего сайта.
  8. Контролировать права файлов и владельцев.
  9. Проверять access-логи и изменения файлов.
  10. Использовать WAF или reverse proxy для внешней фильтрации.

FAQ

Можно ли сделать WordPress полностью невзламываемым?

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

Нужен ли security-плагин?

Он может быть полезен, но не заменяет обновления, сильные пароли, резервные копии и внешнюю фильтрацию.

Стоит ли менять адрес wp-login.php?

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

Можно ли отключить REST API?

Полное отключение часто ломает редактор, плагины и интеграции. Ограничивать нужно только действительно ненужные или опасные сценарии.

Нужно усилить защиту сайта на WordPress?

CRONARMOR фильтрует нежелательные автоматизированные запросы до передачи на WordPress и позволяет настраивать правила с учётом AJAX, REST API, поисковых роботов и реальных пользователей сайта.

Прокрутить вверх
CRONARMOR

Подобрать тариф

Оставьте адрес сайта и контакт для ответа. Перед рекомендацией тарифа мы осмотрим сайт и при необходимости проанализируем данные Метрики, после чего предложим подходящий вариант подключения.

Осмотр сайта

Оцениваем структуру проекта и особенности его работы.

Анализ трафика

При необходимости учитываем фактический трафик и данные Метрики.

Подбор условий

Определяем стандартный, BIG TRAF или индивидуальный вариант.

Подбор тарифа — бесплатно

Рекомендация после предварительной проверки сайта

Заявка на подбор тарифа

Заполните основные данные. Точный вариант тарифа определим после проверки проекта.

CRONARMOR

Подключить защиту сайта

Оставьте адрес сайта и контакт для ответа. После проверки можно определить подходящий режим защиты и особенности подключения.

Без переноса сайта

Подключение защитного контура через DNS.

Индивидуальная настройка

Правила учитывают CMS, API и нормальный трафик.

Сопровождение

Контроль работы и корректировка фильтрации.

от 2 000 ₽ / месяц

Годовой тариф — 20 000 ₽

Заявка на подключение

Заполните форму — обязательны только основные данные.