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

Вот три наиболее часто эксплуатируемые уязвимости платформы:
- Устаревшее ядро и плагины. Несвоевременные обновления создают «двери без замков». Например, в 2020 году уязвимость в плагине File Manager позволяла загружать и выполнять произвольный PHP-код на более чем 700 000 сайтах. Патч был выпущен, но тысячи оставались под угрозой неделями.
- Слабые пароли к админке и FTP. Даже в 2024 году пароли вроде
admin123илиqwertyиспользуются на рабочих сайтах. Брутфорс-боты перебирают сотни логинов и паролей в минуту — без лимита попыток они легко подбирают доступ. - Темы и плагины с вредоносным кодом. Бесплатные null-версии тем с торрентов — главный источник shell-скриптов и бекдоров. Как только такой код внедряется, злоумышленник получает доступ к файлам и базам данных сайта.
Типичный сценарий взлома начинается с автоматического сканирования. Бот ищет сайты с определённым плагином, известной уязвимостью или открытой страницей входа. После этого используется один из методов:
- Ввод пароля через форму входа (wp-login.php)
- Загрузка вредоносного файла через уязвимость
- 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-фильтры
Проверьте хостера по следующим вопросам
- Могу ли я выбирать и обновлять версии PHP вручную?
- Есть ли ежедневные резервные копии базы и файлов?
- Предоставляется ли веб-файервол (WAF)?
- Запущены ли модули контроля вредоносных скриптов (например, imunify360)?
- Что произойдёт, если сайт взломают — хостер поможет?
Если техподдержка не может ответить — или говорит, что «вы сами отвечаете за безопасность 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 и системой управления кэшом.
Чек-лист от массовых угроз
- Установите лимит попыток входа
- Отключите XML-RPC и REST API (если не используются)
- Используйте Cloudflare или другой reverse proxy (например, Sucuri)
- Проверьте, отключен ли доступ к конфигурационным файлам (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. Оставьте заявку — получайте консультацию уже сегодня.
