Что делать, если при обмене 1С с Битрикс возникает ошибка авторизации с упоминанием хостинга Jino?

Программист 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация IT и автоматизация бизнеса
← На главную

Ситуация, когда стабильно работающий обмен между 1С:Комплексная автоматизация (или другими конфигурациями) и сайтом на 1С-Битрикс внезапно прерывается странной ошибкой, может поставить в тупик даже опытного специалиста. Особенно странно выглядит ситуация, когда в логах 1С появляется текст «Недостаточно средств на аккаунте. Работа сайта приостановлена. Джино», при том что ваш сайт физически не располагается на хостинге Jino.

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

Проанализируем симптомы проблемы

Обычно проблема проявляется следующим образом: в узлах обмена 1С статус выгрузки меняется на «Выгрузка на сайт не выполнена». При попытке выполнить обмен вручную система выдает ошибку авторизации. Однако самым интересным является «ответ сервера», который часто приходит в некорректной кодировке (кракозябрах). Если перевести этот текст в читаемый вид (например, из UTF-8 в Windows-1251), мы увидим следующее сообщение:

Недостаточно средств РЅР° аккаунте... Джино превращается в «Недостаточно средств на аккаунте. Работа сайта приостановлена. Джино».

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

Выясним причину: почему появляется сторонний хостинг?

Разберем механику процесса. Ошибка возникает не из-за настроек вашего сервера, а из-за деятельности вредоносного скрипта (Credential Stealer), который внедрился в код вашего сайта. Когда 1С обращается к файлу /bitrix/admin/1c_exchange.php для авторизации, этот скрипт перехватывает логин и пароль пользователя обмена.

Далее вирус пытается отправить украденные данные на сервер злоумышленников. В данном случае сервер злоумышленников был зарегистрирован на хостинге Jino.ru. Поскольку злоумышленники не оплатили услуги хостинга, сервер Jino вместо приема данных выдал стандартную страницу-заглушку «Недостаточно средств». Этот HTML-код страницы-заглушки был «подмешан» в ответ вашего сайта, что сбило алгоритм 1С и привело к ошибке авторизации.

Рассмотрим шаги по диагностике инфраструктуры

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

  1. Проверка файла hosts: Проанализируем файл hosts на сервере, где установлена 1С. Иногда системные администраторы или разработчики прописывают там жесткие соответствия IP и домена для тестов. Путь к файлу: C:\Windows\System32\drivers\etc\hosts.
  2. Проверка прокси-сервера: Если обмен идет через прокси, выясним, нет ли на нем перенаправлений или ошибок кэширования.
  3. Анализ файла .htaccess: Проверим корневую папку сайта на наличие подозрительных редиректов (инструкции RewriteRule), которые могут перенаправлять POST-запросы на сторонние ресурсы.

Если эти проверки не дали результата, значит, проблема кроется внутри программного кода «1С-Битрикс».

Пошаговое решение: поиск и удаление вредоносного кода

Как показывает практика, вредоносный код чаще всего внедряется в файлы, которые инициализируются при каждом запросе к системе. Рассмотрим основные места внедрения.

Шаг 1: Проверка файлов конфигурации и инициализации

В первую очередь проверим файлы init.php. В Битриксе их может быть несколько. Нам нужно просмотреть их содержимое на предмет использования функции curl_init, file_get_contents со сторонними URL или наличия странных зашифрованных строк (base64_decode, eval).

Проанализируем следующие пути:

Пример подозрительного кода, который может быть обнаружен:


class MyClass336278 {
    public function sendData($url, $data) {
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $response = curl_exec($ch);
        curl_close($ch);
        return $response;
    }
}
// И далее вызов этого класса при событии OnBeforeUserLogin или в начале файла

Шаг 2: Анализ «полезной нагрузки»

Злоумышленники часто маскируют код под служебные классы. Обратим внимание на классы с названиями вроде MyClass, BitrixExchangeHelper или просто случайные наборы цифр. Внутри будет логика, которая собирает данные из массива $_POST или $_REQUEST и отправляет их с помощью curl на внешний домен (который и ведет на Jino).

Шаг 3: Проверка базы данных

Если в файлах ничего не найдено, проанализируем таблицу агентов в базе данных Битрикса. Вирусный код может храниться в таблице b_agent и исполняться через функцию eval(). Выполним SQL-запрос для поиска подозрительных записей:

SELECT * FROM b_agent WHERE NAME LIKE '%eval%' OR NAME LIKE '%base64%';

Почему стандартные сканеры могут молчать?

Важно понимать, почему такие инструменты как ImunifyAV, Virusdie или встроенный в Битрикс Bitrix.XScan могут не обнаружить проблему. Дело в том, что использование функций curl или init.php само по себе является легитимным. С точки зрения антивируса, это может выглядеть как обычная кастомная интеграция, написанная сторонним разработчиком. Поэтому ручной аудит кода в данном случае является наиболее эффективным методом.

Меры после очистки системы

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

  1. Смена пароля пользователя обмена: В 1С и в Битриксе установите новый сложный пароль для учетной записи, под которой выполняется синхронизация.
  2. Смена паролей администраторов: Все администраторы сайта, заходившие в панель управления во время действия вируса, также находятся в зоне риска.
  3. Очистка кэша: Обязательно сбросим весь кэш Битрикса через административную панель (Настройки -> Настройки продукта -> Автокеширование -> Очистка файлов кэша) и, если используется OPcache на сервере, перезагрузим PHP-FPM или Apache.
  4. Анализ логов: Посмотрим access.log веб-сервера, чтобы определить, как именно произошла загрузка или модификация файлов. Это поможет закрыть уязвимость (например, обновить устаревший модуль или закрыть дыру в FTP).

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

← На главную