Практика
Уязвимости WordPress и Bitrix: что обновлять
Уязвимости WordPress, 1С-Битрикс и других CMS: откуда берутся, как безопасно обновлять ядро и плагины, настроить доступы, бэкапы и мониторинг. Чек-лист.
Коротко. Уязвимости WordPress, 1С-Битрикс и других CMS чаще всего живут не в ядре, а в сторонних плагинах, модулях и темах, в устаревших версиях, которые никто не обновляет, и в лишних доступах — старых учётных записях подрядчиков, общих паролях, открытом FTP. Безопасность WordPress и любой другой CMS — это процесс: реестр всего установленного, отслеживание уведомлений об уязвимостях, установка критичных исправлений в течение нескольких дней через тестовую копию, удаление неиспользуемых расширений, двухфакторная аутентификация для администраторов и резервные копии, которые реально восстанавливаются. Разовая «чистка» без процесса через несколько месяцев возвращает сайт в исходное состояние.
Статья для владельца сайта, маркетолога или ИТ-специалиста, который отвечает за корпоративный сайт или интернет-магазин на WordPress, Битрикс, Joomla, Drupal, OpenCart или MODX и хочет навести порядок с обновлениями без поломок.
Откуда берутся уязвимости CMS
Популярная CMS — удобная цель: одна уязвимость в распространённом плагине позволяет автоматически атаковать множество сайтов сразу, а боты постоянно сканируют интернет в поиске известных уязвимых версий. Основные источники проблем:
- Плагины, модули и темы. Их пишут тысячи независимых разработчиков с разным уровнем культуры безопасности. В публичных базах уязвимостей WordPress, таких как WPScan и Patchstack, основная масса записей относится к плагинам и темам, а не к ядру.
- Устаревшие версии. Исправление давно вышло, но сайт не обновляли, потому что «боимся сломать» или «разработчик ушёл».
- Заброшенные расширения. Автор перестал выпускать обновления — новые уязвимости в них уже никто не закроет.
- Взломанные платные плагины и темы из неофициальных источников: в такие сборки нередко встроен вредоносный код.
- Собственный код. Доработки подрядчика, свои компоненты и шаблоны не получают обновлений ни от кого, кроме вашей команды.
- Доступы и хостинг. Слабый пароль администратора, учётные записи уволившихся подрядчиков, FTP без шифрования, устаревшая версия PHP на сервере.
Безопасность WordPress: на что смотреть в первую очередь
- Автообновления. Начиная с версии 3.7 WordPress по умолчанию сам устанавливает минорные (исправительные) релизы ядра, а с версии 5.5 автообновление можно включить для отдельных плагинов и тем прямо в админке. Для простых сайтов без доработок включайте автообновления плагинов из официального каталога; для сайтов с доработками — обновляйте через тестовую копию, но строго по графику.
- Инструмент «Здоровье сайта» (Site Health) в админке показывает устаревшую версию PHP, неактивные темы и другие проблемы конфигурации.
- Меньше плагинов — меньше поверхность атаки. Удалите, а не просто отключите всё, что не используется: отключённый плагин остаётся на сервере файлами.
- Проверяйте, жив ли плагин: в официальном каталоге видны дата последнего обновления и совместимость с актуальными версиями WordPress.
- Запретите редактирование файлов из админки константой DISALLOW_FILE_EDIT в wp-config.php — при захвате учётной записи администратора это усложнит внедрение кода через встроенный редактор.
- Отключите XML-RPC, если он не нужен мобильному приложению или интеграциям.
- Роли: редакторам и авторам — роли без прав администратора, администраторов — минимум.
1С-Битрикс: обновления, лицензия и проактивная защита
- Обновления платформы устанавливаются через встроенную систему обновлений SiteUpdate в административном разделе. Получение обновлений привязано к активной лицензии: после окончания срока новые версии и исправления не устанавливаются.
- Модуль «Проактивная защита» включает проактивный фильтр, веб-антивирус, контроль целостности файлов и одноразовые пароли для администраторов. Модуль часто установлен, но не настроен — проверьте, что защита включена и уровень безопасности группы администраторов повышен.
- Сканер безопасности в административном разделе проверяет типичные ошибки конфигурации. Запускайте его после каждого крупного изменения.
- Решения из Marketplace от сторонних разработчиков несут те же риски, что плагины WordPress: проверяйте автора и дату обновления, удаляйте неиспользуемые.
- Правки ядра — главный враг обновлений. Если подрядчик менял файлы платформы вместо создания своих компонентов, обновление их перезапишет или не установится. Такие правки нужно найти и перенести в собственные компоненты — иначе сайт застрянет на старой версии.
- Доступ к административному разделу по возможности ограничьте IP-адресами офиса или VPN.
Другие CMS и конструкторы
- Joomla и Drupal публикуют бюллетени безопасности на официальных сайтах — подпишитесь на них и отслеживайте окончание поддержки мажорных версий.
- OpenCart, MODX и другие — те же правила: актуальная версия ядра, расширения только из официальных каталогов, удалённые установочные файлы, сильные пароли и двухфакторная аутентификация. Нестандартный адрес админки не заменяет ни то, ни другое.
- Конструкторы вроде Tilda обновляет сама платформа. Ваша зона — учётные записи и двухфакторная аутентификация, сторонние скрипты и виджеты, формы и то, куда уходят заявки.
- Самописная CMS не получает внешних уведомлений об уязвимостях вовсе. Её безопасность держится на регулярном пентесте веб-приложения и разборе кода.
Процесс обновлений: как обновлять CMS и ничего не сломать
- Реестр. Список сайтов, версии CMS, PHP и базы данных, все плагины и модули с версиями, кто их ставил, где хранятся лицензии.
- Источники уведомлений. Официальные бюллетени CMS, уведомления в админке, каталоги расширений, базы уязвимостей. Ответственный просматривает их еженедельно.
- Оценка критичности. Уязвимость в установленной у вас версии компонента, которая эксплуатируется без авторизации, — критическая. Остальное — в плановое окно.
- Резервная копия файлов и базы перед обновлением — с проверкой, что копия действительно разворачивается.
- Тестовая копия. Обновление сначала на копии сайта, затем проверка форм, корзины, оплаты, интеграций с 1С и CRM.
- Обновление боевого сайта в согласованное окно, с планом отката.
- Проверка после обновления: ключевые сценарии, журнал ошибок, сканер безопасности.
| Что обновлять | Как часто проверять | Наш ориентир при критической уязвимости | Кто отвечает |
|---|---|---|---|
| Ядро CMS | Еженедельно | 1–3 дня | Администратор сайта или подрядчик |
| Плагины, модули, темы | Еженедельно | 1–3 дня или отключение компонента до исправления | Администратор сайта |
| PHP, веб-сервер, база данных | Ежемесячно | По бюллетеню хостинга или ОС | Хостинг или системный администратор |
| Собственный код | При каждом релизе | Исправление силами разработчика | Разработчик |
| Учётные записи и доступы | Ежеквартально | Немедленно при увольнении или смене подрядчика | Владелец сайта |
Если исправления ещё нет, а уязвимость активно используется в атаках, временно отключите компонент или закройте уязвимую функцию на уровне веб-экрана. Как выстроить это для всей инфраструктуры, а не только для сайта, — в статье об управлении уязвимостями.
Доступы, резервные копии и мониторинг
Доступы. Персональные учётные записи вместо общей «admin». Двухфакторная аутентификация для всех администраторов — не только в CMS, но и в панели хостинга, DNS и у регистратора домена. Учётные записи подрядчиков удаляются после окончания работ. SFTP вместо FTP, ключи вместо паролей для доступа к серверу.
Резервные копии. Ежедневная копия базы и регулярная копия файлов, хранение отдельно от хостинга сайта, проверка восстановления хотя бы раз в квартал. Схема хранения — правило резервного копирования 3-2-1.
Мониторинг. Контроль целостности файлов, оповещения о появлении новых администраторов, внешнее наблюдение за доступностью и изменениями страниц. Если сайт собирает заявки с именами и телефонами, эти меры — часть мер защиты персональных данных, которых требует ст. 17 закона № 99-З. Если признаки взлома уже есть, действуйте по инструкции «Взломали сайт компании: что делать».
Чек-лист безопасности CMS
- Есть реестр: версия CMS, PHP, все плагины и модули с версиями.
- Ответственный еженедельно проверяет уведомления об уязвимостях.
- Ядро и расширения обновлены; заброшенные расширения заменены.
- Неиспользуемые плагины, модули и темы удалены с сервера.
- Нет взломанных платных расширений из неофициальных источников.
- В WordPress запрещено редактирование файлов из админки, XML-RPC отключён, если не нужен.
- В Битрикс лицензия активна, «Проактивная защита» включена, правки ядра вынесены в свои компоненты.
- У всех администраторов персональные учётные записи и двухфакторная аутентификация.
- Доступы уволившихся сотрудников и прежних подрядчиков отключены.
- Резервные копии хранятся вне хостинга, восстановление проверено.
- Обновления идут через тестовую копию по регламенту с планом отката.
- Настроены контроль целостности файлов и оповещения.
Как это делает Viviar
Для небольших компаний подходит «Цифровой Минимум» от 1 700 BYN: сканирование уязвимостей, проверка требований закона 99-З и список приоритетов. Если сайтов несколько или своего администратора нет, «ИБ-Сопровождение» от 5 200 BYN в месяц закрывает процесс целиком: постоянный поиск и закрытие уязвимостей, обучение сотрудников с учебным фишингом и аудит раз в квартал. Состав пакетов — на странице цен, подробности о команде и методиках — в разделе кибербезопасности.
Частые вопросы
Что опаснее для WordPress: ядро или плагины?
Как правило, плагины и темы. Ядро WordPress сопровождает большая команда, а минорные исправления с версии 3.7 устанавливаются автоматически. Плагины пишут независимые авторы, и часть из них со временем перестаёт выпускать обновления. Поэтому главное правило безопасности WordPress — минимум расширений, только из официального каталога, с регулярными обновлениями и удалением неиспользуемых.
Можно ли включить автообновления и забыть?
Для простого сайта без доработок автообновления ядра и плагинов из официального каталога — разумный выбор: риск поломки обычно меньше риска взлома. Для интернет-магазина, сайта с интеграциями или собственным кодом забыть не получится: обновления идут через тестовую копию по графику, а после — проверка форм, корзины и оплаты. Резервная копия нужна в обоих случаях.
Что делать, если сайт на Битрикс не обновлялся несколько лет?
Сначала сделать полную резервную копию и развернуть тестовую копию сайта. Затем выяснить, активна ли лицензия, и найти правки в файлах ядра — именно они ломают обновление. Правки переносят в собственные компоненты, обновляют копию поэтапно и проверяют ключевые сценарии. Пока обновление не завершено, включите «Проактивную защиту» и ограничьте доступ к административному разделу.
Как быстро нужно устанавливать исправления безопасности?
Если уязвимость есть в установленной у вас версии и эксплуатируется без авторизации, ставьте исправление в течение нескольких дней, а при активных атаках — сразу или отключите компонент до обновления. Остальные обновления можно собирать в плановое окно раз в неделю или месяц. Важнее всего, чтобы у процесса были ответственный и регламент.
Помогает ли смена адреса админки?
Немного: это сокращает шум от автоматических ботов в журналах, но не защищает от уязвимостей в плагинах и не заменяет сильный пароль. Надёжнее ограничить доступ к административному разделу по IP-адресам или через VPN, включить двухфакторную аутентификацию для всех администраторов и защиту от перебора паролей.
Вывод
Уязвимости WordPress, Битрикс и других CMS закрываются не разовой чисткой, а процессом: реестр компонентов, отслеживание уведомлений, обновления через тестовую копию, удаление лишнего, персональные доступы с двухфакторной аутентификацией и проверенные резервные копии. Безопасность WordPress начинается с чек-листа выше: за один день можно удалить неиспользуемые расширения, отключить старые учётные записи и настроить резервное копирование. Если нужна проверка сайта или сопровождение под ключ, напишите нам: ответим за 2 рабочих дня.
Источники: WordPress Documentation — Hardening WordPress, Configuring Automatic Background Updates, Site Health (wordpress.org); документация 1С-Битрикс — модуль «Проактивная защита», система обновлений SiteUpdate (dev.1c-bitrix.ru); бюллетени безопасности Drupal (drupal.org) и Joomla (joomla.org); OWASP Top 10 — категория уязвимых и устаревших компонентов (owasp.org); Закон Республики Беларусь от 07.05.2021 № 99-З «О защите персональных данных» (pravo.by).