23.09.2026 Уже прочитали 0 раз

Майнер на сервере 1С-Битрикс: как обнаружить заражение, очистить сервер и закрыть точку входа

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

В одном из проектов мы столкнулись именно с такой ситуацией. Диагностика показала, что заражение затронуло сразу несколько уровней: на сервере работал майнер, были созданы механизмы его автоматического запуска, а вредоносный JavaScript дополнительно внедрялся в страницы и REST-ответы Битрикс.

Разберем, по каким признакам можно заметить такое заражение, какие части 1С-Битрикс и сервера стоит проверять и почему простого удаления процесса майнера недостаточно.

С чего начинается проблема

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

Одновременно появились другие признаки:

  • сайт и Битрикс24 периодически зависали;
  • некоторые интерфейсы загружались некорректно;
  • в системе присутствовал процесс с очень высокой нагрузкой CPU;
  • процесс маскировался под обычное системное имя;
  • появились исходящие соединения с неизвестными серверами.

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

Как майнер попадает на сервер

В рассматриваемом случае в каталоге /upload/ находился PHP-веб-шелл.

Само наличие возможности загрузить файл еще не означает, что его получится выполнить. Критической проблемой стало то, что конфигурация nginx разрешала запуск PHP внутри /upload/.

Получилась следующая цепочка:

  1. В каталог загрузок попадает вредоносный PHP-файл.
  2. Файл вызывается через HTTP и выполняется веб-сервером.
  3. Через веб-шелл злоумышленник получает возможность выполнять команды на сервере.
  4. Устанавливаются майнер и дополнительные механизмы доступа.
  5. Создаются способы автоматического восстановления майнера после его остановки.

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

Что меняется после получения доступа

Заражение может не ограничиваться одним исполняемым файлом. В нашем случае использовалось сразу несколько механизмов.

Майнер на сервере

Вредоносный процесс запускался из временного скрытого каталога и маскировался под привычные системные процессы.

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

Автоматический перезапуск

Чтобы майнер снова запускался после остановки, создавались cron-задачи и дополнительные скрипты-дропперы.

Это важный момент: если просто завершить процесс, через некоторое время он может появиться снова.

Поэтому обязательно нужно проверять:

  • cron root;
  • cron пользователя веб-сервера;
  • /etc/cron.*;
  • временные каталоги;
  • неизвестные исполняемые файлы;
  • systemd и другие механизмы автозапуска.

Посторонние SSH-ключи

Еще один способ сохранить доступ - добавить свой ключ в authorized_keys.

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

Поэтому после компрометации нужно проверять SSH-ключи всех пользователей с административными правами.

Как заражается сам 1С-Битрикс

Отдельная часть проблемы была обнаружена уже внутри файлов Битрикс.

Вредоносный JavaScript был добавлен в файлы ядра, которые подключаются при обработке большого количества запросов.

В результате внешний скрипт попадал не только в обычные HTML-страницы, но даже в ответы REST API.

Это особенно неприятный сценарий: серверный майнер расходует ресурсы сервера, а внедренный JavaScript может дополнительно выполняться в браузерах пользователей.

Более того, если JavaScript попадает туда, где приложение ожидает чистый JSON, интерфейс начинает работать нестабильно. REST-метод может корректно сформировать данные, но после JSON сервер допишет посторонний . Для браузера это уже некорректный ответ API.

В результате отдельные части Битрикс24 могут зависать или оставаться в состоянии загрузки, хотя сам REST-метод и база данных работают нормально.

Какие файлы и каталоги проверять

При подобных симптомах мы бы начинали проверку сразу в нескольких направлениях.

Внутри проекта 1С-Битрикс:

  • PHP-файлы в /upload/;
  • временные каталоги загрузки;
  • /bitrix/php_interface/;
  • /local/;
  • измененные файлы ядра;
  • глобально подключаемые файлы;
  • неизвестные PHP-файлы в каталогах, где их обычно быть не должно.

На уровне сервера:

  • /tmp/;
  • /var/tmp/;
  • /dev/shm/;
  • cron;
  • systemd;
  • SSH-ключи;
  • активные процессы;
  • исходящие сетевые соединения.

Полезный признак - процесс, исполняемый файл которого уже удален с диска. В Linux такой процесс продолжает работать, пока не будет завершен.

Почему нельзя просто удалить майнер

Самая опасная ошибка - найти процесс с высокой нагрузкой, остановить его и считать проблему решенной.

Майнер - это уже следствие.

Если оставить веб-шелл, cron-задачу, SSH-ключ или другой механизм доступа, вредоносный процесс можно запустить снова.

Поэтому очистку нужно проводить как цепочку:

  1. Остановить вредоносные процессы.
  2. Найти и удалить механизмы автоматического запуска.
  3. Проверить cron, systemd и SSH.
  4. Найти и удалить веб-шеллы.
  5. Восстановить зараженные файлы Битрикс.
  6. Проверить временные каталоги.
  7. Проверить исходящие соединения.
  8. Закрыть первоначальную точку входа.

Только после этого можно говорить о том, что непосредственное заражение купировано.

Как закрыть выполнение PHP в /upload/

Для 1С-Битрикс каталог /upload/ предназначен для пользовательских и служебных файлов, но выполнение загруженных PHP-скриптов там обычно не требуется.

Поэтому дополнительной защитой становится запрет выполнения PHP и других потенциально исполняемых файлов внутри /upload/ на уровне веб-сервера.

В нашем случае соответствующее ограничение было добавлено в nginx.

Это принципиально отличается от простого удаления найденного веб-шелла: даже если похожий PHP-файл снова каким-либо способом окажется в /upload/, веб-сервер не должен его выполнить.

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

Что делать после очистки

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

После получения злоумышленником расширенного доступа потенциально скомпрометированными нужно считать используемые на сервере учетные данные.

Следующий этап включает:

  • смену SSH-паролей и ключей;
  • смену административных доступов;
  • смену паролей к базам данных;
  • проверку FTP и других способов доступа;
  • ревизию API-ключей и интеграций;
  • проверку администраторов Битрикс и Битрикс24;
  • обновление 1С-Битрикс и установленных модулей;
  • настройку мониторинга нагрузки и подозрительных процессов.

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

Почему после root-компрометации стоит готовить новый сервер

Есть еще один принципиальный вопрос: можно ли после такой очистки продолжать полностью доверять существующей операционной системе?

Если злоумышленник получил root-доступ, он потенциально мог изменить не только файлы сайта, но и системные компоненты, конфигурацию, пользователей, службы или журналы.

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

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

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

Что получилось

После очистки вредоносные процессы были остановлены, инъекции из файлов Битрикс удалены, механизмы автоматического запуска отключены, посторонний доступ убран, а выполнение PHP в каталоге загрузок запрещено.

В результате нормализовалась нагрузка сервера и перестал внедряться посторонний JavaScript в страницы и REST-ответы.

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

Ценность

Для бизнеса заражение сервера - это не только вопрос нагрузки или технической безопасности.

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

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

Вывод

Если сервер на 1С-Битрикс неожиданно начинает потреблять значительно больше ресурсов, а сайт или Битрикс24 ведут себя нестабильно, стоит проверять не только производительность PHP, MySQL и компонентов.

Высокая нагрузка может быть только первым заметным симптомом более серьезной проблемы.

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

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

Материал был полезен?

Оценка помогает понимать, какие материалы стоит развивать и дополнять.

Обсудить задачу

Обратиться за помощью

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

Направление *