Лечение сайтов на Битрикс + Аспро от вирусов

Сайты клиентов 1С-Битрикс снова под угрозой! В шаблонах от АСПРО обнаружена уязвимость, через которую хакеры массово заражают сайты вирусами. Если ваш сайт давно не обновлялся – вы в зоне риска.

Обнаружен вирус!

4 февраля 2025 на мою почту начали падать письма счастья от компании Аспро. Одно за другим.

Сайты клиентов АСПРО под угрозой взлома

Команда 1С-Битрикс предупреждает, что на вашем сайте используется устаревшее решение АСПРО.
Оно делает его уязвимым для взлома. Некоторые пользователи уже столкнулись с этой проблемой.

К письму была приложена ссылка - https://aspro.ru/news/vzlomy-saytov-aspro/

В чем суть?

В шаблонах от Аспро была обнаружена уязвимость, через которую злоумышленники внедряли вирусы (причем разные). Вот что пишет Аспро:

Уязвимости мы обнаружили и устранили в обновлениях летом 2023 года. Мы намеренно не афишировали детали: что и когда было исправлено. Это было сделано для того, чтобы злоумышленники не узнали их. В актуальных версиях никаких уязвимостей нет. Страдают проекты на старых версиях или перенесенные, но с ошибками, на новые решения. Поэтому в первую очередь мы рекомендуем продлевать лицензию вовремя, чтобы сразу получать обновления и не беспокоиться об угрозах.

Что я могу сказать – красиво! Но вы могли бы сделать рассылку раньше и предупредить пользователей, что необходимо обновляться. Но, видимо, бизнес есть бизнес, и мы имеем, что имеем. Стоимость подписки выросла в 4 раза, и без нее нормально восстановить систему не получится.

У нашей компании на данном шаблоне было больше десятка сайтов, но полтора года назад мы перестали работать с Аспро и Битриксом (по причине атак и вирусов) – все новые сайты делаем на собственной разработке. Остались старые проекты, которые мы, конечно же, обновляли, и с ними проблем нет. Но есть клиенты, которые отказались от технического сопровождения и перестали обновлять систему. Именно они приняли основной удар – 50% сайтов, которые не обновлялись более двух лет, словили вирус. Некоторые продолжают работать, а некоторые упали.

Решение проблемы

Не стоит отчаиваться – все, что упало, можно восстановить (если, конечно, у вас есть бэкапы, без них сложнее).

Восстановление сайта

Если у вас сайт упал и не отвечает - в первую очередь необходимо на хостинге откатить файлы до момента падения. А еще лучше до момента активного состояния вируса. Все наши клиенты хостятся на netangels.ru (о нем я как нибудь отдельно напишу) - и это нас выручило. Все скриншоты и примеры будут на его основе, но я думаю что большинство нормальных хостингов предоставляют те же механизмы.

Восстановление бэкапа до рабочей версии

Что бы понять когда начал действовать вирус нам нужно посмотреть на хостинге статистику использования ресурсов. На этом скриншоте явно видно что все началось примерно 10 февраля, а значит файлы надо откатывать на 9 число. Ну и тут же видно что 20-го числа все встало в норму

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

Фиксация состояния сайта

Теперь вам в обязательно порядке необходимо сделать бекап базы данных и файлов шаблона (непосредственно папка www/bitrix/templates/aspro_next или другой аспро шаблон). Это необходимо для того - чтобы сохранить все ваши наработки и стили, которые были сделаны раньше. В ином случае обновление аспро затрет большинство из них и после обновления вам достанется хромой и косой сайт.

Поиск вирусов

Непосредственно сам поиск вирусов состоит из двух или более шагов (в зависимости от вашего хостинга).

1. Поиск вирусов через хостинг

Если на вашем хостинге есть кнопка "Найти вирусы" – нажимайте! На Netangels такая есть.

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

2. Поиск вирусов через виджет

Устанавливаем на сайт виджет https://marketplace.1c-bitrix.ru/solutions/sng.secure/ и идем в  Настройка - Настройка продукта - Настройка модуля - Поиск вирусов (или можно просто в строке поиска ввести Поиск вир... и он найдет что надо). На месте нажимаем кнопку Начать поиск. После этого он найдет файлы в которых (по его мнению) есть вирусы. Но на самом деле они есть не везде - и надо тщательно проверить каждый файл. Особенно смотрим на файлы где Тип опасности eval.

3. Поиск вирусов при помощи патчера от Аспро

Аспро разработал fix патчер для своей уязвимости. Качаем тут - https://aspro.ru/kb/article/777/ И прямо следуем инструкции:

1. Скачайте и распакуйте архив.
2. Разместите файл `fixit.php` в корневой директории сайта.
3. Откройте браузер и перейдите по адресу:
   http://example.com/fixit.php

Что тут следует запомнить? Всегда включайте расширенный поиск и не забудьте отметить галочками файлы которые вы хотите починить

Обновление 1С-Битрикс

Стоит заметить что для обновления вам необходимо иметь активные лицензии и Битрикс и Аспро - без этого ничего не выйдет. А с текущей ценовой политикой Аспро - это может встать в 100-150 К рублей.

Этот этап может быть после очистки от вирусов или перед. Все зависит от того - будет у вас доступ к обновлению или нет. Но я советую обновляться после очистки. Здесь все стандартно - МаркетПлейс - Обновление решений - Установить рекомендуемые обновления. Если обновлений не было давно - операцию придется повторить несколько раз пока все обновления не встанут. Если у вас версия PHP ниже 8 - вам нужно на хостинге установить ее в 8.3, так как после обновления Битрикс - обновления Аспро на нижнюю версию PHP не встанут.

Обновление Аспро

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

Я опишу несколько шагов которые помогут вам восстановить ваш шаблон после обновления:

Исправление ошибок после обновления

Ошибка: BX_RESIZE_PROPORTIONAL_ALT

find . -type f -exec sed -i 's|BX_RESIZE_PROPORTIONAL_ALT|BX_RESIZE_IMAGE_PROPORTIONAL_ALT|g' {} +

Ошибка: CAsproAllcorp3

find . -type f -exec sed -i 's|\\Aspro\\Functions\\CAsproAllcorp3::|TSolution\\Functions::|g' {} +
find . -type f -not -path "./vendor/*" -exec sed -i 's| CAsproAllcorp3::| TSolution\\Functions::|g' {} +

Если потеряны стили и модули

Если после обновления у вас слетели все ваши стили, скрипты и модули - вам необходимо восстановить из бекапа ваш шаблон (который мы ранее сохраняли) кроме папки vendor - ЭТО ВАЖНО!

После восстановления СНОВА проверить все на вирусы и исправить ошибки.

Проверка работоспособности

  1. Проверить главную страницу
  2. Проверить каталог и страницы товаров
  3. Проверить статические страницы
  4. Проверить формы обратной связи
  5. Проверить интеграции
  6. Проверить антиспам-фильтр
  7. Проверить консоль JS на ошибки

Ничего не понятно

Если у вас возникли сложности – напишите нам в Telegram, и наши специалисты помогут вам восстановить сайт!

Хотите обсудить ваш проект? Мы свяжемся с вами в ближайшее время!

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