Сайт на 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С Битрикс или специализированным разработчиком.