Как очистить сайт от вирусов и удалить из блэклиста поисковиков

Nikolay Vengerenko Nikolay Vengerenko
Обновлено:
Время прочтения:  10  мин.
9225
0

Проблема взлома информационных сайтов очень серьёзная. Многие вебмастеры недооценивают её и в итоге теряют трафик и деньги. В статье расскажем, как защититься от взлома и удалить вредоносной код. Поделимся инструментами и дадим полезный чек-лист.

Хакеры рядом

Любую систему управления при желании можно взломать. Даже если это уникальный движок, разработанный с нуля под конкретный проект. Всегда найдётся тот, кто умнее вашего специалиста по безопасности. Задача вебмастера — настроить базовую защиту, постоянно мониторить ситуацию и оперативно решать проблемы. Только так можно сохранить трафик и лояльность целевой аудитории. 

У каждой CMS свои особенности, но способы защиты у всех примерно одинаковые. Большинство информационных сайтов в рунете сделаны на WordPress. По данным Itrack на 2021 год WordPress установлен на 44% доменах в зоне .RU, использующих готовые системы управления. Ближайший конкурент 1С-Битрикс отстаёт более чем на 30%. 

Общий рейтинг CMS

В статье мы подробно остановимся на защите сайта, сделанного на базе WordPress. Некоторые инструменты будут актуальны и для других CMS. 

Кроме первых мест в рейтинге популярных систем управления контентом, Вордпресс стабильно завоёвывает «золото» в антирейтинге движков, которые чаще всего подвергаются взлому. Актуальной статистики пока нет. В 2018 году аналитики Sucuri опубликовали отчёт, который подтверждает статус WordPress как самой часто взламываемой платформы. 90% атак приходились именно на Вордпресс. 

В 2018 году аналитики Sucuri опубликовали отчёт, который подтверждает статус WordPress как самой часто взламываемой платформы

Специалисты по безопасности пишут, что большая часть взломов связаны с уязвимостями в плагинах и темах, а также с неправильной конфигурацией CMS. Многие владельцы сайтов намеренно отключают уведомления об апдейтах. Так они избавляются от навязчивых оповещений и ставят свои проекты под угрозу. 

Новости об уязвимостях в популярных плагинах появляются чуть ли не каждую неделю. 

Новости об уязвимостях в популярных плагинах появляются  каждую неделю

Обязательно подпишитесь на обновления в изданиях, посвящённых веб-безопасности: Xakep, Opennet и тематические группы в социальных сетях. Оперативно обновляйте скомпрометированные плагины или переходите на более защищённые аналоги. 

Не давайте хакерам возможность использовать общеизвестные уязвимости. Они могут нанести непоправимый ущерб репутации. Представьте, что вы сделали новый проект, наполнили его контентом и потратили деньги на разработку нестандартных модулей. А потом его взломали и внедрили рекламный редирект. Поисковые системы добавили сайт в чёрный список и показывают предупреждения в браузерах. В итоге 99% посетителей просто уйдут обратно в поисковую выдачу.

Изобретательности хакеров можно позавидовать. После того, как они получают доступы к административной панели или заливают файлы с вредоносным кодом, может случиться что угодно:

  • в поисковой выдаче появляются страницы на английском/китайском языке;
  • часть пользователей попадёт на мошеннический ресурс;
  • появится навязчивая реклама;
  • сайт перестаёт работать.

Если вебмастер не позаботился о безопасности, он узнает о взломе нескоро. Быстрее всего отреагируют поисковые системы и антивирусные программы. Сайт попадёт в чёрные списки и на восстановление репутацию уйдёт от нескольких дней до нескольких месяцев. 

Бороться с последствиями взлома сложнее, чем сделать базовую защиту. Если проблема уже есть и её надо срочно решать — воспользуйтесь нашими рекомендациями. 

Ищем проблемы

Следить за одним сайтом вручную несложно. Надо периодически заходить в административную панель, на хостинг и просматривать страницы вручную. 

Проверка на вирусы условно делится на две категории. Первая — чекинг контента. К примеру, в форме комментирования есть поле для загрузки файлов. Под видом картинки недоброжелатель загрузил вирус. Надо удалить вредоносный контент и настроить ограничения для загружаемых файлов. Вторая категория — проверка кода. Сюда входит CMS, плагины, темы и сторонние скрипты, которые подключены к шаблону. 

