Artean

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

Основные уязвимости WordPress, которые реально эксплуатируют

WordPress занимает более 43% всех сайтов в интернете, и именно эта массовость делает его приоритетной целью для киберпреступников. Даже если вы не представляете финансовый интерес, ваш сайт может быть использован как плацдарм: для рассылки спама по FTP, хостинга фишинговых страниц, участия в ботнетах. Более 90% взломов WordPress происходит не из-за таланта хакеров, а из-за типичных ошибок в настройке и использовании системы.

Защита WordPress: эффективные способы обезопасить сайт от взлома

Вот три наиболее часто эксплуатируемые уязвимости платформы:

  • Устаревшее ядро и плагины. Несвоевременные обновления создают «двери без замков». Например, в 2020 году уязвимость в плагине File Manager позволяла загружать и выполнять произвольный PHP-код на более чем 700 000 сайтах. Патч был выпущен, но тысячи оставались под угрозой неделями.
  • Слабые пароли к админке и FTP. Даже в 2024 году пароли вроде admin123 или qwerty используются на рабочих сайтах. Брутфорс-боты перебирают сотни логинов и паролей в минуту — без лимита попыток они легко подбирают доступ.
  • Темы и плагины с вредоносным кодом. Бесплатные null-версии тем с торрентов — главный источник shell-скриптов и бекдоров. Как только такой код внедряется, злоумышленник получает доступ к файлам и базам данных сайта.

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

  1. Ввод пароля через форму входа (wp-login.php)
  2. Загрузка вредоносного файла через уязвимость
  3. SQL-инъекция — внедрение кода через поля форм

Важно понимать: безопасность WordPress — это не галка при установке. Это процесс, требующий регулярного внимания, проверок, действий. Завести систему резервных копий, установить плагин безопасности, отслеживать активность пользователей — каждый шаг снижает вероятность взлома в разы.

Обязательные меры защиты: с чего начать

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

Обновления: безоговорочно и регулярно

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

  • Ядро — должно обновляться автоматически для minor-версий. Рекомендуем вручную проверять major-версии перед применением.
  • Плагины — используйте встроенную функцию автообновлений или установите плагин Easy Updates Manager
  • Темы — особенно важно для часто обновляемых фреймворков (например, Astra)

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

Политика паролей и имя администратора

Если имя администратора — admin, а пароль содержит слово из названия сайта — вы уже под ударом. Примите меры:

  • Смените логин администратора на нетривиальный (через создание нового пользователя и удаление старого)
  • Применяйте системный генератор паролей: длина от 12 символов, с символами и цифрами
  • Активируйте двухфакторную аутентификацию (плагины: Google Authenticator, WP 2FA)

Вынос wp-config.php и отключение редактирования файлов

Файл wp-config.php содержит ключи шифрования, пароли к базе и основные настройки безопасности. Переместите его на уровень выше public_html, чтобы закрыть от прямого доступа.

Также добавьте в wp-config.php строку:

define( 'DISALLOW_FILE_EDIT', true );

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

Регулярный аудит учётных записей

Проверьте список пользователей и их права. Особенно важно:

  • Удалить неиспользуемые админские аккаунты
  • Назначить редакторам и авторам права, соответствующие роли
  • Включить уведомления о входе в систему (используйте Wordfence или Loginizer)

Регулярная проверка прав пользователей помогает заблокировать непреднамеренные каналы доступа — например, если бывший сотрудник сохранил доступ на админский e-mail.

Выбор хостинга: как понять, что ваш провайдер — слабое звено

Даже при идеально настроенном WordPress незащищённый сервер остаётся ахиллесовой пятой проекта. Уровень безопасности зависит не только от CMS, но и от конфигурации хостинга: прав доступа к файлам, установленных модулей PHP, наличия WAF (Web Application Firewall) и возможности выполнять резервные копии.

