Большинство владельцев проектов в интернете очень поздно обнаруживают, что сайт подвергся атаке и был заражён. Только после явных признаков как извещение поисковых систем либо мобильный редирект начинают хвататься за голову и думать, как справиться с вредоносным кодом либо обращаться к специалистам безопасности.
Данный материал предназначен в виде превентивных мер, поэтому если вебсайт уже завирусован, то ни один онлайн сканер не поможет в решении проблемы: в этом случае надо проверять все файлы на сервере ( и все сайты, если они не разделены).
Если же Вы беспокоитесь о защищенности своего проекта, то настоятельно советую периодически проверять, есть ли на блоге подозрительная активность.
На самом деле это под силу прочекать и самому, ниже я перечислю основные пункты, которые используются при подобной ревизии.
- Смотрим в поисковых системах с директивой site: все ссылки на сайте. В этом случае можно обнаружить дорвеи и поисковый спам, а также подмену контента. Если нету лишних ссылок и метаописания отображаются как требуется, то можно переходить к следующему пункту.
- Исследуем, есть ли на сайте мобильный или поисковой редирект. Заходите на сайт с мобильных устройств и наблюдаете, есть ли перенаправление на посторонние сайты. Аналогичным образом надо пройтись и перейти с поисковых систем и социальных сетей. Ещё как вариант проверять отображение сайта различными тестами от поисковиков, такие как Google Pagespeed Insights, валидатор микроразметки, проверка мобильности (mobile-friendly), тест ответа сервера и тому подобное. Единственная проблема при обнаружении редиректа заключается в том, что переадресация может срабатывать при определенных условиях, к примеру, каждый пятый раз. Поэтому при внешней проверке нельзя точно утверждать, есть ли на сайте редирект или нет.
- Открываем код страницы и ищем посторонние ссылки, ифреймы или скрипты. При использовании бесплатных ворованных шаблонов и расширений (так называемый варез в простонародье) нередко можно найти различные ссылки, бекдоры и вредоносный код
- Кроме этого стоит обратить внимание на нагрузку на сервер и время загрузки (отклика) страницы. При заражении нагрузка может возрастать в сотни раз, в любом случае возросшая нагрузка сигнализирует о подозрительной активности, и если ботам не удастся взломать сайт, то они могут просто положить сервер и сделать недоступным магазин для посетителей. Если же страница висит белым экраном секунд по 15, 20, а то и 30 - это явный признак, что на сайте орудует вирус. Прописанный скрипт пытается подключиться к несуществующему хосту (скорее всего просто уже заблокированному), и таким образом не дает выполнять код дальше. Когда nginx ответит ошибкой на посторонний домен, тогда исполнение кода продолжится и сайт начнёт прогружаться. Поэтому следует мониторить работу сервера и периодически просматривать логи.
Сервисы проверки сайтов на вирусы бесплатно
На счастье, существуют бесплатные агрегаторы и антивирусы, которые избавят от рутинной работы и помогут определить, стоит ли бить тревогу и паниковать или сайт не подает признаков взлома. Опытные вебмастеры знают наверняка их наизусть, а вот для новичков в сайтостроении они будут полезны, так как вручную и без опыта сложно всё проверить и понять, где ложное срабатывание, а где надо уделить внимание.
Сервис проверки Virustotal
Проверить сайт сразу через множество антивирусов (порядка 70 штук) можно через универсальный инструмент Virustotal.com. По большинству, он просто проверяет реакцию антивирусов на данный домен, поэтому информация может быть искаженной - некоторые антивирусы зачастую ложно срабатывают и добавляют сайт по ошибке в чёрный список. Как избавиться от блэклиста хорошо расписано в материале "Как вывести сайт из черных списков антивирусных компаний". В данном случае файлы не сканируются, на редиректы не проверяется, версии CMS не определяются - вообщем, сервис хорош только узнать общую информацию о нахождении сайта в фильтрах различных программ и агрегаторов. Поэтому сильно полагаться на результат не стоит, намного действеннее проверять сайт специализированными утилитами.
Бесплатный сканер Sucuri
Sucuri специализируется на безопасности вебсайтов, это зарубежная компания и основным у них направлением является Wordpress (для него кстати есть и плагин уже готовый). Просканировать сайт можно по ссылке sitecheck.sucuri.net и получить много интересных сведений: список проверяемых страниц и файлов, название и версию CMS, если получится определить, информацию о сервере, редиректах, поисковом спаме, черных списках поисковиков, а для вордпресса название установленной темы и найденных плагинов. Список действительно внушительный и позволяет с достаточной точностью утверждать, заражён ресурс или нет. Немаловажным плюсом является тот факт, что можно повторно просканировать и проверить результат выполненной работы, а не ждать следующих суток для снятия ограничения. Единственным минусом можно назвать детектирование ошибок сервера (500 ошибка) как критический фактор.
Диагностика сайта от Revisium
Что-то похожее как у Sucuri реализовано у российских коллег в виде продукта rescan.pro - проверки сайта онлайн на вирусы и взлом. Данный инструмент также хорошо определяет и вставленный скрипты-майнеры, и вирусную рекламу, и скрытый мобильный и поисковый редирект. По функционалу складывается ощущение, что эта проверка может найти больше, чем другие. Но лично мне больше нравится вариант Sucuri нежели от ревизиума. Наверно определенную роль здесь играет ограничение на количество проверок - на данный момент их 3 в сутки с одного айпи-адреса.
Другие сервисы я не рассматриваю, потому что предложенных выше вариантов хватит выше крыши. Кроме того их функционал или достаточно минимален, либо имеет большое число ложных срабатываний. Ну и напоследок, если обнаружили вирус редиректа - почитайте обязательно статью "Как удалить вирус редиректа с сайта".