CMS-битва: за кого вы?

Вирусы на сайтах 1С-Битрикс через модуль импорта/экспорта Excel — разбор и решения

Слушать выпуск

Оглавление

Вирусы на сайтах 1С-Битрикс через модуль импорта/экспорта Excel — разбор и решения

Весной 2025 года владельцы 1С-Битрикс массово столкнулись с заражениями сайтов через модуль импорта/экспорта товаров в Excel. Под удар попали интернет-магазины, каталоги и даже обычные корпоративные сайты, где модуль был установлен, но давно не обновлялся. Ниже — разбор признаков, профилактики и пошагового лечения на практике.

Регулярные обновления и грамотные ограничения доступа обходятся во много раз дешевле, чем восстановление заражённого проекта.

Какие файлы чаще всего бьют атакующие

По следам инцидентов чаще всего встречаются обращения к скриптам настройки и запуска профилей импорта/экспорта (в частности cron-профилей):


kda_import_excel_cron_settings.php
esol_massedit_profile.php
kda_export_excel_cron_settings.php

Эти файлы связаны с профилями импорта/экспорта и запуском по cron. На устаревших версиях модулей они становятся удобной точкой входа.

Как проявляется заражение

  • В код шаблонов и модулей внедряются чужие вставки (PHP/JS);
  • Появляются «левые» администраторы и массовые регистрации с абракадаброй;
  • Пользователей уводит редиректами на сторонние сайты;
  • Внезапно растёт нагрузка на сервер, появляются 5xx-ошибки;
  • В тяжёлых случаях — попадание в чёрные списки браузеров.

Где проверять и что смотреть в 1С-Битрикс

  • Журнал событий — фиксирует обращения к админским скриптам, аномальные ошибки;
  • Монитор проактивной защиты — фиксирует попытки эксплуатации уязвимостей;
  • Списки пользователей — нет ли новых админов;
  • Дата изменения файлов — внезапные апдейты в /bitrix/admin, /bitrix/modules, /bitrix/templates.

Профилактика: минимальный базис безопасности

  1. Обновления модуля и ядра. Рекомендую цикл: в начале месяца — комплексное обновление, в середине — «быстрое» (ядро + критичные модули).
  2. Ограничение доступа к скриптам импорта/экспорта. Закрывайте прямой веб-доступ и разрешайте только с нужных IP.
  3. Отключение лишних модулей. Чем меньше поверхностей атаки — тем лучше.
  4. Антивирус. Включите встроенный антивирус Битрикс и проверку на стороне хостинга.
  5. Надёжный хостинг. Хорошие провайдеры фильтруют подозрительные запросы и присылают уведомления о вредоносной активности.
  6. Бэкапы. Дневные авто-копии + ежемесячные полноразмерные. Храните вне прод-сервера.
  7. Мониторинг. Настройте алерты по пикам нагрузки, 5xx и массовым редиректам.

.htaccess: закрыть точечно админский обработчик


<Files "kda_import_excel_cron_settings.php">
    Require ip 203.0.113.10
    Require ip 203.0.113.11
    Require all denied
</Files>

Nginx: deny по пути к файлу (разрешить только своим IP)


location = /bitrix/admin/kda_import_excel_cron_settings.php {
    allow 203.0.113.10;
    allow 203.0.113.11;
    deny  all;
}

Запуск импорта по cron из CLI (без публичного WEB-доступа)


# пример общего подхода: запуск агента/скрипта профиля из CLI
/usr/bin/php -d short_open_tag=On -f /home/site/www/local/scripts/run_import_profile.php -- --profile=123

Что делать, если сайт уже заражён

Шаг Действие
1. Диагностика Проверить логи, журнал событий, монитор проактивной защиты; зафиксировать время инцидента.
2. Снэпшот Сделать резервную копию текущего состояния (для последующего diff и судебной гигиены).
3. Diff Сравнить файлы с чистой версией; найти вставки в /bitrix, /local, шаблонах и init-скриптах.
4. Чистка Удалить вредоносные фрагменты/файлы; вычистить бэкдоры и автозагрузки.
5. Доступы Сменить пароли админки, FTP/SSH, БД; пересоздать ключи; проверить админов и токены интеграций.
6. Пересборка Развернуть чистое ядро Битрикс, перенести данные/шаблоны после ревизии.
7. Обновления Обновить модуль импорта/экспорта и ядро; закрыть прямой доступ к скриптам профилей.
8. Пост-мониторинг Включить антивирус, настроить алерты и бэкапы; наблюдать минимум 2–4 недели.
Если просто удалить вирус, но не обновить уязвимый модуль импорта/экспорта — заражение почти наверняка вернётся.