Типовые риски со стороны хостинга

  • Общие сервера с отсутствием изоляции. Если один сайт на сервере взломан — могут пострадать и остальные.
  • Отключены модули безопасности PHP. Например, disable_functions пуст — злоумышленник с правами загрузки файлов легко обходит ограничения.
  • Нет самостоятельных резервных копий. Многие хостинги делают «общие» бэкапы раз в неделю, но без гарантии восстановления. Или — взимают плату при восстановлении.

Что должно быть у безопасного хостинга

  • Отдельные аккаунты пользователей с изоляцией процессов
  • Поддержка последней версии PHP и возможность выбора версии
  • Автоматические ежедневные резервные копии с доступом к 7-30 предыдущим дням
  • Возможность подключить SSL-сертификат (по Let’s Encrypt — бесплатно)
  • Защита входа в cPanel или панель управления, а также защита вордпресс — 2FA, IP-фильтры

Проверьте хостера по следующим вопросам

  1. Могу ли я выбирать и обновлять версии PHP вручную?
  2. Есть ли ежедневные резервные копии базы и файлов?
  3. Предоставляется ли веб-файервол (WAF)?
  4. Запущены ли модули контроля вредоносных скриптов (например, imunify360)?
  5. Что произойдёт, если сайт взломают — хостер поможет?

Если техподдержка не может ответить — или говорит, что «вы сами отвечаете за безопасность CMS», переезжайте. В случае взлома восстановление может занять недели, и не факт, что получится.

Грамотная работа с плагинами и темами: что не ставить и почему

Каждый плагин — это новая точка входа. Один устаревший или уязвимый компонент открывает всю систему. Особенно рискованно ставить функциональные плагины с неизвестных источников или использовать темы с вредоносным кодом. В большинстве случаев злоумышленники проникают именно через сторонние модули.

Чем больше плагинов — тем сложнее защита

Чрезмерное число плагинов осложняет диагностику, снижает производительность и увеличивает поверхность атаки. Удерживайтесь в рамках 8–15 плагинов, при этом:

  • Удаляйте неиспользуемые модули, а не просто деактивируйте их
  • Объединяйте функциональность — выбирайте многофункциональные плагины (например, Jetpack вместо ряда узких решений)
  • Следите за количеством обновлений и реакцией разработчиков на отзывы

Опасные практики: пиратские шаблоны и null-плагины

Сайты, загружающие null-версии кейсов из Telegram-каналов, часто оказываются заражёнными. Вредоносный код «спит» в шаблоне до активации или удаляет логи активности после действия. Такие темы чаще всего:

  • Хранят бэкдоры для SSH-доступа
  • Заменяют системные файлы (например, functions.php)
  • Используются для развертывания фишинговых страниц

Как проверять плагины и темы перед установкой

  • Проверяйте дату последнего обновления (в репозитории WordPress)
  • Анализируйте оценки и частоту баг-репортов
  • Изучайте сайт разработчика — есть ли поддержка, документация, отвечают ли в тикетах

Для тщательной проверки используйте сервис wpvulndb.com — он показывает историю уязвимостей плагина. Также поможет бесплатный сканер Wordfence Scanner — находите вредоносный код без ручного поиска.

При удалении темы или плагина через FTP проверьте: остался ли каталог. Часто вредоносные файлы размещаются вне путей CMS, и «формальное» удаление ничего не решит.

Плагины безопасности: сравнение и рекомендации

Установка плагинов безопасности — это не «волшебная кнопка», но эффективный способ закрыть типовые уязвимости. Такие инструменты позволяют:

  • Защитить формы входа от перебора паролей
  • Заблокировать подозрительные IP и автоматизированных ботов
  • Мониторить изменения файлов и уведомлять о них
  • Внедрить двухфакторную аутентификацию для пользователей
  • Сканировать ядро, темы и плагины на наличие вредоносного кода
  • Настраивать firewall на уровне WordPress и .htaccess

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

