Сайт на 1С Битрикс полностью или частично перестал работать (вредоносный код)

28.02.2023

Визуальная диагностика

В первую очередь необходимо проверить сторонние файлы и директории не относящиеся к ядру 1С Битрикс.
Для этого необходимой войти в панель управления хостингом, затем открыть “Менеджер файлов” и перейти в рабочую директорию сайта, например: /www/ваш_сайт/

 

Внимательно ознакомиться со списком директорий и файлов в корневой директории сайта.

Признаки сторонних директорий по примерам названий:

  • 8df1a333d (случайный набор цифр, букв и символов)
  • wp-admin
  • wp-includes
  • webstat
  • wp-tmp
  • swfobject
  • admin

 

Обратите внимание
Вышеперечисленные примеры названий директорий являются условными и часть данной инструкции по диагностике актуальна только для сайтов на системе 1С Битрикс.

 

Признаки сторонних файлов по примерам названий:

  • 8df1a333d.php (случайный набор цифр, букв и символов)
  • t.php
  • test.php
  • i.php
  • info.php
  • index.htm
  • swfobject.js

 

Проверить наличие директив в файлах .htaccess в корневой папке сайта и во внутренних директориях, например: /bitrix/

Если в файлах .htaccess присутствует нижеследующее правило, то это является признаком сторонних изменений:

<FilesMatch (py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$>
Order allow,deny
Deny from all
</FilesMatch>

 

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

Есть несколько основных вариантов внедрения в систему сторонних файлов, директорий и вредоносного кода:

 

  • Устаревшая версия ядра 1С Битрикс.
  • Ненадежные данные доступа к панели хостинга, ftp, mysql, администраторской панели сайта (админка Битрикс).
  • Утечка данных доступа (включая основной доступ к панели хостинга), к узлам хостинга из электронной почты, мессенджеров и сервисов третьей стороны. Наличие вредоносных программ на локальном компьютере с которого осуществляется доступ к панели хостинга и его дочерним узлам (SSH, sFTP, FTP, администраторская панель сайта).
  • Установлены некорректные права на директории и файлы. Пример ошибки: 777 для директории /bitrix/
  • Наличие технического файла с кодом позволяющим получить доступ к администраторской панели сайта (файл с кодом может наследоваться от разработчика сайта или предыдущего хостинг-провайдера).

 

Можно ли выполнить очистку от сторонних файлов, директорий и кода средствами антивируса сервера?

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

В случае, если администраторская панель сайта остается работоспособной, то рекомендуется установить дополнительный модуль "Поиск троянов" для 1С Битрикс или модуль "Поиск вирусов". После установки требуется провести сканирование всей файловой системы (на уровне до директорий с сайтами) через специальную страницу /bitrix/admin/bitrix.xscan_worker_fork.php

Обратите внимание на данные в строке "Начальный путь" (не содержит директорий сайтов т.е. поиск будет выполняться по всей файловой системе, а не в конкретной поддиректории сайта, что увеличивает вероятность нахождения вредоносных файлов):

 

Что делать для восстановления работоспособности сайта?

Наиболее быстрым способом восстановления работы сайта является восстановление из резервной копии (актуально для всех тарифов хостинга).

Для VPS и выделенных серверов инструкция актуальна при наличии действующей услуги по хранению резервных копий (бэкап-серверы) или при наличии личных локальных резервных копий.

Прежде, чем выполнять восстановление следует проверить наличие сторонних файлов и директорий в каждой из имеющихся резервных копий (проверять в порядке начиная с последней и до более ранних). Для этого в панели хостинга перейдите в раздел “Резервные копии”, выберите резервную копию из списка и нажмите кнопку “Данные” (или “Подробнее”):

 

В новом списке выберите строку “Файлы” и нажмите продолжить (кнопка “Файлы” или “Подробнее”):

Далее отобразится список корневых директорий и файлов аккаунта. Перейдите в раздел /www/, затем в директорию сайта. Внимательно просмотрите список на наличие признаков сторонних директорий и файлов (см. раздел “Визуальная диагностика” в начале данной инструкции). Если признаки присутствуют, то следует закрыть эту резервную копию и вернуться к списку резервных копий по датам.

Для проверки выберите следующую, более раннюю резервную копию. Повторите поиск на предмет сторонних директорий и файлов.

Если будет найдена резервная копия без признаков сторонних директорий и файлов, то следует записать/запомнить дату этой копии.

Если все имеющиеся резервные копии содержат признаки сторонних директорий и файлов - рекомендуется выполнить восстановление из самой ранней доступной резервной копии, а затем выполнить нижеследующие шаги инструкции:

Перед выполнением следующий действий настоятельно рекомендуем создать текущую резервную копию (файлы и базы данных) и скачать ее на ваше локальное хранилище.
  1. Перейдите в раздел “Менеджер файлов” и далее в раздел /www/. Выберите в списке директорию сайта и удалите. Дождитесь полного завершения процесса (процедура удаления файлов сайта может занять до 15-20 минут, если сайт с большим объемом данных).
  2. Перейдите в раздел “Резервные копии” и выберите резервную копию за нужную дату. 
  3. Нажмите кнопку “Данные” (или “Подробнее”). В новом списке выберите строку “Файлы” и нажмите продолжить (кнопка “Файлы” или “Подробнее”).
  4. Перейдите в раздел /www/ и выберите в списке директорию сайта (которую шагом ранее удаляли через “Менеджер файлов”). Нажмите кнопку “Восстановить” (строго 1 раз!).

  5. Система начнет выполнение восстановления файлов сайта из резервной копии. Процедура может занять от 5 минут до нескольких часов. Срок выполнения операции зависит от объема данных сайта). Выполнение процедуры обозначается иконкой-индикатором:

