Самый неприятный момент — это не когда вам уже хостинг пишет «сайт заражен». А когда вы сами чувствуете: что-то не так. Сайт стал редиректить на казино, в админке появился странный юзер, магазин вдруг шлет спам, или страницы открываются через раз. Паника в такой момент понятна. Но вот что важно — первые 10-15 минут решают очень много.
Если коротко: не ковыряйте сайт наугад. Не ставьте подряд 6 «антивирусов». Не удаляйте файлы вслепую. И уж точно не делайте вид, что «может само пройдет». Не пройдет.
Сейчас разберем, что делать сразу, по шагам. Без магии. На пальцах.
Сначала — остановитесь и не ломайте улики
Честно говоря, большинство владельцев сайтов в первую минуту делают хуже. Заходят по FTP, начинают удалять «подозрительные» файлы, обновляют все подряд, меняют тему, отключают плагины. Вроде логично. На деле можно добить сайт окончательно и потерять следы взлома.
Ваша первая задача — зафиксировать состояние сайта. Хотя бы минимально.
- Сделайте скриншоты странного поведения — редиректа, предупреждения в браузере, нового админа, спам-страниц.
- Запишите время, когда заметили проблему.
- Если есть доступ — скачайте копию файлов и базы как есть, до любых правок.
Это занимает 5-10 минут. Но потом сильно помогает. Особенно если взлом неочевидный, а малварь сидит глубоко.
Изолируйте сайт. Да, сразу
Если у вас интернет-магазин, корпоративный сайт с заявками или личный кабинет — лучше временно ограничить доступ, чем дать заражению жить еще сутки. Потому что пока вы думаете, сайт может раздавать вирусы, воровать данные форм или рассылать спам.
Что можно сделать быстро:
- Поставить сайт в maintenance mode или закрыть доступ паролем на уровне хостинга.
- Если есть явный редирект или фишинговая вставка — отключить сайт совсем на время проверки.
- Остановить оформление заказов, если есть риск утечки данных клиентов.
Да, это неприятно. Да, магазин потеряет часть продаж. Но один день простоя почти всегда дешевле, чем неделя после нормального взлома с жалобами клиентов и меткой от Google.
Кстати, если уже понятно, что сайт именно взломан, а не просто «глючит», не тяните и сразу смотрите варианты помощи после взлома сайта. Иногда там счет идет не на дни, а на часы.
Смените пароли — но в правильном порядке
Вот тут многие делают полумеру — меняют пароль от WordPress и успокаиваются. Не-а. Если злоумышленник попал через хостинг, FTP или почту, один пароль админки ничего не решает.
Менять лучше так:
- пароль от хостинг-панели;
- FTP/SFTP и SSH, если есть;
- пароли админов WordPress;
- пароль от базы данных;
- пароль почты, привязанной к сайту.
И да — не «Summer2024!» и не название компании с цифрами. Нормальный длинный пароль, через менеджер паролей. Если тема с паролями у вас хромает, вот полезный разбор: слабый пароль — и все, сайт увели.
Если на сайте до сих пор нет 2FA у админов — это, мягко говоря, риск. Особенно у магазина, где 3 менеджера и один бывший подрядчик до сих пор висит в юзерах.
Проверьте, это точно взлом или просто поломка после апдейта
Иногда симптомы похожи. Белый экран, ошибки PHP, странное поведение админки. После кривого апдейта такое тоже бывает. Но есть несколько прям жирных признаков, что дело пахнет компрометацией:
— появились новые администраторы;
— сайт редиректит на левые домены;
— хостинг пишет про вредоносный код;
— в индексе Google всплыли чужие страницы;
— файлы темы или core WordPress изменились, хотя вы туда не лезли;
— резко выросла нагрузка на сервер или пошла исходящая почта.
Если сомневаетесь, полезно свериться с этим материалом: как понять, что сайт на WordPress взломали. Там как раз про признаки без технарской каши.
Не восстанавливайте бэкап сразу. Серьезно
Вот это ловушка. Самая частая. Люди видят проблему и мгновенно откатывают сайт на вчерашний бэкап. Иногда это срабатывает. А иногда — нет, потому что бэкдор уже сидел на сайте неделю, просто вы его не замечали.
В итоге сайт вроде ожил, а через день взлом повторился. Видел такое много раз.
Что делать вместо этого? Сначала понять:
— когда примерно начались симптомы;
— нет ли заражения в старых копиях;
— не был ли украден пароль, через который зайдут снова;
— есть ли чистая точка восстановления.
Если бэкап автоматический на хостинге — отлично. Но без проверки это просто копия, а не спасение. Для малого бизнеса это особенно больно: кажется, что «ну все, резерв есть», а по факту восстановились в ту же проблему. Короче, бездумный откат — плохая идея.
Посмотрите пользователей, плагины и последние изменения
Даже без глубокого аудита можно быстро найти очевидную дрянь.
Зайдите в админку, если она еще живая, и проверьте:
- есть ли незнакомые админы или редакторы;
- не установился ли левый плагин с странным названием;
- не изменились ли настройки главной страницы, почты, URL;
- нет ли плагинов, которые давно заброшены и не обновлялись годами.
Отдельно смотрите must-use plugins и папку uploads. Именно там часто прячут webshell, бэкдоры и всякие file-manager штуки. Пользователь сайта туда обычно не заглядывает вообще, а зря.
Если у вас на сайте 47 плагинов, половина «на всякий случай», то сейчас не лучший момент держать этот зоопарк. После очистки стоит пересобрать набор расширений и выкинуть лишнее.
Проверьте логи и сканы, если они у вас есть
Вот тут всплывает польза нормального обслуживания. Когда настроены журнал действий, мониторинг файлов, уведомления по доступности — вы не гадаете, а видите картину. Кто вошел, что поменялось, когда это началось.
Если у вас такой системы нет, подумайте на будущее о регулярном обслуживании WordPress. Для небольшого бизнеса это обычно дешевле одного серьезного инцидента. Без шуток.
Минимум, что стоит проверить прямо сейчас:
— access/error logs на хостинге;
— историю логинов;
— изменения файлов WordPress core;
— результаты malware scan, если он включен;
— cron-задачи и странные php-файлы в uploads, cache, tmp.
На базовую ручную проверку у спеца часто уходит 30-90 минут. Если сайт простой — быстрее. Если WooCommerce, кастомная тема и тонна старых модулей — ну, готовьтесь.
Предупредите людей, если могло утечь что-то важное
Не самый приятный пункт, зато честный. Если есть шанс, что утекли данные клиентов, формы заявок или пароли сотрудников, лучше сказать об этом сразу. Без драммы, просто по делу.
Например: «Мы временно отключили сайт из-за подозрительной активности. Идет проверка. Если вы входили в личный кабинет за последние дни, смените пароль».
Маленькие компании часто боятся «портить репутацию». Но молчание обычно бьет сильнее. Особенно когда клиенты сами замечают странности раньше вас.
Когда уже точно нужен специалист
Есть ситуации, где самому лучше не геройствовать:
- сайт редиректит на другие домены;
- в коде нашли obfuscated PHP или непонятный eval/base64;
- хостинг заблокировал аккаунт;
- взлом повторился после восстановления;
- это магазин и на кону данные клиентов или платежные процессы.
Тут уже не про «попробую вечерком». Тут про нормальную очистку, закрытие дыры и проверку, не оставили ли вам подарок на потом. Иначе можно потратить весь день, а потом все равно вызывать помощь. Ну такое.
Что сделать после инцидента, когда пожар потушили
Самая большая ошибка — почистить сайт и жить дальше как раньше. Если не убрать причину, история повторится.
После восстановления пройдитесь по базе:
- обновите WordPress, тему, плагины;
- удалите все неиспользуемое;
- включите 2FA для админов;
- ограничьте попытки входа;
- настройте автоматические бэкапы и проверяйте что они реально восстанавливаются;
- добавьте мониторинг доступности и изменений файлов.
На все это уходит не неделя. Для обычного сайта услуг — 1-2 часа. Для магазина чуть дольше. По деньгам тоже не космос, особенно по сравнению с уборкой после взлома.
И да, если у вас была мысль «мой маленький сайт никому не нужен» — увы. Нужен. Не лично, а как очередная жертва для автоматических сканов и массовых атак. Это скучная правда.
Если совсем коротко
Подозреваете компрометацию сайта? Тогда порядок такой: зафиксировали симптомы, изолировали сайт, сменили пароли, не трогали файлы вслепую, проверили пользователей и логи, потом уже решали — чистить, откатывать или звать спеца.
Главное — не суетиться. Потому что в такие моменты именно суета и добивает сайт. А спокойный, понятный план — наоборот, спасает. Даже если на душе, чесно говоря, уже все упало.