Топ-3 плагина безопасности для WordPress

  • Wordfence Security — лидер по популярности (5M+ установок). Включает firewall, сканер, защиту входа, IP-блокировки. Поддерживает платную версию с облачным WAF. Использует сигнатуры угроз и собственную базу уязвимостей.
  • iThemes Security — ориентирован на персональные и коммерческие сайты. Предлагает «пошаговый мастер безопасности», автоматическое изменение URL входа, отключение XML-RPC, мониторинг базы данных. Более 30 автоматических политик.
  • All In One WP Security & Firewall — баланс простоты и функциональности. Разделён на секции уровней сложности: базовый, средний, продвинутый. Удобно устанавливать в контексте минимального вмешательства в код.

Сравнительная таблица

Плагин Firewall Сканер файлов Блокировка IP 2FA Уровень настройки
Wordfence Да (PHP-уровень) Да Да (динамическая) Опционно Средний–высокий
iThemes Security Частично Да (PRO-версия) Да Да Средний
All In One WP Security Да (через .htaccess) Нет Да (по IP/стране) Через плагин Google Auth Начальный–средний

Как избежать конфликтов плагинов безопасности

Ошибочная установка нескольких security-плагинов может привести к конфликту правил .htaccess или дублирующейся фильтрации доступа файлам. Лучшие практики:

  • Устанавливайте только один плагин со встроенным firewall’ом
  • При смене плагина — полностью удаляйте предыдущий, включая папку в /wp-content/plugins
  • Проверяйте реакции сайта до и после установки в браузере в режиме инкогнито и без кэша

Если не хотите читать документацию и учить правила .htaccess: начните с All In One WP Security, включите базовый уровень защиты и настройте лимит доступа по IP к панели входа. Это минимальный барьер, который автоматически блокирует основную волну автоматических сканеров и переборов.

DDoS, brute force, бот-атаки: как не превратиться в жертву массового сканирования

Автоматические атаки на WordPress-сайты — ежедневная реальность. Но не всякий взлом масштабный или целенаправленный. Большинство угроз сегодня представляют:

  • Brute force-атаки — автоматический перебор логина и пароля через страницу /wp-login.php
  • Сканеры SQL-инъекций и XSS — анализируют сайт на предмет появления форм и уязвимостей
  • DDoS-атаки — искусственное создание нагрузки до исчерпания CPU или лимитов хостинга

Симптом даже «неудачной» атаки

  • Сайт работает медленно или нестабильно
  • Хостер временно приостанавливает доступ из-за перегрузки
  • Появляется высокая нагрузка от admin-ajax.php или xmlrpc.php

Как защититься от массовых атак

  • Ограничение попыток входа — например, через плагин Loginizer или в составе All In One WP Security. Блокировка на уровне IP после N неудачных попыток.
  • Скрытие или изменение URL страницы входа — плагин WPS Hide Login меняет /wp-login.php на кастомный путь (например, /вход-в-систему).
  • Captcha — интеграция Google reCAPTCHA v3 или v2 защищает формы от автозаполнения ботами.
  • Использование Cloudflare — бесплатный CDN с включённым фильтром ботов, защитой DNS и системой управления кэшом.

Чек-лист от массовых угроз

  1. Установите лимит попыток входа
  2. Отключите XML-RPC и REST API (если не используются)
  3. Используйте Cloudflare или другой reverse proxy (например, Sucuri)
  4. Проверьте, отключен ли доступ к конфигурационным файлам (wp-config.php, .htaccess)

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

Как контролировать безопасность: что мониторить и как часто

Разовая настройка — слабая защита. Успешная защита WordPress требует регулярного анализа и мониторинга, включающего поведение как системы, так и пользователей. Взлом не всегда виден мгновенно — в большинстве кейсов незаметные атаки начинаются за недели до активации вредоносных действий.