Хостинг решает: почему провайдер важен

Надёжный хостинг фильтрует подозрительные запросы на уровне веб-сервера и WAF, блокирует поведенческие аномалии и уведомляет о троянах/шеллах. Дешёвый — пропускает всё подряд, и вы тратите время и деньги на бесконечную чистку.

Кстати, про выбор площадки с нюансами под Битрикс я подробно писал здесь — как выбрать хостинг для 1С-Битрикс.

Мини-чеклист для владельца

  • Обновляйте модуль импорта/экспорта и ядро по расписанию;
  • Закройте прямой доступ к админским скриптам профилей (IP-allowlist);
  • Держите включённым антивирус (Битрикс + хостинг);
  • Делайте ежедневные бэкапы и тестируйте восстановление;
  • Следите за «Журналом событий» и «Монитором проактивной защиты»;
  • Мониторьте резкие пики нагрузки и 5xx.

FAQ: короткие ответы на частые вопросы

Мой сайт — не магазин. Нужно ли проверять?

Да, если модуль импорта/экспорта установлен (или был установлен ранее) — вы в зоне риска.

Достаточно ли удалить вредоносный код?

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

Можно ли запускать импорт только через CLI?

Это лучший вариант: cron/CLI без публичного WEB-эндпоинта и с ограничением прав.

С чего начать, если времени нет?

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

Кодовые примеры: быстрая проверка и отчёт

PHP: фиксируем подозрительные запросы к критичным скриптам


<?php
// /local/php_interface/init.php (пример идеи, адаптируйте под проект)
$critical = [
    '/bitrix/admin/kda_import_excel_cron_settings.php',
    '/bitrix/admin/kda_export_excel_cron_settings.php',
    '/bitrix/admin/esol_massedit_profile.php',
];
$uri = $_SERVER['REQUEST_URI'] ?? '';
foreach ($critical as $path) {
    if (stripos($uri, $path) !== false) {
        // Запишем в отдельный лог для дальнейшей ревизии
        error_log('[CRIT-IMPORT] ' . date('c') . ' ' . $_SERVER['REMOTE_ADDR'] . ' ' . $uri . PHP_EOL, 3, $_SERVER['DOCUMENT_ROOT'].'/upload/crit-import.log');
    }
}
?>

Bash: быстрый поиск подозрительных вставок по проекту


# Ищем характерные eval/base64 в PHP-файлах (адаптируйте пути)
grep -RIn --include="*.php" "eval(base64_decode" /home/site/www
grep -RIn --include="*.php" "gzuncompress(base64_decode" /home/site/www
Приведённые сниппеты — ориентиры. Прежде чем применять в проде, адаптируйте пути, права и логику под вашу инфраструктуру.

Итог

Вирусные атаки через модуль импорта/экспорта Excel стали массовой проблемой для 1С-Битрикс. Но контролировать риск реально: обновления, ограничение доступа к скриптам профилей, антивирус, надёжный хостинг, бэкапы и мониторинг. Если заражение уже случилось — действуйте по чеклисту и не оставляйте уязвимые точки открытыми.

Нужна помощь с очисткой и защитой 1С-Битрикс? Разберу ситуацию, вылечу сайт и настрою профилактику так, чтобы атаки не повторялись.

Получить аудит и лечение

Твой голос имеет значение Назад
(Нет голосов)
Похожие записи
Как ложная тревога помогла укрепить безопасность сайта на 1С-Битрикс
Как подключить PayAnyWay (Moneta.ru) к интернет-магазину на 1С-Битрикс
Предыдущая запись Как ложная тревога помогла укрепить безопасность сайта на 1С-Битрикс Следующая запись Как подключить PayAnyWay (Moneta.ru) к интернет-магазину на 1С-Битрикс
Назад Назад к списку записей
Популярные записи
Как я разоблачил SEO-развод на продвижении разделов — реальный случай из практики
49
05:24
10 октября 2025
05:24 мин
Клиентам
SEO в 2025 году: тренды, ошибки и что реально работает
221
06:50
20 августа 2025
06:50 мин
SEO и продвижение
Качество микроразметки теперь влияет на видимость товаров в Яндексе
178
03:37
27 августа 2025
03:37 мин
Новости индустрии
Значок «Официальный магазин бренда» в Яндексе: мой опыт и что нужно знать
167
05:51
4 сентября 2025
05:51 мин
Новости индустрии
Вирусы на сайтах 1С-Битрикс через модуль импорта/экспорта Excel — разбор и решения
138
09:35
6 сентября 2025
09:35 мин
Bitrix практика

Комментарии (0)