Как понять, что сайт на 1С-Битрикс взломан: признаки, первые действия и восстановление
Редиректы, новые администраторы, изменённые файлы и незнакомые задания cron могут указывать на взлом сайта. Разбираем, как ограничить ущерб, сохранить данные для диагностики, найти точку входа и безопасно восстановить 1С-Битрикс.
Подозрение на взлом сайта редко начинается с аккуратного уведомления «найден вредоносный файл». Чаще владелец замечает редирект на чужую страницу, рекламу в поисковой выдаче, нового администратора, всплеск писем, жалобу хостинга или внезапную нагрузку на сервер. Иногда публичная часть выглядит нормально, а посторонний код уже отправляет данные наружу или готовит повторный доступ.
В такой ситуации опасны две крайности: продолжать работу как обычно и ждать новых симптомов либо сразу удалять всё подозрительное. В первом случае растёт ущерб, во втором можно уничтожить следы и оставить незамеченной точку входа. Ниже — практический порядок действий для сайта на 1С-Битрикс: как распознать инцидент, ограничить его, собрать факты и вернуть проект в работу без «лечения на глаз».

Что считать взломом сайта
Взлом — это не только дефейс главной страницы. Инцидентом стоит считать любое несанкционированное действие: изменение файлов или базы, создание пользователя, запуск кода, получение доступа к панели управления, кражу ключей интеграций, подмену платёжных реквизитов или использование сервера для рассылки и атак.
При этом одиночная ошибка PHP, медленная страница или сбой компонента сами по себе не доказывают компрометацию. Задача диагностики — связать симптомы с проверяемыми фактами: кто и когда менял файл, откуда выполнялся вход, какой процесс создаёт нагрузку, когда появился редирект и какие данные могли быть доступны.
Если причина пока неизвестна, полезно вести работу как проверку безопасности сайта на 1С-Битрикс, а не как обычное исправление одной ошибки. Это меняет порядок действий: сначала ограничение и фиксация состояния, затем очистка и восстановление.
Признаки, которые нельзя игнорировать
Изменения в публичной части
- сайт перенаправляет посетителей на посторонний домен, иногда только с мобильных устройств или из поиска;
- появились неизвестные ссылки, баннеры, формы, страницы или фрагменты JavaScript;
- поисковик показывает чужие заголовки, фармацевтические или азартные страницы;
- браузер, антивирус или хостинг предупреждает о вредоносном содержимом;
- формы отправляют данные не тем получателям, поменялись реквизиты или контакты;
- публичные страницы отвечают нестабильно, а нагрузка выросла без роста посещаемости.
Неожиданные изменения в Битриксе
- появился новый администратор или изменились группы и права существующего пользователя;
- в журнале событий есть входы с незнакомых IP, подбор пароля или действия в необычное время;
- изменились почтовые шаблоны, обработчики событий, настройки модулей или адреса интеграций;
- в
/local/,/bitrix/php_interface/, корне сайта или/upload/появились PHP-файлы, которых не должно быть; - файлы ядра, шаблона или компонентов менялись без релиза и понятной задачи.
Сигналы на уровне сервера
- добавились задания cron, неизвестные процессы, системные пользователи или SSH-ключи;
- веб-сервер обращается к незнакомым адресам, рассылает почту или создаёт исходящий трафик;
- появились файлы с маскирующимися именами, свежими датами и кодом, который трудно объяснить задачами проекта;
- логи очищены, резко уменьшились или перестали записываться;
- пароли перестали подходить либо настройки базы, почты, CDN и домена изменились без согласования.
Ни один признак не стоит оценивать отдельно. Например, свежая дата файла может быть следствием штатного обновления, а новый cron — работой хостинга. Но сочетание неизвестного администратора, изменённого обработчика и исходящих запросов уже требует немедленной проверки.
Что делать в первый час
Цель первых действий — остановить развитие инцидента и не уничтожить информацию, которая поможет найти причину. Конкретный способ изоляции зависит от проекта: для визитки можно временно закрыть публичный доступ, а для магазина иногда безопаснее ограничить административную часть, внешние интеграции и уязвимый маршрут, оставив клиентам статическую страницу обслуживания.

