9 мин чтения 1С-Битрикс

Вирус на сайте: как понять, что заражён, и что делать владельцу

Битрикс
Содержание9

Вирус на сайте — это вредоносный код в файлах, базе или служебных скриптах, а не программа на вашем компьютере. Его выдают чужие редиректы, пометка «опасный сайт», спам-страницы в индексе и письмо хостера. Сначала изолируйте сайт и снимите копию «как есть», затем проверьте файлы и базу, смените пароли и после этого запросите пересмотр в Google и Яндексе.

Как понять, что сайт заражён

Чужой магазин вместо главной, редирект на посторонний домен или предупреждение браузера — повод проверить сайт. Вредоносный код может находиться в файлах, базе данных, .htaccess, cron-задачах или разметке. Компьютер владельца при этом может быть чистым.

В базе Безопасного поиска Яндекса указаны более 680 тысяч заражённых сайтов и 5,4 миллиона страниц. Эти цифры приведены в материале Яндекса для вебмастеров.

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

  • неожиданный редирект с главной или внутренних страниц;
  • предупреждение Google Safe Browsing или браузера;
  • спам-страницы в поиске по запросу site:вашдомен;
  • неизвестный скрипт в коде страницы;
  • письма клиентов о спам-рассылке с вашего домена;
  • уведомление хостера о вредоносных файлах или ограничении доступа;
  • сообщение Яндекс.Вебмастера о заражении.

Откройте сайт с телефона и компьютера: подмена может затрагивать только часть посетителей. Затем проверьте поисковую выдачу, Яндекс.Вебмастер, Search Console, почту домена и панель хостинга.

Медленная загрузка или одиночный флаг онлайн-сканера сами по себе заражение не доказывают. Если одновременно появились редирект, предупреждение браузера и сообщение хостера, считайте ситуацию инцидентом: сначала ограничьте доступ к сайту и сохраните копию.

Чем заражение бьёт по поиску, клиентам и хостингу

Вредоносный код может подменять страницы и добавлять спам в поисковый индекс. Предупреждение браузера о вредоносном сайте отталкивает посетителей ещё до перехода. Яндекс.Вебмастер также может сообщить о проблеме.

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

Хостинг может ограничить доступ к заражённой площадке. Спам-рассылка с домена тоже создаёт проблемы: письма могут хуже доходить до адресатов.

Для магазина сначала восстановите безопасность сайта. Пока вредоносный код активен, запуск рекламы на заражённые страницы рискует привести посетителей к предупреждению браузера. Если заражение затронуло только отдельный тестовый стенд, выводы об основном сайте нужно делать после проверки его файлов и адресов.

Откуда на сайт попадает вредоносный код

Частые причины заражения — уязвимости в CMS, теме или модуле, слабые пароли и неизвестные скрипты. Даже если сайт давно не менялся, старые расширения и доступы могут оставаться точкой входа.

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

Проверьте, нет ли на сайте:

  • заброшенных обновлений CMS, тем и модулей;
  • слабых или повторно используемых паролей для админки, FTP и хостинга;
  • заражённого компьютера администратора;
  • пиратских сборок и неизвестных скриптов в шаблоне;
  • других сайтов на одном аккаунте с общими правами;
  • чрезмерно широких прав на файлы и каталоги.

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

Если у вас статический лендинг без CMS и личного кабинета, советы про плагины к нему неприменимы. Проверьте разметку, DNS и аккаунт хостинга.

Где искать вредоносный код на 1С-Битрикс и других CMS

Проверяйте не только PHP-файлы. Вредоносный код может попасть в базу данных, .htaccess, cron, шаблон или сторонний скрипт. На 1С-Битрикс начните со сравнения ядра, шаблонов и модулей с чистой поставкой.

На 1С-Битрикс проверьте:

  • шаблон и php_interface/init.php, сравнив их с чистой поставкой;
  • компоненты, модули и пункты меню, которые вы не устанавливали;
  • базу данных и файлы .htaccess;
  • агенты, cron-задачи и кэш.

На другой CMS проверьте ядро, тему, расширения, служебные файлы и настройки в базе. Посмотрите результаты проверки хостинга, время изменения файлов и расхождения с чистой поставкой. Если ядро или шаблон изменены, сопровождение и разработка на 1С-Битрикс поможет разобраться с причиной.

Какими сканерами проверить сайт

Внешний сканер проверяет открытые страницы и URL. Он не читает базу данных, cron-задачи и файлы, доступные только после авторизации.