Онлайн-сканеры

Есть много сервисов, которые умеют проверять на вирусы отдельные страницы или весь сайт целиком. Принцип действия у них одинаковый — вводим URL и смотрим результат. В большинстве случаев сканеры показывают источник проблемы или страницы, которые затронули последствия внедрения вредоносного кода.

Плюс сервисов в том, что они эмулируют проверки из-под разных устройств. Скрытая реклама может показываться только на Android или iPhone. Если хакер хочет получать выгоду как можно дольше, он тщательно скрывает взлом. Часто бывает так, что владелец сайта получает предупреждение о взломе от поисковых систем и долго не может найти источник проблемы. 

Лучше использовать несколько онлайн-сканеров одновременно. У них разные алгоритмы и базы для проверки. Так вы получите максимально информативную статистику. 

Онлайн-сканеры:

  1. Sitecheck Sucuri
  2. Virustotal
  3. Scanner.Prisk
Virustotal проверяет сайт на наличие в блэклистах популярных антивирусов и другие проблемы

Virustotal проверяет сайт на наличие в блэклистах популярных антивирусов и другие проблемы. Sitecheck Sucuri использует в работе не только чёрные списки и спам базы. Он выполняет более системную проверку на:

  • вредоносный код;
  • инъекции;
  • внутренние ошибки сервера;
  • актуальность версии CMS.

Базы поисковых систем

Взлом и его последствия особенно разрушительны для крупных информационных сайтов и сервисов с активной аудиторией. Пользователи не любят, когда их личные данные попадают в руки злоумышленников или, при ознакомлении с контентом, сайт предлагает обновить версию браузера.

Поисковые системы быстро реагируют на проблемы безопасности. Они добавляют сайт в чёрный список, в результатах поиска появляется угрожающая отметка, а при попытке открыть страницу в любом браузере показывается предупреждение. Поисковый трафик резко снижается, позиции падают. Владельцу проекта надо срочно найти источник проблемы и разобраться с ним. 

Проверить чёрные списки поисковых систем легко. Если не доверяете сервисам, которые делают это в ходе пакетного анализа, можно получить информацию напрямую из Яндекса и Google.

Для проверки в Яндексе используйте конструкцию yandex.ru/safety/?url=domain.ru, в Google — transparencyreport.google.com/safe-browsing/search?url=domain.ru. Если после обновления данных показывается зелёная галочка, значит всё в порядке. 

Если после обновления данных показывается зелёная галочка, значит всё в порядке

Чёрные списки антивирусов

Антивирусное ПО стоит почти на каждом компьютере. Даже защищённые операционные системы, вроде macOS, не обходятся без защитных компонентов. Если домен попадёт в блэклист антивирусов, пользователи будут видеть предупреждения. Большинство из них закроют вкладку браузера и вряд ли вернутся на сайт. 

У антивирусов много ложных срабатываний, но иногда они видят проблему раньше поисковых систем и встроенных защитников CMS. 

Онлайн-сканеры есть у Касперского и Dr.Web. Avast, Nod32 и другие известные компании распространяют продукты для компьютеров и мобильных устройств. Проверить наличие сайта в чёрных списках антивирусов можно с помощью Virustotal или Sitecheck Sucuri.

Онлайн-сканер у Касперского

Инструменты для CMS

Некоторые хакеры взламывают сайты, чтобы внедрить рекламные ссылки. Они могут как отображаться в футере, так и быть невидимыми для людей. Иногда URL шифруются по стандарту Base64. Найти их можно в ходе ручной проверки, но лучше воспользоваться автоматизированными решениями.

Плагин Theme Authenticity Checker проверяет исходный код тем на скрытые ссылки. Принцип действия максимально простой:

  1. Установите и активируйте плагин в административной панели сайта.
  2. Перейдите в меню «Внешний вид» → «TAC».
  3. Просмотрите сообщения. Если напротив каждой темы появилась зелёная кнопка, значит плагин не нашел внешние ссылки.
Плагин Theme Authenticity Checker проверяет исходный код тем на скрытые ссылки

Health Check & Troubleshooting делает серию тестов и указывает на проблемы. Хакеры часто внедряют вредоносный код в ядро WordPress. Если автоматическое обновление CMS отключено или вебмастер заходит в админку редко, вирус может делать свои чёрные дела очень долго. 

