Андрей Енькин

Full-stack веб-разработчик, менеджер проектов

andrey@enkin.ru

Устранение вредоносного ПО с сайта

Итак, в один не очень прекрасный день вы получаете уведомление типа такого, как на картинке. Или, что хуже, уведомление от подключенных Яндекс.Вебмастера \ Google Search Console. Или - совсем плохо - видите в поисковой выдаче рядом с вашим сайтом пометку "Сайт может содержать вредоносное ПО". Ваш сайт "взломан". Давайте разбираться, что с этим делать.

Кто вас взломал?

Это, выражаясь простым языком, вирусы-роботы. Они сами ищут сайты с известными уязвимостями и производят атаку. Вероятность что вас атаковали конкуренты - практически нулевая.

Зачем роботы взломали ваш сайт, если это не конкуренты?

Чужой сайт можно использовать в своих грязных целях. Как сервер для рассылки спама, как звено в цепочке организации DDoS-атак (вот чем занимаются конкуренты обычно), для не очень честных механизмов продвижения в поисковиках (ссылки и т.п.), в конце концов это веселое хулиганство и демонстрация талантов хакеров для заказчиков настоящих атак.

Чем опасен взлом?

- Во-первых, ваш сайт начинает потреблять в разы больше ресурсов - процессорной мощности, памяти, дискового пространства. Хостинг за такое обычно быстро просит денег или на выход.
- Во-вторых, ваш сайт поражают в правах, в частности, почти всегда ограничивают отправку сообщений на почту. Заявки с сайта в результате вы получить не сможете.
- В-третьих, и это самое печальное - на ваш сайт накладывают ограничения в поисковой выдаче. Почему самое печальное? Потому что первые два ограничения отменить можно довольно быстро, в то время как вернуться в поисковую выдачу Яндекса и Гугла может занять до нескольких недель. Новогодний сезон продаж можно пропустить, если словите вирус где-нибудь в начале ноября.

Как взламывают?

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

Чаще всего страдают самые популярные CMS. Wordpress в особенности, причем как сам по себе, так и через недостаточно проверенные на предмет безопасности плагины.

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

Как выглядит проблема?

Сайт состоит из файлов и базы данных. Вектор атаки на данные в базе данных - тексты и служебную информацию сайта - встречается, но не часто. Поэтому обычно все выглядит так - среди тысяч файлов сайта появляются лишние, вредоносные, и в существующие файлы также дописывается вредоносный программный код. Я специально уточнил про "тысячи файлов", потому что именно их количество делает задачу по лечению трудновыполнимой вручную. А файлов действительно дофига - к примеру, мой маленький блог "Овощебаза" состоит более чем из 5 000 файлов.

Что делать?

Проблема не нова, ею занимаются давно. На рынке имеются решения для "очистки", или "лечения" сайтов. Два самых известных - Virusdie от одноименной компании и Ай-болит от Revisium. Стоимость их услуг по лечению сайтов начинается от 5000 - 6000 руб.
Помогают ли бесплатные решения, которые предлагают компании? Нет. Во-первых, в автоматическом режиме они не гарантируют результат - и действительно, по моему опыту часто пропускают вредоносный код, напрыгивая при этом на вполне легитимный. Во-вторых, запущенные на обычном хостинге, они чаще всего моментально вылетают за скромные лимиты по памяти и не могут завершить процесс сканирования. В-третьих, за ними все равно приходится подчищать руками.

Мое решение проблемы

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

  1. Сайт забирается ко мне на сервер, где ограничениями по процессору и памяти я могу управлять.
  2. Файлы сканируются Ай-болитом, найденное - вычищается. По счастью, опыт и знание распространенных CMS позволяют нехитрыми приемами ускорить процесс очистки в разы, избавившись от рутины.
  3. Теперь идем за пределы типовых алгоритмов. Сканируем все файлы картинок и проверяем, картинки ли они. Дело в том, что типичный способ замаскировать вредоносный код - зашить его в файл с изображением. Их часто пропускает Ай-болит этот ваш, да и люди обычно экономят ресурсы и время, исключая картинки из сканирования. У меня же припасены несколько скриптов, которые рекурсивно обходят все папки сайта, находят все картинки и пробуют получить "картиночную" информацию. Если таковая не возвращается - ахтунг, картинка у нас не очень-то и картинка, значит.
  4. Еще несколько скриптов проверяют код скриптов на нетипичные для CMS функции. Это слегка избыточная проверка, но иногда она дает результаты.
  5. А теперь главное. Если очищенный сайт положить обратно на сервер, с высокой вероятностью он будет заражен снова. Поэтому обязательно выполняется обновление CMS до свежей версии или применение патчей безопасности, чтоб проэксплуатированную в этот раз уязвимость прикрыть.
  6. Далее делаем так называемую "чистую резервную копию". Это на случай если атака повторится и найдется новая уязвимость, не повторять процесс лечения с нуля, а быстро заменить скомпрометированные файлы заведомо чистыми. Тут все индивидуально - ведь у сайтов часть информации не меняется, а часть меняется ежеминутно. Находим правильную комбинацию.
  7. На десерт - укрепление CMS от еще не выявленных векторов атак. По опыту я имею уже несколько решений для типовых движков сайтов - того же Wordpress, например, которые закрывают большую часть возможных уязвимостей. Это ни разу не секретные технологии, о них пишут всюду, но почему-то мало кто применяет, надеясь что все обойдется. Надежды питают не только юношей, но и мой кошелек - когда не сбываются.

Сколько стоит?

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

Нужна помощь в устранении вредоносного ПО с сайта?

Пишите мне в фейсбук, вконтакт, телеграм или на почту.

Отзыв? Вот, например.

Клиентомания, Алена Грачева (управляющий партнер)

 

Хорошая статья? Поделись в соцсетях!