Сервис или сканер Что проверяет Что учитывать
Google Safe Browsing URL и репутацию домена Предупреждение может сохраниться после чистки до пересмотра
Диагностика Яндекс.Вебмастера Страницы с точки зрения Безопасного поиска Проверяйте, не ведёт ли ссылка на заражённую страницу другого сайта
Sucuri SiteCheck Открытые URL Сервис может не увидеть содержимое за авторизацией
VirusTotal URL или загруженный файл Отдельные движки могут реагировать на легитимный скрипт
AI-Bolit, Imunify и аналоги Файлы на сервере Находку нужно сверить с чистой поставкой

Чистый отчёт внешнего сканера не подтверждает, что на сервере нет вредоносного кода. Сверьте файлы с чистой поставкой и проверьте базу и кэш. Если флаг появился только на минифицированном скрипте, сначала проверьте его происхождение, а не удаляйте вслепую.

Что делать при заражении: порядок действий

Удалять подозрительные файлы на работающем сайте без копии рискованно: можно потерять данные для разбора и оставить другие копии вредоносного кода. Действуйте по порядку.

  1. Ограничьте доступ

    Покажите заглушку, при возможности временно отключите cron и исходящую почту, ограничьте вход в админку. Согласуйте действия с хостером, если он уже закрыл доступ к CMS.

  2. Сохраните копию

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

  3. Проверьте файлы и базу

    Осмотрите .htaccess, cron-задачи и кэш. Если есть чистая резервная копия, восстановление из неё обычно проще ручного удаления отдельных фрагментов. Не восстанавливайте копию, заражённую тем же кодом.

  4. Закройте точку входа

    Обновите CMS, модули и шаблон. Смените пароли хостинга, SFTP, базы и админки, отзовите ключи API и завершите активные сессии.

  5. Проверьте результат

    Повторно проверьте файлы и страницы сканерами и средствами хостинга, затем подайте запрос на пересмотр блокировки.

Без чистой копии и при расхождении ядра с поставкой ручная чистка может затянуться. В такой ситуации надёжнее восстановить сайт из проверенных файлов и перенести только нужные данные.

После чистки: поиск, Метрика и пользователи

Запрашивайте пересмотр после повторной проверки файлов, базы и хостинга. Для этого используйте Search Console и диагностику Яндекс.Вебмастера. Срок обработки зависит от сервиса.

После восстановления проверьте спам-адреса и редиректы в выдаче, данные Search Console и Вебмастера, а также цели и источники в Метрике. У интернет-магазина дополнительно проверьте фиды, карточки товаров, локальные страницы и уведомления клиентам о заказах.

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

После инцидента настройте мониторинг изменений файлов, WAF и двухфакторный вход. Включите флаги cookie HttpOnly, Secure и SameSite, если они подходят вашей конфигурации. Эти меры снижают риск повторного заражения, но не дают бессрочной гарантии. Если восстановить ядро и шаблон не удаётся, сравните затраты с разработкой нового сайта для бизнеса.

Как сделать так, чтобы вирус на сайте не вернулся

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

Устанавливайте темы и модули из проверенных источников, обновляйте CMS и расширения. Храните пароли в менеджере, используйте разные пароли для панели, CMS и базы и включите двухфакторный вход. Подключайтесь к серверу по SFTP и изолируйте сайты, размещённые на одном аккаунте.

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

Если заражение уже есть, оставьте заявку: разберём файлы и базу, сменим доступы и подготовим запрос на пересмотр в поиске.

Источники

Частые вопросы

Можно ли чистить сайт без заглушки, чтобы не терять заявки?

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

Если откатили чистую копию, зачем менять все пароли?

Пароли, ключи API и сессии могли быть скомпрометированы до отката. Если оставить доступы активными, злоумышленник может снова попасть в CMS. Смените пароли хостинга, SFTP, базы и админки, отзовите ключи и завершите старые сессии.

Почему после чистки браузер всё ещё пишет «опасный сайт»?

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

Поделиться
ВКонтакте Telegram MAX
Запросить Бриф на e-mail Уже есть концепция?
Запросите бриф на проект, чтобы мы могли объективно просчитать стоимость Вашего будущего проекта.
Нужна консультация?
Мы постараемся ответить на все ваши вопросы

Расскажите о задаче — посчитаем смету

Ответьте на несколько вопросов: что за компания, какие разделы нужны, есть ли тексты и фотографии. Этого хватит, чтобы посчитать смету с фиксированной ценой и сроком — она бесплатна и ни к чему не обязывает.
Написать