Плагин проверяет целостность файлов системы управления, сравнивает контрольные суммы и показывает изменения. Если недоброжелатели получили доступ к файловой структуре и добавили свой код, вы об этом узнаете. 

Плагин проверяет целостность файлов системы управления, сравнивает контрольные суммы и показывает изменения

Health Check & Troubleshooting также показывает критические проблемы безопасности и даёт рекомендации по улучшению «здоровья» сайта.

 

Удаляем вирусы

Если на горизонте появилась реальная проблема — предупреждение в Яндексе и Гугле, сторонняя реклама или редирект на другой сайт, надо действовать максимально быстро.

Самый простой способ «вылечить» проект — откатить базу данных и файлы на дату, когда заражения ещё не было. Проблема в том, что надо точно определить, когда хакер провел атаку и добавил вредоносный код.

Предположим, что злоумышленник нашел уязвимость на проекте уровня Туристера и смог загрузить «левые» файлы. Онлайн-сканеры проблему не видят, а поисковые системы чётко дают понять, что она существует. В этом случае восстановление из бэкапа не поможет. Сайт посещаемый, каждый день люди публикуют статьи и отзывы. 

Потеря данных за неделю-две негативно повлияет на аудиторию и ранжирование в поисковых системах. Если большое количество страниц резко пропадут из выдачи без редиректов, Яндекс и Google воспримут это, как сигнал о наличии серьёзных проблем на сайте.

Что нужно делать:

  1. Выкачать архив сайта и базу данных на локальный компьютер.
  2. Загрузить несколько бэкапов.
  3. Сравнить текущие версии файлов с документами из резервных копий. Сделать это можно с помощью Total Commander или WinMerge
  4. Собрать данные в отчёт. 
  5. Детально рассмотреть каждый случай. Изменения могут быть связаны с обновлением плагинов, тем или WordPress.
  6. Удалить вредоносный код.
Потеря данных за неделю-две негативно повлияет на аудиторию и ранжирование в поисковых системах

AI-Bolit

Популярный скрипт, который можно установить на виртуальный хостинг, сервер или развернуть на компьютере. К сожалению, недавно разработчики убрали возможность загрузить версию для Windows. На официальном сайте размещены ссылки на продукты под Unix, macOS и для хостинга. Старую версию пока можно скачать из неофициальных источников, например, отсюда

Как работать с AI-Bolit под Windows:

  1. Распакуйте архив со скриптом в любую папку. Для корректной работы в пути к директории не должно быть кириллицы. 
  2. Скопируйте бэкап сайта и базы данных в распакованном виде в папку …\aibolit-for-windows\site.
  3. Откройте файл start для быстрой проверки или start_paranoic для глубокого сканирования. 
  4. Просмотрите отчёт. 
  5. Удалите сторонние файлы и «вылечите» заражённые.
Популярный скрипт, который можно установить на виртуальный хостинг, сервер или развернуть на компьютере

Плюс десктопного сканера в том, что он проверяет файловую структуру целиком. Онлайн-сканеры видят только те страницы и файлы, которые видны в общем доступе. Хакеры специально прячут своих «помощников» поглубже. Минус — старые базы вирусных сигнатур. Скрипт под Windows не обновляется, сканер может пропустить заражённые файлы. 

По аналогии можно использовать антивирус ImunifyAV для панели управления Plesk. Продукт совместим со всеми CMS, которые написаны на PHP. Это WordPress, Joomla, Drupal, Bitrix. Находит бэкдоры, шеллы, трояны, фишинговые страницы и другую гадость. Проверяет наличие домена в блэклистах Яндекса, Google и Роскомнадзора. 

Антивирус ImunifyAV для панели управления ISPmanager или Plesk.

Платная версия ImunifyAV умеет «лечить» заражённые файлы, сканировать файлы по расписанию и уведомлять администратора о проблемах по email. На хостингах в связке с ISPmanager месячная подписка стоит 5 евро. Скидки при оплате на длительный период не предусмотрены.

Облачные антивирусы

Инструменты защиты сайтов нового поколения. Помогают оперативно находить и «лечить» заражённые файлы. Защищают от онлайн-угроз, SQL-инъекций и других типов атак. 