Важно: не запускайте никаких других параллельных процессов, а именно: восстановлений из резервных копий, создание резервных копий, передачу данных средствами FTP, sFTP, SSH. В противном случае может возникнуть сбой операций и зависание узлов сервера.

  1. Проверьте работу сайта после восстановления файлов из резервной копии (внешний осмотр и внутренний через администраторскую панель сайта).
  2. Удалите технические (временные) файлы с кодом, позволяющим получать привилегии администратора сайта (чаще всего размещается в корневой директории сайта).
  3. Проверьте права на файлы и директории по инструкции

Аналогично восстановлению файлов из резервной копии также следует произвести восстановление базы данных сайта, а именно:

Удалить текущую базу данных (раздел “Базы данных” в панели хостинга);
Восстановить базу данных используя ту же резервную копию из которой выполнялось восстановление файлов;

После восстановления файлов и баз данных НЕОБХОДИМО выполнить замену данных доступа к панели хостинга, дочерним узлам и администраторской панели сайта по инструкции.

Далее необходимо выполнить проверку целостности в администраторском разделе сайта: /bitrix/admin/security_file_verifier.php?lang=ru
Процедура может быть запущена только с вашей стороны т.к. потребуется пароль от лицензии Битрикс.

Завершающим этапом является проверка версии ядра 1С Битрикс (см. раздел “Маркетплейс” в администраторской панели сайта).

 

Если ядро 1С Битрикс давно не обновлялось?

Потребуется обновление ядра Битрикс, в противном случае, даже после успешного восстановления работоспособности сайта - возможны повторные случаи попадания вредоносного кода через уязвимые части устаревшего ядра.

Подробная инструкция по обновлению ядра Битрикс с переходом на версию PHP 8 находится на этой странице.

Обратите внимание:
при покупке лицензий продления 1С Битрикс через наш сервис - действует акция “Хостинг в подарок”. Подробные условия акции.

 

Выполняет ли техническая поддержка хостинга задачи по восстановлению работоспособности сайта и обновлению ядра Битрикс?

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

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

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