Если злоумышленник получил доступ к панели управления, файлам или базе данных, удалять подозрительные файлы сразу не стоит. Восстановление сайта после взлома требует последовательности: остановить распространение атаки, сохранить данные для анализа, очистить среду, вернуть работоспособность и затем восстановить доверие поисковых систем и клиентов. Попытка вручную удалить один скрипт без анализа журналов часто оставляет скрытый доступ и открывает путь для повторной атаки.
Признаки часто видны раньше сообщений пользователей: редирект на сторонний ресурс, спам в комментариях, всплывающие окна, изменения цен, рекламные страницы в поисковой выдаче или внезапный рост нагрузки. Иногда взлом ограничивается одной страницей, а иногда затрагивает базу данных, почту, домен и рекламные аккаунты. Поэтому сначала определите границы инцидента. Скрытые редиректы и подменённые формы иногда работают только для части посетителей, поэтому тестировать сайт нужно с разных устройств и сетей.
Порядок зависит от того, где размещается проект: на собственном сервере, в облаке или на хостинге. В любом случае сохраните резервную копию текущего состояния, журналы доступа и конфигурацию, не обновляйте CMS вслепую и не публикуйте незачищенную копию. Работайте с отдельным тестовым контуром, чтобы не потерять исходные данные. Копии сохраняйте отдельно от рабочей папки и с неизменяемыми правами, чтобы злоумышленник не удалил их вместе с сайтом.
До начала восстановления проверьте, сообщил ли хостинг о вредоносных файлах или заблокировал ли сайт. Зафиксируйте время обнаружения и доступные действия. Если с сайта рассылали письма, принимали платежи или показывали чужие объявления, также проверьте почтовый сервис, платежные интеграции и связанные внешние системы. Список изменений, времени и ответственных лиц поможет в дальнейшем понять источник утечки и не пропустить повторный вход.
На первом этапе изолируйте взломанный ресурс. Временно отключите формы, авторизацию, оплату и публичные API, а основную страницу переведите в режим обслуживания с кодом ответа 503. Так поисковые роботы и посетители не получат вредоносный контент. Если есть CDN или защитный экран, временно ограничьте доступ к изменённым адресам. Работайте через чистое устройство и доверенную сеть, исключив сессии с potentially скомпрометированных браузеров.
Смените пароли от панели хостинга, CMS, базы данных, доменного регистратора, почты и FTP с отдельного доверенного устройства. Завершите активные сессии, включите двухфакторную аутентификацию, отзовите временные ключи доступа и проверьте список доверенных пользователей. Секреты, которые могли попасть в код или конфигурацию, следует заменить, а не просто сбросить пароль. Если доступ предоставлялся через разработчика, попросите его проверить свои устройства и отозвать выданные проекту разрешения.
Проверьте связанные аккаунты и автоматические процессы. Особое внимание уделите заданиям по расписанию, веб-хукам, внешним скриптам и учётным записям, созданным без вашего участия. Не входите в взломанную панель с прежними учётными данными: если доступ уже скомпрометирован, злоумышленник может вернуться через сохранённый сеанс или закладку. Проверьте также историю изменений DNS и параметры доменного регистратора, поскольку перехват этих настроек позволяет перенаправить посетителей даже после очистки файлов.
Сохраните журналы веб-сервера, панели управления, входов в CMS, изменений файлов и почтового сервера до того, как провайдер начнёт их ротацию. На изолированной копии выполните проверку на вредоносный код, сравните состав файлов с исходной сборкой и найдите недавно изменённые элементы. Особенно проверьте скрипты, загруженные документы, файлы конфигурации и шаблоны страниц. Сравнение дат изменения файлов с датами обновления компонентов помогает сузить круг возможных источников.
Частой причиной служат слабые пароли, устаревшие модули и темы, уязвимые расширения, небезопасные формы, SQL-инъекция, XSS или скомпрометированная учётная запись разработчика. Сопоставьте дату первых изменений с датой обновления компонентов и появления новых пользователей. Такой анализ часто позволяет понять, был ли взлом единичным или через него получили постоянный доступ. Проверьте установленные расширения и сторонние сервисы: вредоносный код нередко добавляется через вредоносную версию популярного модуля или скомпрометированную учётную запись поставщика.
Не считайте удаление вредоносного кода завершением проверки. Злоумышленник мог изменить базу данных, добавить SSH-ключи, перенастроить DNS, подменить формы заявки или подключиться к аналитике через OAuth. Проверьте журналы исходящих запросов и выгрузки данных, оцените возможную утечку персональной информации и зафиксируйте все скомпрометированные каналы. От этого зависит полный набор действий, включая проверку удалённых файлов. Отдельно убедитесь, что в базе нет новых администраторов, изменённых реквизитов и подменённых контактов для восстановления пароля.
Работайте с копией взломанного сайта и известной резервной копией, созданной до инцидента. Сравните основные файлы с официальными версиями, проверьте хеши, удалите посторонние коды и восстановите повреждённые файлы из чистого источника. Базу данных очищайте отдельными запросами после создания её резервной копии: в таблицах могут прятаться скрипты, подменённые адреса и данные для рассылок. Проверьте также файлы конфигурации, задания по расписанию и корневой каталог, куда злоумышленники часто помещают скрытые скрипты.
Если надёжной копии до взлома нет, не пытайтесь бездумно развернуть старый архив. Постройте окружение заново из исходного кода, перенесите контент по списку, вручную проверьте пользователей, заказы, настройки и медиафайлы. Каждую запись в базе стоит сопоставить с ожидаемым форматом. Когда исходная конфигурация утрачена, разумно обратиться к хостинг-провайдеру или специалистам по цифровой безопасности. Все действия сначала выполняйте на тестовом контуре и только потом переносите в рабочую среду.
После очистки обновите CMS, тему, модули и библиотеки до актуальных версий, удалите ненужные расширения и замените все пароли и ключи, которые могли быть раскрыты. Проверьте права файлов и учётных записей, перенастройте интеграции с минимальными полномочиями, при необходимости перевыпустите сертификат SSL. Убедитесь, что резервные копии хранятся отдельно и недоступны взломанному сайту. Проверьте платежные шлюзы и вебхуки: их ключи также следует заменить, если они находились в скомпрометированной конфигурации.
Перед повторным запуском перенесите очищенную сборку в чистую среду, настройте защитный экран, мониторинг и оповещения. Пройдите все формы, административные разделы, платежи и уведомления, затем проверьте сайт на внешних сервисах. Возврат старой резервной копии без проверки не считается восстановлением: она может содержать те же закладки и внедрённый код. Сравните количество файлов, пользователей и настроек с исходной статистикой, чтобы выявить незаметно удалённые или добавленные элементы.
Проверьте домен и инфраструктуру отдельно от файлов сайта. Убедитесь, что учётная запись регистратора защищена, серверы имён и DNS-записи соответствуют ожидаемым, а SSL-сертификат выпущен для нужного домена. Проверьте настройки перенаправления, почтовые записи SPF, DKIM и DMARC, а также блокировку переноса домена. При подозрении на компрометацию смените коды подтверждения и восстановите контроль над учётными записями. Проверьте также срок действия домена и историю его владельцев, если регистратор предоставляет такие данные.
В Google Search Console проверьте предупреждения безопасности, удалённые и взломанные адреса, карту сайта и фактические ссылки в поиске. Для восстановления корректных страниц настройте уместные постоянные перенаправления, а несуществующие адреса возвращайте 404 или 410. После устранения проблемы отправьте карту сайта на проверку и запросите повторный просмотр предупреждений. Индексация может обновляться несколько дней, поэтому сравнивайте реальные запросы с версиями страниц в выдаче. При большом числе заражённых адресов временно ограничьте их обработ robots.txt, а после очистки верните стандартные правила.
Для независимой сверки восстановления доверия и трафика используйте материалы по восстановлению: полезно сопоставить с ними порядок проверки индексации, рекламы и аналитики. Одновременно убедитесь, что поисковые системы больше не видят спам-страницы, созданные злоумышленником. Скрытие таких страниц в отчётах не удаляет их из выдачи — требуется полноценная очистка и корректная настройка ответов сервера. Также проверьте кэш поисковых систем и устаревшие ссылки, которыми продолжают пользоваться другие сайты.
Если проект запускает Google Ads, проверьте рекламный кабинет раньше возобновления крупных кампаний. Включите двухфакторную аутентификацию, смените пароль, отзовите подозрительные разрешения доступа и проверьте новые кампании, ключевые слова, минус-слова и адреса перехода. Особенно важно найти редиректы, скрытые объявления и подменённые страницы благодарности, созданные после взлома. Сравните текущие настройки с сохранёнными снимками кампаний и датами последних изменений.
Проверьте Google Analytics, менеджер тегов, CRM и другие системы, куда передаются данные посетителей. Сравните установленные коды с актуальными версиями, удалите неизвестные скрипты и проверьте цели, конверсии и журнал изменений. При обнаружении вредоносной рекламы приостановите только подозрительные кампании, сохраните доказательства и обратитесь в поддержку Google после полной очистки. Возобновлять показ стоит лишь после проверки сайта и рекламных URL. Проверьте также перенаправления и параметры отслеживания, чтобы вредомышленник не получал данные посетителей.
Оцените пользовательский результат восстановления: скорость открытия на мобильных устройствах, корректность форм, доверие к SSL-сертификату и отсутствие редиректов на сомнительные домены. Настройте оповещения о недоступности, изменениях DNS и всплесках трафика. В первые недели просматривайте журналы ежедневно, особенно если взлом был связан с рекламной кампанией или вредоносными страницами в поиске. Сравните новые данные аналитики с показателями до инцидента: резкий рост заказов при низкой конверсии может указывать на подмену форм.
Восстановление завершено не тогда, когда сайт снова открывается, а когда исключены известные пути повторного взлома. Сравните текущую конфигурацию с сохранённым состоянием до инцидента, зафиксируйте права доступа и убедитесь, что в рабочей среде нет учётных записей, созданных во время атаки.
Срочные проверки после публикации
Для регулярной работы нужны автоматические резервные копии, проверка обновлений и регулярный аудит. Храните копии в отдельном месте, тестируйте восстановление и заранее определите, кто отвечает за реагирование при инциденте. Проведённое восстановление закрепите внутренним регламентом с порядком действий, контактами ответственных и критериями возврата сайта в работу.
Профилактика без срочного инцидента
В Астане восстановление и техническое сопровождение можно поручить Kazdev: агентство создаёт и обновляет сайты, подключает домены и хостинг, настраивает формы для заявок и ведёт кампании Google Ads. Актуальные условия и контакты агентства позволяют заранее согласовать объём работ и доступный формат оплаты, включая рассрочку через Kaspi Bank или Alfa Bank.
Если ресурс уже взломан, начните с изоляции и сохраните доказательства: это сокращает ущерб и помогает точно определить объём восстановления. Не публикуйте старую копию до проверки и не пытайтесь решить проблему только удалением видимых вредоносных файлов. Каждое восстановленное действие фиксируйте в журнале, чтобы затем подтвердить положительный результат проверки.
Оставьте заявку на восстановление и защиту сайта. Команда Kazdev оценит состояние проекта, восстановит его работоспособность, настроит контроль доступа, резервные копии и рекламные кабинеты, чтобы сайт был готов принимать клиентов в Астане и по всей Казахстане.