Владельцы необновленных сайтов на «1С-Битрикс» с решениями (в основном — снятыми с продажи, устаревших версий и т. п.) от «Аспро» и некоторых других разработчиков подвергаются риску заражения. За счет эксплуатации древних уязвимостей, которые давно устранены вендором, злоумышленник в лучшем случае нарушает работу сайта, в худшем — крадет информацию, переадресует пользователей на сторонние веб-ресурсы и выполняет другие нежелательные действия.
Причем попытки владельца откатить версию с помощью бэкапов хостера не спасают. Мы опишем наш опыт решения проблемы и изложим варианты восстановления сайта на устаревшем ПО «1С-Битрикс» с готовым решением «Аспро» без активной поддержки.
Пример письма от хостера с уведомлением о заражении сайта
В любом из этих случаев важно как можно быстрее начать действовать. Если пройдет слишком много времени без активной реакции, ситуация может усугубиться — ведь обычно стандартный shared-хостинг хранит архивы только за последние 30 дней. В этот период восстановление сайта можно провести значительно быстрее и дешевле.
Рассмотрим самый сложный пример из нашей практики.
Прошло более 30 дней с момента заражения. В админ-панель сайта не попасть, ни одна страница не открывается, да еще и пароль от админки никто не помнит. Единственная зацепка — доступ в панель управления хостингом.
Если вы помните пароль от админ-панели и заражение произошло не позднее 30 дней или у вас есть рабочий бэкап в «Списке резервных копий»(*ваш_домен*/bitrix/admin/dump_list.php), можно сразу восстановить сайт до последней рабочей версии до заражения. В таком случае пропустите пункты с 1-го по 4-й, описанные далее.
1. Для начала переходим в панель управления хостера. Нам необходимо восстановить работу админ-панели сайта, чтобы страница *ваш_домен*/bitrix/admin/ открывала форму авторизации, а не выдавала ошибку. Для этого идем в файловый менеджер и удаляем из папок bitrix и bitrix/admin/ файлы .htaccess. Не переживайте, что удалите лишнее, потом мы заново разместим все, что необходимо.
* В одном из последних восстановленных нами проектов вирус разместил более 5000 файлов .htaccess. Не пытайтесь вычистить их все руками — есть специальный инструмент, но об этом позже.
2. Теперь, когда можем открыть страницу авторизации, если мы не помним пароль от админ-панели, нам необходимо произвести сброс пароля и восстановить его. Обычно почтовая подсистема сайта уже не работает и стандартным механизмом сбросить пароль не выйдет. Но все же стоит попытаться. Если результата нет, то ищем в интернете способы восстановления пароля от админки CMS. Писать тут рабочий способ специально не будем, ибо это может стать еще одной уязвимостью. Кто понимает, тот сделает.
3. После входа в админ-панель сайта вы, скорее всего, обнаружите, что многие разделы не открываются. Причина — всё те же файлы .htaccess. Пока нам необходимо только попасть на страницу системы обновлений (*ваш_домен*/bitrix/admin/update_system.php).
Вкладка «Установка обновлений» открывается по умолчанию
Здесь жмем «Проверить обновления» (п. 1). Если видим, что лицензия и ключ (п. 2) показываются, но период получения обновлений окончился — значит, всё в порядке. Если же видим ошибку и вместо ключа — что-то иное, то, скорее всего, неверен адрес сервера для получения обновлений. Внесите изменения на странице настроек главного модуля (*ваш_домен*/bitrix/admin/settings.php), как показано на скриншоте.
Настройки сервера обновлений «1С-Битрикс»
После этого вернитесь на страницу системы обновлений и перейдите по ссылке «Проверить ключ» (п. 3). Вы попадете на сайт «1С-Битрикс», где сможете оплатить продление лицензионного ключа. Либо обратитесь к своему разработчику, если его контакты еще у вас есть, он поможет приобрести продление для вас.
4. Перейдите в раздел «Настройки — Инструменты — Резервное копирование — Список резервных копий» (*ваш_домен*/bitrix/admin/dump_list.php) и проверьте, нет ли там свежего по дате архива. Обычно добропорядочные разработчики перед тем, как вносить масштабные изменения на сайте, делают бэкап.
5. Если есть сохраненная резервная копия сайта — просто восстановите сайт до последней рабочей версии до заражения.
6. Независимо от того, удалось ли вам восстановиться с бэкапа или нет, следующим шагом будет обновление ядра и решений, имеющих доступ к обновлениям до последней версии, через штатную систему. Если видите ошибку с переходом на PHP 8, игнорируйте ее, сначала нужно устранить уязвимость. Поэтому установите обновления, которые вам доступны без перехода на PHP 8.
Наша система сама подберет вам исполнителей на услуги, связанные с разработкой сайта или приложения, поисковой оптимизацией, контекстной рекламой, маркетингом, SMM и PR.
Заполнить заявку
13171 тендер
проведено за восемь лет работы нашего сайта.
7. Далее необходимо осуществить патчинг уязвимостей решений из списка «1С-Битрикс». В нем напротив каждого решения есть рекомендации. Практически каждый разработчик сделал простой патч. Просто закиньте нужный файл в корень сайта и выполните инструкции.
8. Пункт необходимый, если вы не смогли восстановиться из безопасной версии и работаете с зараженным сайтом. После того, как вы пропатчите все решения, вы устраните уязвимости для нового заражения вирусами, но они могут оставаться на сайте. У многих хостеров, как правило, в панели управления предусмотрен инструмент для бесплатной проверки файлов сайта на вирусы. Ее результатом в рассматриваемом случае обычно становится длинный список зараженностей. Игнорируйте всё, что связанно с .htaccess, а остальное удалите вручную.
9. Если на вашем сайте есть кнопка «Сайт под защитой», то можно сразу перейти к пунктам устранения угрозы с помощью системы проактивной защиты «1С-Битрикс».
Кнопка «Сайт под защитой»
Если кнопки нет, сначала нужно сделать п. 10.
С проактивной защитой «1С-Битрикс» работаем следующим образом:
10. Осуществите переход на PHP 8. Тут начинается самое интересное. Скорее всего, вы столкнетесь с тем, что ваш сайт работает на PHP 7-й версии, поэтому необходимо будет перейти на PHP 8. У нас есть подробная статья об этом. И отдельная услуга.
Если кратко, мы действуем по следующему сценарию:1. Накатываем обновления, которые нам дает поставить система сразу.2. Идем к хостеру меняем версию PHP на минимум 8.2. После этого, как правило, сайт перестанет работать, но админка будет функционировать, что даст нам возможность установить все последние обновления. Устанавливаем.3. Переходим к обновлению решений, обновляем все, что можно. Если вы хорошо понимаете, что за компоненты установлены и для чего они нужны и видите, что в списке есть решения с оконченным демонстрационным режимом или неактивной поддержкой, которые точно не нужны в работе, лучше их удалить. Делайте это только если точно знаете, что это за решение и как оно взаимодействует с вашим сайтом.4. После вам необходимо руками исправить все возникающие ошибки в публичной части и админ-панели сайта. Как правило ошибки возникают с PHP-функциями, подключением устаревших скриптов и так далее. В помощь вот такие шпаргалки: официальная и от хороших людей.
11. Перейдите по возможности на MySQL 8. Это выходит за рамки данной инструкции, поэтому оставим в виде рекомендации. Пункт в контексте рассматриваемой темы необязательный.
12. Перейдите в «Настройки — Модули» (*ваш_домен*/bitrix/admin/module_admin.php). Удалите все неиспользуемыемодули. Важно: если не знаете, что за модуль и как он влияет на ваш сайт— не трогайте.
13. Аналогично пункту 12 делаем и тут: «Настройки — Настройки продукта — Список мастеров» (*ваш_домен*/bitrix/admin/wizard_list.php). Удалите обязательно демо интернет-магазин, демо корпоративный сайт и так далее. Если вы используете решение «Аспро», не удаляйте мастер «Аспро».
14. После всех пунктов выше сделайте следующее: перейдите в папку /upload/tmp/ и удалите в ней всё. Затем выполните повторное сканирование на вирусы с помощью хостерных утилит. Его результатом должна стать отметка, что вирусов не обнаружено. Далее, если у вас стоят ограничения на исходящий трафик, почтовые подсистемы и прочее, отправьте запрос хостеру, чтобы сняли ограничения с указанием на то, что все проблемы устранены и вирусов теперь нет.
15. В финале важно убедиться, что сайт работает как нужно. Это делается за два шага:
Затем перейдите на сайт, откройте консоль (клавишей F12) и походите по сайту. Важно пройти по всем страницам, проверить весь функционал, работу форм, фильтров, слайдеров, получение писем из форм, работу сторонних интеграций.
Если всё в порядке — значит, ваш сайт спасен, и, даже если на нем останется старая версия «Аспро», он не будет уязвим для известных вирусов.
В дальнейшем важно не забывать обслуживать сайт, так как вредоносное ПО постоянно развивается и не исключено появление новых способов заражения. Регулярно проверяйте и устанавливайте обновления, следите за безопасностью паролей и не игнорируйте сообщения хостера. Если хотите, мы возьмем всё это на себя. Подробности — здесь.