Как проверить сайт на взлом
Взломанный сайт редко перестаёт работать. Он продолжает открываться у владельца и тихо делает чужую работу: перенаправляет посетителей, рассылает спам, отдаёт поисковикам страницы с казино. Вот как это заметить раньше хостинга и клиентов.
Двенадцать признаков, что сайт взломан
- Посетители с телефона попадают на чужой сайт. Редирект срабатывает только для мобильных или для переходов из поиска, у владельца всё нормально.
- В выдаче Яндекса и Google у страниц чужие заголовки про кредиты, лекарства, казино. Это клоакинг: роботам отдают одно, людям другое.
- Хостинг пишет о рассылке спама с аккаунта или ограничивает отправку почты.
- В папках загрузок появились файлы .php с бессмысленными именами вроде
wp-cache-x1.php. - Файл .htaccess изменился, и в нём появились правила с редиректами или условиями по User-Agent.
- Новый пользователь-администратор в CMS, которого никто не создавал.
- Сайт стал медленнее без причины: майнер криптовалюты или рассыльщик грузит процессор.
- Антивирус браузера или Яндекс предупреждают «сайт может быть опасен».
- В коде страницы появился незнакомый скрипт, часто длинная строка из eval, base64 или набора символов.
- Ссылки на чужие сайты в подвале или скрытом блоке, которых не было в шаблоне.
- Файлы обновились в 4 утра, когда никто не работал.
- Домен попал в реестр РКН или чёрные списки без понятной причины.
Как проверить снаружи, без доступа к серверу
Откройте сайт из режима инкогнито с телефона через мобильный интернет, зайдите на него из поиска Яндекса, а не по прямой ссылке. Посмотрите исходный код главной: чужие скрипты и скрытые ссылки видно глазами. Проверьте инструментом проверки на взлом: он ищет редиректы на чужие домены, дефейс, спам-слова, обфусцированный JavaScript и пробует открыть опасные файлы. Посмотрите, что показывает сайт роботу, через «Проверку ответа сервера» в Яндекс.Вебмастере. Проверьте домен в реестре РКН.
Как проверить изнутри
Зайдите на хостинг по FTP или SSH и отсортируйте файлы по дате изменения: всё, что менялось за последние дни без
вашего участия, подозрительно. Поищите в файлах строки eval(, base64_decode(,
gzinflate(, $_POST[ в неожиданных местах, проверьте папки загрузок на .php, сравните
ядро CMS с чистой копией. В панели хостинга посмотрите cron-задания: взломщики оставляют там команду, которая
восстанавливает бэкдор после чистки. Агент безопасности SiteFalcon (тариф «Базовый») делает это автоматически:
каждые 15 минут проверяет в первую очередь загрузки и плагины, а раз в сутки ночью — все файлы сайта. Ищет
вредоносные конструкции, .php в аплоадах, панели баз данных, изменённые ключевые файлы.
Как почистить
- Сделайте полную копию сайта и базы: пригодится для разбора и на случай, если чистка что-то сломает.
- Смените все пароли: админка, хостинг, FTP, SSH, база данных, почта.
- Обновите CMS, темы и плагины, удалите неиспользуемые. Именно через них заходят чаще всего.
- Удалите чужие файлы и вычистите заражённые: часто проще заменить ядро и плагины чистыми копиями, оставив только свои шаблоны и загрузки.
- Проверьте .htaccess, wp-config и index.php на чужие строки.
- Удалите неизвестных пользователей CMS и cron-задания.
- Попросите хостинг проверить аккаунт антивирусом и снять ограничения на почту.
- Через сутки повторите проверку снаружи: если заражение вернулось, дыра не закрыта.
Как не допустить повторения
Обновления раз в неделю, а не раз в год. Пароли длиннее 12 символов и двухфакторная защита админки. Права на файлы 644, на папки 755, без 777. Заголовки безопасности на сервере (проверка). Резервные копии, которые хранятся не на том же хостинге. И мониторинг, который скажет о взломе через сутки, а не через месяц: как это устроено в SiteFalcon.
Частые вопросы
Сайт открывается нормально, может ли он быть взломан?
Да, это типичный случай. Заражение показывает себя только части посетителей или только поисковым роботам, чтобы владелец не заметил как можно дольше.
Достаточно ли проверить сайт антивирусом на компьютере?
Нет. Антивирус на компьютере не видит файлы на сервере и не проверяет поведение страницы для других посетителей.
Сколько стоит чистка сайта?
У хостингов и фрилансеров от нескольких тысяч рублей. Дороже всего обходится не чистка, а месяцы, пока о взломе не знали: потеря позиций и доверия.
Как узнать, через что взломали?
Смотрите логи веб-сервера за день заражения: какой файл запросили первым с подозрительного IP. Чаще всего это уязвимый плагин или форма загрузки файлов.