Проверка сайта на вирусы — это процесс сканирования веб-ресурса на наличие вредоносного кода, скрытых скриптов и уязвимостей, которые могут угрожать посетителям или владельцу. По данным Sucuri, в 2023 году 73% взломанных сайтов содержали бэкдоры, а средний срок обнаружения заражения составил 197 дней.
Признаки заражённого сайта
Первый тревожный сигнал — внезапное падение посещаемости или предупреждение «Этот сайт может нанести вред вашему компьютеру» в результатах Google. Такие метки появляются, когда поисковики обнаруживают угрозу и блокируют показ сайта миллионам пользователей.
Другие очевидные симптомы:
- Редиректы на сторонние ресурсы — посетителей автоматически перебрасывает на спам-сайты или рекламу
- Всплывающая агрессивная реклама, которой раньше не было, особенно с предложениями «обновить браузер»
- Замедление работы сайта при неизменной нагрузке — вредоносные скрипты потребляют ресурсы сервера
- Неизвестные файлы на хостинге с именами типа x.php, config.bak.php или случайным набором символов
- Жалобы пользователей на срабатывание антивируса при посещении вашего сайта
Проверяйте также исходный код страниц: заражённые сайты часто содержат зашифрованные блоки JavaScript (eval, base64) или скрытые iframe. Если в конце шаблона или в файлах ядра WordPress появился непонятный код — это почти всегда признак взлома.
Топ-5 онлайн-сканеров безопасности
Онлайн-сканеры проверяют сайт без установки софта — достаточно ввести URL. Эти сервисы анализируют код, сверяют ресурс с базами угроз и проверяют репутацию в поисковиках.
| Сервис | Что проверяет | Ограничения |
|---|---|---|
| Sucuri SiteCheck | Вредоносный код, статус в Google/Yandex, спам-ссылки, устаревшие CMS | Бесплатно, без регистрации |
| VirusTotal | Сканирование 70+ антивирусами, анализ DNS и WHOIS | Результаты публичны |
| Google Safe Browsing | Фишинг, вредоносное ПО по базе Google | Только статус, без деталей |
| Quttera | Внешние ссылки, подозрительные скрипты, SEO-спам | Детальный отчёт требует регистрации |
| Yandex Webmaster | Заражение, некорректные редиректы (для владельцев) | Нужен доступ к панели вебмастера |
Sucuri SiteCheck — оптимальный выбор для первой проверки. Сканер показывает, видят ли угрозу Google и Yandex, находит известные сигнатуры вирусов и проверяет SSL-сертификат. Интерфейс простой, результат за 30 секунд.
VirusTotal подходит для глубокого анализа: загружайте подозрительные файлы или проверяйте URL через десятки движков одновременно. Минус — все данные становятся публичными, что может быть критично для корпоративных сайтов.
Google Safe Browsing даёт однозначный ответ: блокирует ли Google ваш сайт. Если здесь всё чисто, но Sucuri что-то нашёл — угроза есть, но пока не попала в базу поисковика.
Для WordPress дополнительно используйте плагины Wordfence или MalCare — они сканируют файлы изнутри сервера и видят то, что внешние сервисы пропускают: модифицированные системные файлы, бэкдоры в базе данных, подозрительных пользователей.
Пошаговая инструкция проверки сайта
Полная проверка включает внешнее сканирование онлайн-сервисами и внутреннюю ревизию файлов. Начинайте с быстрых методов, если обнаружите проблему — переходите к детальному анализу.
Шаг 1: Экспресс-проверка через Sucuri
Откройте sitecheck.sucuri.net, введите адрес сайта и запустите сканирование. Сервис проверит:
- Наличие сайта в чёрных списках Google, Norton, McAfee
- Известные сигнатуры вредоносного кода
- Подозрительные iframe и скрытые редиректы
- Версию CMS и устаревшие компоненты
Если статус «Website malware status: CLEAN» и blacklist-проверки зелёные — сайт, скорее всего, чист. Любые красные метки требуют немедленных действий.
Шаг 2: Проверка репутации в Google
Введите в адресной строке: google.com/transparencyreport/safebrowsing/diagnostic?site=вашсайт.ru. Здесь Google показывает историю обнаружения угроз за 90 дней. Если видите «No unsafe content found» — поисковик не считает ресурс опасным.
Шаг 3: Сканирование через VirusTotal
Перейдите на virustotal.com, вставьте URL в поле поиска. Сервис прогонит адрес через 70+ антивирусных баз. Обращайте внимание на раздел Detection: если 5 и более движков пометили сайт — проблема реальна. Один-два ложных срабатывания допустимы.
Шаг 4: Внутренняя проверка файлов (для WordPress)
Установите плагин Wordfence Security и запустите полное сканирование. Плагин сравнивает файлы ядра WordPress, темы и плагины с официальными версиями, находит изменения. Проверяйте:
- Файлы в корне сайта (кроме стандартных wp-config.php, index.php)
- Папки /wp-content/uploads/ — туда не должны попадать .php файлы
- Даты изменения системных файлов — если wp-login.php менялся недавно без вашего участия, это подозрительно
Шаг 5: Проверка базы данных
Через phpMyAdmin откройте таблицу wp_posts и выполните поиск по полям post_content на предмет base64, eval, gzinflate. Эти функции часто используют для маскировки вредоносного кода. Также проверьте таблицу wp_users на наличие неизвестных администраторов.
Что делать при обнаружении угрозы
Если сканер нашёл вирусы, действуйте по чёткому плану: изоляция, очистка, восстановление. Промедление приведёт к блокировке в поисковиках и потере доверия пользователей.
Немедленные действия:
- Смените все пароли — от хостинга, FTP, WordPress, базы данных. Используйте генератор паролей, минимум 16 символов.
- Сделайте резервную копию текущего состояния — даже заражённого. Это поможет понять, что именно было изменено.
- Переведите сайт в режим обслуживания через плагин или .htaccess, чтобы остановить распространение угрозы на посетителей.
Очистка заражённых файлов:
Если используете WordPress, переустановите ядро CMS через админку: Консоль → Обновления → Переустановить. Это заменит системные файлы чистыми версиями. Затем удалите и заново установите все плагины — не обновите, а именно удалите и поставьте заново из официального репозитория.
Для заражённой темы: скачайте свежую версию с сайта разработчика и замените через FTP. Если тема кастомная — сверяйте код вручную с резервной копией, сделанной до взлома.
Удалите все неизвестные файлы из корня сайта и папки uploads. Проверьте файл .htaccess — взломщики часто добавляют туда редиректы. Стандартный .htaccess для WordPress содержит только правила ЧПУ, всё остальное — подозрительно.
Очистка базы данных:
Найдите и удалите вредоносные записи через SQL-запросы. Например, поиск base64 в постах:
SELECT * FROM wp_posts WHERE post_content LIKE '%base64%';
Проверьте таблицу wp_options на поле siteurl и home — они должны совпадать с реальным адресом сайта. Удалите лишних пользователей с правами администратора.
Снятие блокировки в Google:
После очистки запросите повторную проверку через Google Search Console в разделе «Безопасность и ручные санкции». Google проведёт новое сканирование за 2-3 дня и снимет метку «Опасный сайт», если угрозы устранены.
Профилактика взломов и заражений
Большинство взломов происходит через устаревшее ПО и слабые пароли. По статистике Wordfence, 61% успешных атак на WordPress использовали уязвимости плагинов, которые разработчики уже закрыли обновлениями.
Базовая защита:
- Обновляйте CMS, плагины и темы в день выхода патчей безопасности. Включите автообновления для минорных версий.
- Используйте сложные уникальные пароли для каждого аккаунта. Менеджер паролей (Bitwarden, 1Password) упростит задачу.
- Ограничьте количество плагинов — каждый дополнительный модуль это потенциальная дыра. Удаляйте неиспользуемые.
- Настройте двухфакторную аутентификацию для входа в WordPress через плагины типа WP 2FA.
Продвинутые меры:
- Установите файрвол уровня приложения (WAF) — Cloudflare или Sucuri Firewall блокируют атаки до того, как они достигнут сервера.
- Настройте ежедневные автоматические бэкапы с хранением копий вне основного сервера. Плагины UpdraftPlus или BackupBuddy справятся.
- Измените стандартный префикс таблиц БД с wp_ на случайный — усложните задачу SQL-инъекциям.
- Запретите выполнение PHP в папке /wp-content/uploads/ через .htaccess:
<FilesMatch "\.php$">
Order Allow,Deny
Deny from all
</FilesMatch>
Регулярно проверяйте сайт онлайн-сканерами даже при отсутствии симптомов — хотя бы раз в месяц. Настройте уведомления об изменении критичных файлов через плагин WP Security Audit Log. Так вы узнаете о взломе в течение часов, а не месяцев.
Частые вопросы
Рекомендуется еженедельная автоматическая проверка через плагины безопасности и ежемесячное сканирование онлайн-сервисами. После установки нового плагина или темы проводите внеплановую проверку. Коммерческие сайты с высокой посещаемостью лучше сканировать ежедневно.
Нет, посетители не могут заразить сайт просто переходом по ссылке. Заражение происходит через уязвимости в коде CMS, плагинов или при компрометации паролей администратора. Сам сайт может заражать компьютеры посетителей через вредоносные скрипты.
Google использует собственные критерии оценки, более строгие чем у антивирусов. Проверьте Search Console на конкретные причины блокировки, просканируйте сайт Sucuri и VirusTotal. Часто проблема в скрытых iframe или редиректах, которые видны только при определённых условиях. После устранения запросите повторную проверку через Search Console.
Абсолютной защиты не существует, но комплекс мер снижает риски на 95%. Регулярные обновления, сильные пароли, файрвол, ограничение прав доступа и резервные копии делают взлом экономически нецелесообразным для большинства злоумышленников. Критичные проекты требуют профессионального аудита безопасности.
Повторное заражение указывает на оставшийся бэкдор — скрытую лазейку для доступа. Взломщики устанавливают несколько точек входа, и если найти не все, они восстанавливают контроль. После очистки обязательно смените все пароли, проверьте неизвестных пользователей в базе данных и просканируйте все файлы на сервере, включая скрытые.