- Зафиксировать симптомы и время. Сохранить URL, скриншоты, предупреждения, IP, время первого обнаружения и список недавних изменений. Это задаёт границы поиска в логах и резервных копиях.
- Ограничить доступ. Закрыть скомпрометированный аккаунт, опасный URL, административную часть или весь сайт — в объёме, необходимом для сдерживания. Если есть признаки утечки через интеграцию, временно остановить соответствующий webhook или ключ.
- Сделать техническую копию текущего состояния. Нужны файлы, база и доступные логи до очистки. Такая копия считается потенциально заражённой и не используется как готовый бэкап для возврата в работу.
- Сохранить логи отдельно. Скопировать журналы веб-сервера, PHP, системы, авторизации и Битрикса так, чтобы ротация или злоумышленник не удалили нужный период.
- Определить ответственного. Один человек фиксирует действия и время. Иначе несколько администраторов одновременно меняют пароли, удаляют файлы и перезапускают сервисы, после чего картину инцидента восстановить труднее.
Не стоит продолжать входить в админку с компьютера, который тоже может быть заражён. Для смены доступов и диагностики нужен доверенный компьютер. Не публикуйте имена подозрительных файлов и секретные ключи в открытых чатах: они могут раскрыть устройство проекта и новые способы входа.
Чего не делать сразу
- Не удалять первый найденный файл и не считать задачу закрытой. Это может быть только один из загрузчиков или резервных входов.
- Не восстанавливать бэкап поверх текущего сайта. Сначала нужно сохранить состояние и понять, не заражена ли сама копия.
- Не очищать все логи и кеши ради ускорения. Кеш обычно можно пересоздать позже, а журнал уже не вернуть.
- Не обновлять всё подряд на работающем заражённом окружении. Обновление может затереть часть следов, сломаться из-за изменённого ядра и не удалить код вне обновляемых каталогов.
- Не менять только пароль администратора. Если скомпрометирован сервер, почта или рабочая станция, новый пароль снова окажется у злоумышленника.
- Не доверять одной «зелёной» проверке. Сканер полезен, но не знает бизнес-логику, кастомный код, все внешние сервисы и историю проекта.
Где искать следы на сайте 1С-Битрикс
Нормальная диагностика соединяет данные из нескольких источников. Если смотреть только файловую систему, можно пропустить созданного администратора и изменённый webhook. Если смотреть только админку, останутся незамеченными cron, SSH-ключ и процесс вне каталога сайта.

Файлы и контроль целостности
Проверяются изменения в ядре, /local/, шаблонах, компонентах, корне сайта, каталогах загрузок и временных папках. Важны не только сигнатуры вредоносного кода, но и происхождение файла, владелец, права, дата и связь с запросами из логов.
В Битриксе есть штатный контроль целостности файлов. Он особенно полезен, если до инцидента был создан доверенный верификационный файл. Без исходной точки сравнения результаты нужно сопоставлять с резервной копией, репозиторием и известными релизами: кастомная правка и вредоносное изменение для простого сравнения выглядят одинаково.
Журналы и пользователи Битрикса
В административной части проверяются пользователи, группы, история входов, настройки почтовых событий, агентов, модулей и интеграций. Журнал событий позволяет фильтровать записи по времени, пользователю, IP, URL и срочности. Отдельный журнал вторжений проактивной защиты полезен как ещё один источник, но отсутствие события не означает отсутствие взлома.
Логи веб-сервера и PHP
Access-лог помогает связать появление файла с конкретным запросом, найти подозрительные POST-обращения, перебор паролей и повторные вызовы «закладки». Error-лог и журнал PHP показывают ошибки выполнения, пути файлов и моменты запуска кода. Проверять нужно период до первого заметного симптома, а не только последние часы.
Cron, процессы и серверные доступы
Даже после очистки каталога сайта вредоносный код может вернуться из задания cron, изменённого системного сервиса, соседнего сайта на аккаунте или украденного SSH-ключа. Поэтому проверяются активные процессы, планировщики, пользователи, ключи, история входов, права файлов и другие виртуальные хосты.
База данных и контент
В базе могут находиться внедрённые скрипты, изменённые включаемые области, новые пользователи, подменённые настройки и ссылки. Поиск одной подозрительной строки недостаточен: нужно понимать, кто мог записать значение, через какой компонент или административную форму и не осталось ли похожих изменений.
Как найти точку входа, а не только последствия
Найденный PHP-файл отвечает на вопрос «что запустилось», но не всегда объясняет «как попало». Точкой входа может быть уязвимый модуль, старое ядро, небезопасная загрузка файла, украденный пароль, открытая служебная страница, соседний сайт, неверные права или скомпрометированный компьютер администратора.
Удобно строить временную линию:
- когда появился самый ранний подозрительный запрос или вход;
- какой файл, пользователь или запись изменились сразу после него;
- какие действия выполнялись затем и от каких IP;
- какие доступы и внешние ключи были доступны этому коду;
- какой дефект позволил выполнить первое действие.
Если на проекте нет истории релизов и непонятно, какие изменения штатные, перед очисткой полезен технический аудит сайта на 1С-Битрикс. Он не заменяет расследование, но помогает отделить старые доработки от свежих аномалий и понять зависимости проекта.
Безопасное восстановление сайта
Восстановление лучше проводить в изолированном окружении. Задача — собрать чистую версию проекта, закрыть подтверждённую точку входа, заменить скомпрометированные секреты и только затем возвращать трафик.

