Сайт взломали. Что делать?

Сайт не открывается. Или открывается, но как-то подозрительно медленно. Или вообще кидает людей на левые страницы с казино. Такие сообщения прилетают регулярно — обычно уже когда пожар в полном разгаре.
Когда клиент пишет в полночь: «сайт упал, помогите».
В большинстве случаев после диагностики картина одна: на сайте поселился майнер, троян или какая-то другая нечисть. Сайт при этом ещё может «работать» — просто уже не на вас. Крутит чужую рекламу, ворует данные форм, рассылает спам с вашего домена. Владелец узнаёт последним, часто от Яндекса, хостера или разъярённого клиента.
Как обычно до этого доходит
История почти всегда одинаковая. Сайт сделали давно. Обновления отложили «на потом». Работает — и ладно. Зачем трогать, если заявки идут.
А когда добираешься до кишок, становится неловко. PHP 5.6 в 2026 году. Или 7.4, который тоже уже давно не поддерживают. Битрикс или WordPress, который никто ни разу не обновлял с запуска. Админка на admin / admin. Или самопис без фреймворка, без обновлений, зато «нам знакомый программист собрал, и всё летало».
Дыры в таких проектах не надо искать. Они сами светятся. И их находят не только «хакеры в капюшонах», а боты, которые сутками тыкают типовые уязвимости по всему интернету. Никакого личного интереса к вашему бизнесу. Просто дырявый сайт попался под раздачу.
Почему «просто почистить вирусы» не работает
Клиент почти всегда хочет одно: удалить гадость и чтобы к вечеру всё было как раньше. Понимаю. Сайт — это заявки, иногда касса, иногда единственный нормальный канал продаж.
Но если вычистить файлы и оставить ту же дырявую платформу, через неделю прилетит снова. Иногда на следующий день. Вирус — это симптом. Болезнь — дыра, которую так никто и не закрыл. Плюс слитые пароли, плюс неизвестно откуда взявшиеся пользователи в админке, плюс «полезный» модуль с форума.
На всех нормальных CMS периодически находят уязвимости. Битрикс, WordPress, что угодно. Это не приговор. Приговор — забить на обновления, пароли и бэкапы. Пока сайт «просто работает», дыру не видно. Пока не видно — ею уже пользуются.
Восстановление после взлома по объёму иногда близко к тому, чтобы сделать сайт заново. Не потому что «так дороже взять». А потому что старое уже нельзя чинить точечно: код пропитан, доступы утекли, плагины неизвестного происхождения, нормального бэкапа нет. Вычищать такое дольше и нервнее, чем собрать заново на актуальной платформе.
Когда пытаешься объяснить, что «почистить» и «починить» — разные задачи.
Иногда после этого разговора человек уходит обиженный. Мол, не смогли помочь по щелчку. Или дерем слишком большие деньги.
«Да мой Сашенька учится на программиста, он за вечер всё сделает, к тому же бесплатно».
Слышал не раз. Бывает, спустя время из любопытства заходишь на сайт — и видишь те же редиректы, ту же плашку «ваш компьютер заражён». Видимо, Сашенька не осилил. Или осилил на три дня.
Злорадства нет. Просто жалко время, деньги и нервы, которые человек потратил, пытаясь закрыть дыру скотчем. Ещё жалко посетителей: пока владелец спорит про цену, сайт может подсовывать им фишинг.
Если уже взломали — что делать сейчас
Не надо сразу всё сносить и писать в панике десяти подрядчикам подряд. Но и сидеть ждать, что само рассосётся, тоже не стоит.
- Снимите сайт с публикации, если он уже вредит людям: редиректы, фишинг, майнер. Хостер обычно может закрыть доступ по запросу. Лучше пара часов «заглушки», чем сутки отравления посетителей.
- Смените пароли к хостингу, FTP, SSH, CMS, почте домена. Лучше с другого компьютера. Если админку уже увели, логин со своего рабочего места только помогает злоумышленнику.
- Сохраните то, что есть. Снимок файлов и базы — даже грязный. Иначе потом не разберётесь, что сломали, что украли, и откуда вообще пришли.
- Найдите живой бэкап — не на том же сервере. Копия рядом с заражённым сайтом часто уже тоже потрогана. Нужна дата, когда сайт ещё был нормальный.
- Не ставьте «очистители» из первой вкладки Google и не отдавайте доступ первому фрилансеру с объявления. После такого часто становится только хуже: второй бэкдор поверх первого.
- Напишите тому, кто сайт сопровождает. Если никому — тогда уже специалистам. Тут нужна диагностика, а не шаманство с удалением папки virus.
Дальше уже по факту: где дыра, насколько глубоко, можно ли поднять из бэкапа или проще пересобрать. Это не всегда приятный разговор. Зато честный. Лучше услышать «надо переделывать», чем три месяца платить за «очистку», которая не держится.
Как не стать «одним из них»
Профилактика скучная. Зато дешевле ночного «сайт взломали» и дешевле сборки проекта с нуля. Ничего из списка ниже не требует диплома программиста. Требует привычки не забивать.
- Сложные разные пароли. Не 1234, не qwerty и не дата рождения собаки. Для хостинга — один, для админки — другой, для почты — третий. Раз в полгода меняйте. Если лень придумывать — менеджер паролей или генератор вроде passwordcraft.ru.
- Двухфакторка хотя бы на хостинг и админку. Пароль могут подобрать или украсть. Второй фактор — уже нет, если он не в том же чате, куда все доступы пересылают.
- Обновляйте CMS, модули и PHP. На старых версиях дыры известны всем, кто этим промышляет. Самим обновлять Битрикс или магазин на боевом сайте — риск. Не хотите этим жить — отдайте сопровождение.
- Поставьте SSL. Let’s Encrypt хватает большинству, хостер часто ставит бесплатно. Без сертификата и посетители шарахаются, и часть атак проще довести до конца. Подробнее: letsencrypt.org.
- Бэкапы не на том же сервере. Копия рядом с сайтом при взломе сгорает вместе с ним. Облако, другой хостинг, хоть внешний диск — главное, чтобы можно было откатиться на чистую дату.
- Антивирус и файрвол. Встроенный в CMS, на стороне хостинга, сторонний вроде virusdie.com — лучше несколько слоёв, чем один «ну вроде ничего».
- Не ставьте всё подряд. Плагин «для красоты», модуль с форума, «тему бесплатно скачал» — классический вход. Чем меньше лишнего на сайте, тем меньше поверхность для удара.
- Не раздавайте доступы всем. Подрядчику на неделю — отдельный пользователь, потом удалить. Один FTP на всю компанию — это не удобство, это мина с отложенным запалом.
- Смотрите, что сайт живой. Даже простой мониторинг: упал, сменился robots, вылез неизвестный админ. Лучше узнать в первый час, а не через месяц от клиента, которого унесло на чужой лендинг.
Можно всё это вести самостоятельно. Честно: для небольшого сайта это реально, если выделить полчаса в месяц и не врать себе. Можно не вести и надеяться. Третий вариант — отдать сопровождение людям, которые этим живут.
Если не хотите этим заниматься сами
Я занимаюсь сайтами больше 18 лет. Студия небольшая, на удалёнке, без «левых» фрилансеров на проекте. Техподдержка как раз про это: обновления, бэкапы, доступы, чтобы ночью не разбирать, чей это майнер и почему с домена уходит спам.
Сопровождение всегда дешевле аварии. Это не рекламный слоган, это арифметика: ночная «очистка», простой, потеря заявок и иногда сборка заново стоят заметно больше, чем спокойные обновления раз в месяц.
Если сайт уже лежит — лучше не ждать, пока Сашенька освободится после пар. Напишите, посмотрим трезво: что можно спасти, а что честнее переделать.