В рунете пользуется спросом облачный антивирус Virusdie. Он отличается простой установкой и поддержкой популярных CMS. Инструмент совместим со всеми «движками», написанными на PHP. Есть решение под ISPmanager. Стоимость дополнения зависит от версии панели управления: для редакции Business — 30 евро в месяц, Lite — 5 евро. 

Особенности:

  • антивирус и файервол;
  • установка в 2 клика;
  • постоянное сканирование файлов;
  • минимальная нагрузка на хостинг;
  • автоматическое «лечение»;
  • временная шкала заражений;
  • отчёты о проверках;
  • установка на виртуальный хостинг или сервер;
  • создание резервных копий «вылеченных» файлов;
  • настройка исключений;
  • гибкие настройки;
  • удобная панель управления;
  • проверка домена на попадание в чёрные списки поисковиков и антивирусов;
  • встроенный менеджер файлов.
Virusdie успешно справляется с защитой проектов и автоматическим «лечением»

Отзывов в интернете мало, но почти все они положительные. Пользователи говорят, что Virusdie успешно справляется с защитой проектов и автоматическим «лечением».

Главный минус — цена. Стоимость подписки на месяц зависит от количества сайтов. Защита одного проекта обойдётся в 15 долларов, пяти — в 49 долларов, двадцати — в 196 долларов. Тарифный план без ограничения по количеству проектов доступен за 600 долларов. 

Не хватает уведомлений в Telegram и нативности. Недавно разработчики перевели платформу на англоязычную версию. Теперь новые клиенты могут взаимодействовать с сервисом только там.

Фрилансеры и компании

Если хакер нашел уязвимость и залил несколько фишинговых страниц, проблему можно решить своими силами. Избавляться от последствий масштабных атак должны специалисты с профильными знаниями и опытом. Фрилансеры и компании просят за услуги в среднем от 3 тыс. рублей.

Если пострадавший проект приносит деньги, лучше обратиться за помощью к профессионалам. Специалисты Revisium «вылечат» сайт за 6 000 рублей. Для клиентов FirstVDS сумма уменьшается до 5 400 рублей. 

Удаляем сайт из чёрных списков

После очистки проекта от вредоносного кода, надо сообщить поисковым системам и антивирусам, что пользователям больше нечего бояться. 

Пошаговая инструкция:

  1. Откройте сайт в Google Chrome, Firefox, Opera и Yandex Browser. При появлении сообщения о потенциальной опасности найдите опцию «Сообщить о ложном срабатывании». Лучше отправить запрос несколько раз с разных компьютеров.
  2. Зайдите в Яндекс Вебмастер и Search Console. Проверьте раздел «Диагностика» и «Меры, принятые вручную». Сообщите поисковым системам, что проблема устранена.
  3. Напишите в службу поддержки вебмастеров Яндекса, если проверка длится слишком долго. 
  4. Если домен попал в блэклист антивирусов, свяжитесь с техподдержкой и переписывайтесь до положительного решения. 
Если домен попал в блэклист антивирусов, свяжитесь с техподдержкой и переписывайтесь до положительного решения
Источник: habr

Удаление сайта из чёрных списков Яндекса и Гугла — долгая процедура. В официальной справке Google указано, что длительность проверки зависит от типа проблемы. Спам проверяют несколько недель, вредоносное ПО пару дней, а фишинг около суток. Если поисковик убедится в «чистоте», предупреждения в браузерах и выдаче пропадёт через 3 дня. 

Защищаемся от взлома

Лучший способ решения любой проблемы — не допустить её появления. Владельцы информационных сайтов на WordPress должны позаботиться о защите проектов до их появления в открытом доступе. 

В идеале, надо установить облачный антивирус Virusdie или настроить продукт от Revisium. Они определённо стоят своих денег. Администратор проекта получит уведомления о проблемах и сможет быстро удалить сайт из чёрных списков поисковых систем или антивирусов. 

Сервис Monitorus, о котором мы писали в этой статье, умеет следить за изменением файловой структуры. «Мониторус» отправит уведомление в Telegram или по SMS, если обнаружит, что файлы были перезаписаны. Инструмент проверяет наличие домена в чёрном списке поисковых систем, антивирусов и Роскомнадзора. Отдельно можно поставить на мониторинг базу данных и оперативно получать оповещения о критических проблемах.

Стоимость подписки зависит от частоты проверки и подключённых опций. 

Мы предложили решения для проектов разного типа. Осталось выбрать любое из них, выделить деньги и настроить инструмент. 