- Подготовить изолированную копию. Она закрыта от посетителей и поисковиков, не отправляет реальные письма, оплаты, заказы и данные в CRM или 1С.
- Выбрать доверенную основу. Это может быть чистая резервная копия до инцидента, репозиторий и заново установленное ядро с проверенными модулями. Дата копии должна подтверждаться фактами, а не только отсутствием видимых симптомов.
- Сравнить и очистить пользовательский код. Проверяются шаблоны, компоненты, обработчики, модули, загрузки и конфигурация. Неизвестный код не переносится автоматически в чистое окружение.
- Устранить точку входа. Обновить уязвимый компонент, исправить загрузку, закрыть служебный URL, пересмотреть права или удалить скомпрометированный доступ — в зависимости от подтверждённой причины.
- Обновить ядро и модули управляемо. Последовательность должна учитывать совместимость проекта. Подход похож на безопасное обновление сайта на Битриксе: резервная точка, тестовый контур, проверка функций и план отката.
- Заменить секреты. Пароли администраторов, SSH-ключи, доступы к базе, почте, домену, резервам, CRM, оплате и другим API меняются из доверенной среды. Старые ключи нужно не просто переписать в конфиге, а отозвать на стороне сервиса.
- Проверить бизнес-сценарии. Авторизация, формы, каталог, корзина, тестовый заказ, почта, обмены и права пользователей должны работать без неожиданных внешних обращений.
- Вернуть трафик и наблюдать. После запуска контролируются логи, изменения файлов, исходящие соединения, новые входы, нагрузка и повторение исходных индикаторов.
Почему одного восстановления из бэкапа недостаточно
Бэкап может вернуть файлы и базу, но не закрывает уязвимость, через которую сайт взломали. Если восстановить копию с той же версией модуля, тем же украденным паролем и открытым служебным URL, заражение повторится. Кроме того, момент первой компрометации часто раньше момента первого заметного симптома, поэтому несколько последних копий уже могут содержать посторонний код.
Перед использованием архива нужно знать его состав, дату и результат тестового развёртывания. Подробный порядок описан в статье как проверить резервную копию сайта на 1С-Битрикс. В инциденте важно сохранить и заражённую техническую копию, и выбранный чистый бэкап: у них разные задачи.
Если затронуты персональные данные, платежи или клиенты
Если злоумышленник мог получить доступ к заказам, формам, персональным данным, платёжным настройкам или переписке, задача выходит за рамки очистки кода. Нужно определить затронутые системы и период, привлечь ответственных за данные, хостинг, платёжного провайдера и другие сервисы. Порядок уведомлений зависит от характера данных, договоров и применимых требований — его стоит согласовать с профильным специалистом, а не угадывать по универсальному шаблону.
До выяснения обстоятельств важно не публиковать лишние технические детали и не обещать, что утечки точно не было. Корректнее зафиксировать, какие данные проверены, какие выводы подтверждены логами и какие ограничения остаются.
Как снизить риск повторного взлома
- обновлять ядро Битрикса и модули по регламенту, сначала проверяя совместимость на тестовом контуре;
- удалять неиспользуемые модули, служебные скрипты, тестовые копии и старые административные аккаунты;
- включить двухфакторную аутентификацию для администраторов и не использовать общие учётные записи;
- ограничить административную часть и серверные доступы по принципу минимально необходимых прав;
- настроить хранение журналов, уведомления о входах и контроль важных изменений;
- создать доверенную исходную точку для контроля целостности и хранить её отдельно от сайта;
- не разрешать выполнение PHP в каталогах, где должны находиться только изображения и документы, если архитектура проекта это допускает;
- проверять загрузки файлов, формы, API, webhook и кастомные обработчики;
- хранить рабочие резервные копии вне основного сервера и регулярно тестировать восстановление;
- защищать доступы к домену, почте, хостингу, репозиторию и резервам не хуже самой админки сайта.
Эти меры удобнее поддерживать не разовой «установкой защиты», а регламентом. В рамках поддержки сайта можно контролировать обновления, резервные копии, журналы и изменения. Периодическая проверка важнее списка настроек, которые включили один раз и больше не пересматривали.
Когда нужен разработчик или специалист по безопасности
Самостоятельно можно зафиксировать симптомы, связаться с хостингом, ограничить доступ и собрать известные факты. Специалист нужен, если сайт продолжает менять файлы после очистки, неизвестна точка входа, затронут сервер или несколько сайтов, есть магазин и внешние интеграции, могли утечь данные либо нельзя безопасно остановить проект.
Обычное исправление ошибки на сайте подходит, когда причина локальна и компрометация исключена. При подтверждённом или вероятном взломе нужна более широкая работа: изоляция, анализ файлов и логов, поиск точки входа, восстановление, смена доступов и контроль после запуска.
FAQ
Можно ли просто удалить найденный вирусный файл?
Удаление убирает один видимый объект, но не объясняет, как он появился и не осталось ли других способов доступа. Сначала стоит сохранить копию и логи, связать файл с запросами и изменениями, затем очистить проект и закрыть точку входа.
Нужно ли сразу выключать сайт?
Если продолжается утечка, подмена оплаты, рассылка или выполнение постороннего кода, приоритет — быстрое сдерживание. Способ зависит от проекта: полное отключение, режим обслуживания, ограничение маршрута, админки или интеграции. Важно не уничтожить логи и иметь согласованный план для клиентов.
Покажет ли штатный сканер Битрикса все заражённые файлы?
Штатные инструменты полезны как часть проверки, но не дают абсолютной гарантии. Кастомный код, база, серверные задания, соседний сайт и украденные доступы требуют отдельного анализа. Результаты сканера нужно сопоставлять с логами, резервами и историей изменений.
Как понять, какая резервная копия чистая?
По одной дате или внешнему виду сайта — никак. Нужно сопоставить время первых подозрительных событий, изменения файлов, пользователей и логи. Выбранная копия разворачивается изолированно и проверяется до возврата в работу.
Когда менять пароли и API-ключи?
Скомпрометированный доступ нужно ограничить сразу, а окончательную ротацию выполнять из доверенной среды и с учётом зависимостей. Если поменять секрет внутри всё ещё заражённого сайта или с заражённого компьютера, новый ключ может быть перехвачен повторно.
Можно ли гарантировать, что после очистки сайт полностью безопасен?
Абсолютную гарантию дать нельзя. Можно снизить неопределённость: найти подтверждённую точку входа, собрать чистое окружение, заменить доступы, проверить связанные системы и настроить наблюдение. Чем лучше сохранены логи, бэкапы и история релизов, тем обоснованнее результат.
Вывод
При взломе сайта на 1С-Битрикс важно не начинать с удаления первого подозрительного файла. Сначала нужно ограничить ущерб, сохранить текущее состояние и логи, построить временную линию и определить точку входа. После этого проект восстанавливается в изолированном окружении, обновляется, получает новые секреты и проходит проверку бизнес-сценариев.
Хороший результат — не просто снова открывающаяся главная страница. Должно быть понятно, что произошло, какие системы затронуты, почему выбранная версия считается чистой, что изменено для предотвращения повторной атаки и какие признаки контролируются после запуска.
Нужно оценить задачу по сайту?
Опишите, что нужно изменить, приложите ссылку на страницу и удобный способ связи. Я посмотрю задачу и подскажу, с чего лучше начать.