Caseproof

Технологии и автоматизация Инструкция

Сайт взломали: как вернуть его в рабочее состояние

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

Редакционный профиль раздела «Технологии»

Взломанный сайт возвращают в строй в 4 шага: закрыть доступ посетителям, сохранить заражённое состояние, вычистить чужой код и сменить все пароли, и только потом открывать сайт обратно. Порядок важнее скорости. Если первым делом развернуть поверх взлома вчерашнюю резервную копию, вместе с сайтом вернётся и уязвимость, через которую зашли, — и через несколько дней всё повторится.

Взлом почти никогда не выглядит как надпись «вас взломали». Чаще сайт работает как обычно, а в страницы подмешаны чужие ссылки, в панели вебмастера висит предупреждение, письма с форм перестали доходить, хостинг прислал уведомление о рассылке спама. Между заражением и обнаружением проходят недели, и за это время успевает пострадать поисковая выдача.

Как понять, что сайт действительно взломан#

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

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

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

Первые часы: что сделать до любой чистки#

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

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

Третье — собрать факты, пока они свежие. Журналы сервера за последние 2 недели скачивают на свой компьютер: у большинства хостингов они хранятся недолго и затираются ровно тогда, когда становятся нужны. Туда же — список всех, у кого есть доступы, и даты последних правок.

Четвёртое — предупредить тех, кого это касается. Хостинг помогает и часто видит больше вашего. Платёжный сервис, если через сайт шли оплаты. И сотрудников: любой пароль от админки, который они вводили на прошлой неделе, дальше считается скомпрометированным и меняется вместе с остальными.

Чистка и восстановление: рабочий порядок#

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

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

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

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

Смена доступов и закрытие точки входа#

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

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

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

Задачу на устранение формулируют письменно: что произошло, какие файлы изменены, какие версии стоят, что считается результатом. Расплывчатое «почистите сайт» оборачивается спором, входило ли закрытие причины в работы; как это описывать, показано в разборе про постановку задачи разработчику.

Вывод: взлом — это процедура, а не катастрофа#

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

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

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

Темы сайт взломали

Читать ещё

  1. Технологии и автоматизация

    Как выбрать подрядчика на разработку сайта: 5 шагов

  2. Технологии и автоматизация

    Выбор CMS для сайта компании: 4 типа и критерии

  3. Технологии и автоматизация

    Как организовать доступы сотрудников к сервисам

  4. Технологии и автоматизация

    Что такое техническое задание и что в нём пишут