Защита административной панели

Хакеры начинают «простукивать» админку с первых дней жизни сайта. От нескольких попыток подбора пароля в день, до масштабных атак, которые могут вывести из строя проект на дешёвом хостинге. 

Что надо сделать:

  1. Поменяйте стандартные страницы входа wp-login.php и wp-admin на любой сложный URL. Обязательно настройте автоматическую блокировку всех, кто заходит по старым адресам. Это можно сделать с помощью плагина или кода в .htaccess. Убедитесь, что стандартные адреса не ссылаются на новые. 
  2. Если пользователи не публикуют на сайте свой контент, отключите регистрацию новых профилей в настройках.
  3. Если проект с упором на пользовательский контент интегрируйте reCAPTCHA в форму входа и установите плагин для связи с Telegram. После регистрации нового юзера в мессенджер будут приходить уведомления. Проверяйте оповещения, чтобы оперативно заметить подозрительную активность. 
  4. Отключите редактирование плагинов и тем из административной панели. По желанию можно скрыть меню настроек для большей безопасности. 
  5. Установите дополнительную форму входа в админку. Если код не сработает, попросите помощи у вашего хостера. В некоторых панелях управления эта задача решается встроенными инструментами. 
  6. Включите двухфакторную аутентификацию через Google Authenticator или аналог. Для доступа к панели понадобится код из приложения на смартфоне. 
  7. Разрешите вход в админку определённым IP.  

Этого хватит для базовой защиты. В следующем разделе расскажем о продвинутых плагинах, которые блокируют IP адреса с подозрительной активностью, проверяют сетевой трафик и решают другие задачи.  

Установка плагинов

В свободном доступе есть десятки расширений, которые закрывают стандартные «дыры» и улучшают безопасность ресурса. Обязательно настройте одно из таких решений до публикации сайта в общий доступ.

Варианты:

  1. iThemes Security. Плагин умеет блокировать IP адреса, создавать резервные копии базы данных, мониторить изменения файлов. Среди полезных опций есть блокировка при подборе паролей и настройка SSL. В платной версии доступно сканирование на вирусы по расписанию, двухфакторная аутентификация, журнал действий пользователей и авторизация без пароля.
  2. Cerber. Расширение блокирует IP с подозрительной активностью, сохраняет журнал действий, показывает активные сессии, защищает скрипты администратора. Главная фишка — push-уведомления о проблемах на смартфон и компьютер.
  3. Wordfence. В плагине есть встроенный файервол, защита от подбора паролей, блокировка по IP, стране и другим критериям. Wordfence сканирует сайт и даёт рекомендации по улучшению безопасности. 
В плагине есть встроенный файервол, защита от подбора паролей, блокировка по IP, стране и другим критериям

Чек-лист по защите WordPress сайта:

  1. Устанавливайте сложные пароли. CMS по умолчанию генерируют хорошие комбинации.
  2. Не используйте стандартные имена для учётной записи администратора.
  3. Измените префикс базы данных.
  4. Удалите из исходного кода версию WordPress и служебные теги.
  5. Установите Simple History или аналог, если в плагине безопасности нет логирования действий. 
  6. Настройте резервное копирование в облачное хранилище. 
  7. Устанавливайте плагины и темы из официального репозитория WordPress или проверенных источников.
  8. Удалите файлы readme.html и license.txt из корневой папки сайта.
  9. Выставьте правильные права для файлов и директорий. Для всех папок 755, для wp-content — 777, для файлов — 644. Для пакетного изменения атрибутов используйте Filezilla. 
  10. Отключите выполнение PHP в папках wp-includes, wp-content/uploads. 
  11. Настройте ограничения для файлов, которые загружают пользователи. Эта задача решается настройками плагина комментирования, кодом или при помощи разработчика. 
  12. Запретите отображение PHP ошибок.
  13. Закройте доступ к файлу wp-config.php.
  14. Настройте SSL-сертификат.
  15. Заблокируйте отображение вашего контента на других сайтах.

Владельцы информационных сайтов и крупных проектов, должны по максимуму обезопасить ресурс. На устранение последствий взлома уйдёт много времени, сил и денег. Нет гарантий, что после снятия санкций, позиции в поисковых системах вернутся на прежний уровень. 

Зарабатывайте на партнёрках в Telegram. 8 идей каналов, которые работают