Параметры мониторинга безопасности

  • Неудачные попытки входа — фиксируйте IP, количество, используемые логины
  • Изменения файлов в директориях /wp-content и /wp-includes
  • Появление новых пользователей без вашего участия
  • Операции с базой данных, особенно массовое удаление записей
  • Подозрительная активность с REST API, особенно от неизвестных IP

Частота проверки

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

Инструменты для уведомлений и логирования

  • Wordfence — присылает отчёты об угрозах, изменениях и логинах
  • WP Activity Log — детально фиксирует все действия в админке
  • Sucuri SiteCheck — внешний онлайн-сканер сайта на предмет заражений

Поведение сайта как индикатор заражения

Если:

  • страницы грузятся в 2–3 раза медленнее
  • изменился заголовок или мета-теги страниц
  • блокируются поисковые роботы
  • в поиске появляются странные поддомены или страницы

— это признаки взлома. В таких случаях перед обращением к специалисту нужно отключить доступ к сайту (режим технических работ), изменить все пароли и восстановить безопасную версию из бэкапа.

Когда лучше не экспериментировать: случаи, когда стоит обратиться к специалистам

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

Если сайт взломан, а вы не можете найти заражение

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

Обычные признаки скрытой компрометации:

  • Вредоносные скрипты внедрены в functions.php пользовательской темы
  • Назначены планировщики задач Cron, сохраняющие вредоносный код после очистки
  • Созданы поддельные страницы в структуре сайта (например, /update-index.php)

В таких случаях необходимо:

  • Провести глубокое сканирование всех файлов и базы данных
  • Найти и удалить бекдоры (часто они закодированы через eval(base64_decode(...)))
  • Проверить порядок загрузки ядра, подключаемые хуки и JS-скрипты

Важно: простая «переустановка ядра» не решает проблему, если заражены загружаемые директории и БД.

Если защита мешает работе пользователей или редакторов

Иногда чрезмерное ужесточение политик — не менее опасно, чем их отсутствие. Типичная ошибка: включены жёсткие лимиты входа, 2FA, ограничения IP — но редакторы и контент-менеджеры получают блокировки даже при легальной работе.

В таких случаях специалист:

  • Разграничивает роли и уровни доступа на основании сценариев поведения
  • Модифицирует .htaccess для блокировки внешних ботов, но сохраняет доступ для нужных устройств
  • Настраивает белые списки IP и исключения для конкретных URL

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

Если сайт «стоит» на месте, хотя вроде всё защищено

Бывает, что установлен весь набор: Wordfence, firewall, SSL, Cloudflare, двухфакторная аутентификация. Но сайт то и дело «падает», обновления откатываются, а автоматические бэкапы — повреждены. Почему такое может происходить?

Типовые причины:

  • Конфликт security-плагина и хостинг-фильтра (например, imunify блокирует сканер)
  • Обновление плагина безопасности привело к изменению прав на файлы
  • Проблемы с cron-задачами WP, мешающие синхронизации бэкапов или запуска сканирования

Диагностика и решение требуют анализа логов, приоритизации политик защиты и иногда — перехода на другую платформу хостинга.

Что делает разработчик в таких ситуациях

  • Проводит аудит безопасности: включая анализ .htaccess, wp-config.php, состояния базы и прав пользователя
  • Очищает от заражений вручную с гарантией — без потери контента
  • Настраивает облачную защиту (Cloudflare, Imunify) с адаптацией под конкретную нагрузку
  • Автоматизирует бэкапы и мониторинг с уведомлениями при подозрительных действиях
  • Консультирует команду проекта: как поддерживать безопасность без технических ошибок

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

CTA

Нужна помощь с безопасностью WordPress-сайта? Разработка, настройка, сопровождение, защита, очистка от вредоносного кода — наша команда подключается в любой момент. Мы работаем со сложными кейсами, внедряем автоматический аудит и защиту на уровне хостинга и CMS. Оставьте заявку — получайте консультацию уже сегодня.