Skip to main content

Чистка VPS с 1С-Битрикс от вредоносного ПО: обновление ядра и поиск скрытой cron-задачи

Клиент и контекст проекта

Заказчик — компания с работающим сайтом на 1С-Битрикс, размещённым на VPS-сервере с виртуальной машиной BitrixVM. Сервер обслуживает сторонняя компания-подрядчик, но её зона ответственности ограничена поддержанием работоспособности инфраструктуры сервера как таковой: настройка ОС, веб-окружения, мониторинг ресурсов, резервное копирование. Выявление и ликвидация вредоносного программного обеспечения на уровне файлов и приложений в эту зону не входит — типичное разделение ответственности для российской веб-индустрии.

Все работы по аудиту безопасности, чистке от вредоносного ПО, обновлению ядра Битрикса, поиску и устранению скрытой cron-задачи и послеработающему мониторингу я выполнил лично за 1,5 недели. Обезличивание: домен сайта, название компании-заказчика, название компании-подрядчика сервера и контактные данные в публичной версии кейса не приводятся. Я базируюсь в Москве и работаю с заказчиками из любого региона РФ, СНГ и за рубежом — в данном случае все работы были выполнены удалённо.

Проблема

Клиент обратился с жалобой: VPS-сервер с сайтом на 1С-Битрикс не справлялся с нагрузкой. Симптомы — регулярные зависания, отдача 502 ошибки пользователям, общая деградация производительности. Сайт фактически стал неработоспособным в пиковые моменты. Стандартная перезагрузка сервера помогала временно, но через несколько часов проблема возвращалась.

Почему компания-подрядчик сервера не помогла

Сервер обслуживает сторонняя компания-подрядчик, но её зона ответственности ограничена работоспособностью инфраструктуры: настройки ОС, веб-окружения, мониторинг ресурсов. С точки зрения инфраструктуры — сервер был в порядке: CPU не перегружен, память не исчерпана, диск не заполнен. Проблема была не на уровне инфраструктуры, а на уровне приложения: вредоносное ПО внутри файлов сайта. Выявление и ликвидация такого ПО — отдельная задача, которая не входит в стандартный контракт на администрирование сервера. Клиент обратился ко мне как к специалисту по безопасности Битрикс-проектов.

Симптом, который указал на вредоносное ПО

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

Ложный след: удаление файлов не помогало

Первое, что было сделано — удаление найденных вредоносных файлов. Казалось бы, проблема решена. Но через некоторое время вредоносные файлы вернулись на сервер, и симптомы возобновились. Это означало, что у нас есть автоматический источник, который сам загружает вредоносный код обратно — и до его обнаружения любая чистка бесполезна. Это классический сценарий скрытого бэкдора, но в данном случае «бэкдором» была не уязвимость в коде, а запланированная задача в cron.

Три корневые причины проблемы

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

 

Корневая причина Описание
Загруженные вредоносные файлы На сервере были файлы, загружавшие вредоносный код. Удаление этих файлов давало временный эффект, но проблема возвращалась.
Уязвимость в ядре Битрикса Сайт давно не обновляли, и в установленной версии ядра имелись критические уязвимости, позволяющие внедрять вредоносный код.
Скрытая cron-задача В планировщике задач сервера была обнаружена cron-задача, которая периодически самостоятельно загружала вредоносные файлы обратно на сервер. Это и было источником рецидивов.

Решение

Все работы я выполнил лично за 1,5 недели. Подход — методичный: сначала найти все корневые причины, затем закрыть каждую, после чего — обязательный мониторинг для подтверждения, что проблема больше не возвращается. Без мониторинга работа не считается завершённой — особенно в случаях с вредоносным ПО, где рецидивы возможны через несколько дней.

Этап 1. Полный аудит сервера и файловой системы

  • Проведён полный аудит файловой системы сервера — поиск вредоносных файлов, обфусцированного PHP-кода, известных сигнатур вирусов.
  • Анализ логов доступа и ошибок: выявление аномальных запросов, подозрительных IP-адресов, нетипичных пользовательских агентов.
  • Анализ запущенных процессов и нагрузки: выявление процессов, создающих паразитную нагрузку на CPU и память.
  • Проверка целостности ядра Битрикса: сравнение с эталонными контрольными суммами, выявление модифицированных файлов ядра.
  • Аудит планировщика задач cron: проверка всех зарегистрированных задач, поиск подозрительных записей.

Этап 2. Удаление вредоносных файлов

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

Этап 3. Обновление ядра и плагинов Битрикса

  • Обновлено ядро 1С-Битрикса до актуальной версии. Это закрыло критические уязвимости, через которые злоумышленники изначально внедрили вредоносный код.
  • Обновлены все установленные плагины и модули до актуальных версий. Устаревшие плагины — типичный вектор атаки.
  • Проверена корректность работы сайта после обновления: все ключевые разделы, формы, интеграции.
  • Обновление ядра было критически важным: уязвимость в устаревшей версии позволяла злоумышленникам внедрять вредоносный код даже без доступа к серверу — через специально сформированные запросы к сайту.

Этап 4. Устранение скрытой cron-задачи

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

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

Этап 5. Послеработающий мониторинг

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

Результаты

Все работы выполнены за 1,5 недели. Сервер перестал зависать, 502 ошибка больше не появляется. Сайт работает стабильно даже в пиковые моменты нагрузки. Вредоносное ПО полностью ликвидировано, рецидивов не зафиксировано благодаря устранению всех трёх корневых причин — включая скрытую cron-задачу, которая была источником повторных заражений.

 

Показатель Результат
Срок выполнения работ 1,5 недели
Платформа сайта 1С-Битрикс на виртуальной машине BitrixVM
Тип сервера VPS
Кто обслуживает инфраструктуру сервера сторонняя компания-подрядчик
Зона моей ответственности выявление и ликвидация вредоносного ПО, обновление Битрикса
Главная причина рецидивов скрытая cron-задача, периодически загружавшая вредоносные файлы
Симптомы до работ зависания, 502 ошибки, нехватка ресурсов VPS
Симптомы после работ сайт стабилен, 502 не возвращается
Длительность мониторинга после работ несколько дней для подтверждения отсутствия рецидивов

 

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

Технологический стек

 1С-Битрикс     BitrixVM (виртуальная машина)     VPS     PHP     MySQL     Cron (планировщик задач)     Анализ логов Nginx/Apache     Поиск вредоносных сигнатур     Мониторинг ресурсов сервера     Обновление ядра Битрикс