Как вылечить зараженный сайт на Joomla от вирусов

0
1258

В серии статей Защита Joomla мы уже рассмотрели различные способы и средства защиты Joomla от хакерских атак и вирусов. Но что делать, если ваш сайт уже заражен? Как его вылечить?

В этой статье приведено пошаговое руководство лечения сайта на Joomla от вирусов (приведенные шаги актуальны и для сайтов на других CMS). Выполните все шаги, и ваш сайт будет восстановлен.

Кто и зачем заражает сайты вирусами?

Предположим, что в один «прекрасный» день хостер или Яндекс.Вебмастер сообщили вам, что на вашем сайте обнаружены вредоносные скрипты. Первые мысли, которые приходят в голову после  такой новости: «Да как так? Почему мой сайт? У нас ведь маленькая компания. Кто? Конкуренты? Зачем? Как?».

Давайте, в первую очередь, разберемся в теоретических причинах заражения. Предположим, что у вас действительно не столь посещаемый сайт, чтобы заинтересовать хакеров (его посещают десятки – сотни человек ежедневно). Кто, зачем и как заразил ваш сайт?

Не стоит сразу перебирать врагов и конкурентов. Скорее всего, заражение вашего сайта – это случайность и опосредовано, виноваты в нем ВЫ (или веб-мастер, который отвечает за ваш сайт компании).

Вы спросите: «Каким образом?». Приведу пример из обычной жизни. Скоро зима. Ожидается эпидемия гриппа. Вам уже все уши прожужжали о необходимости прививки, гигиены, избегания многолюдных мест в пик эпидемии. Но вы решили: «Фу, ерунда какая! Уже столько лет живу и не болею без всяких там прививок и советов!» и проигнорировали все предостережения. Пришла зима. Вы заразились гриппом. Кого в этом винить? Человека, который чихнул на вас? Или, может быть, государство, которое насильно не вкололо вам вакцину? Или, все-таки, себя любимого?

С большой долей вероятности точно также получилось и с вашим сайтом.

Спросите себя:

  • Я регулярно обновляю Joomla и все используемые на сайте расширения?
  • Я изменил стандартный адрес админки?
  • На компьютере, с которого я вхожу в админку сайта, есть антивирус?

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

Дальше в дело вступает лотерея. Предположим, в один прекрасный день кто-то обнаружил уязвимость в Joomla. Он отправил информацию о ней разработчикам Joomla. Они исправили уязвимость и выпустили обновленную версию. Через некоторое время о найденной уязвимости становится известно широкой публике, в которой встречаются и не очень хорошие личности. Одна из таких личностей пишет паука – программу, которая сканирует интернет на предмет поиска необновлённых сайтов с этой уязвимостью и, находя их, использует уязвимость для взлома.

Ну, вот скажите мне, кто здесь виноват? Сначала неопытные веб-мастера нагружают сайт на Joomla десятком-другим сторонних расширений, потом передают такой сайт заказчику, берут оплату и удаляются. Заказчик не очень в теме по поводу обновлений и уязвимостей. Он работает с контентом сайта. Так проходит пара лет. Потом сайт находит паук, настроенный на эксплуатацию одной из свежих уязвимостей в одном из расширений Joomla, установленных на сайте. А потом заказчик и веб-мастер, который делал сайт, в два горла кричат, что Joomla – дырявый движок.

Конечно, нельзя исключать и целенаправленной хакерской атаки на ваш сайт, но вероятность такой атаки очень мала по сравнению с тем, что вы поймали паука. Я бы сказал, 1% против 99%. С ростом популярности, посещаемости и показателей вашего сайта вероятность будет смещаться в сторону хакерской атаки, но пока ваш сайт не содержит ничего особо ценного, хакеры не будут тратить на него время, т.к. их время стоит дороже.

В общем, наиболее вероятные первопричины заражения должны быть вам ясны. Можно вырвать у себя на голове пару клоков волос, пару раз удариться головой о стену со словами «#@@*$#!!!» (или ударить головой о стену веб-мастера, который обслуживал сайт =)) и после этого приступать к лечению сайта.

Мой сайт заражен. Что делать?

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

Шаг 1. Резервная копия.

Если ваш сайт заражен, то по уровню халатности вы попадаете в одну из двух категорий:

  1. Я регулярно делаю резервные копии своего сайта / Я настроил регулярное резервное копирование на хостинге.
  2. Резервные копии? Ээээ… Что это?

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

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

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

Давайте разберемся почему.

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

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

Всё это не значит, что нужно опустить руки и пойти делать новый сайт. Всё-таки, шаги, описанные далее, позволяют в высокой долей вероятности вычистить весь вредоносный код, до последней строчки.

Подведем итог шага 1.

  • Если вы делали резервные копии, найдите ту из них, которая еще не заражена и восстановите из нее сайт. Далее переходите к шагу 7.
  • Если вы не делали резервные копии, будьте готовы к тому, что никто не даст вам 100% гарантии на полную отчистку сайта от вирусов. Переходите к шагу 2.

Шаг 2. Создание копии сайта и первичная проверка.

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

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

Стандартный Joomla-сайт состоит из двух частей:

  • Файловая система сайта
  • База данных

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

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

  • Kaspersky Virus Removal Tool
  • Dr.Web CureIt!

Если у вас есть лицензионный обновленный антивирус на компьютере, то можете использовать его.

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

После проверки будет найдено несколько вирусов или не найдено ничего. Найденные зараженные файлы лечим (вручную отчищаем от вредоносного кода) или удаляем. Переходим к шагу 3.

Шаг 3. Проверка специализированными инструментами

На этом этапе разминка закончилась. Впереди рутиный и нудный труд.  Пришло время проверить зараженный сайт специализированным средствами поиска вредоносного кода.  К таковым относятся:

  • AiBolit – бесплатный сканер вирусов и вредоносных скриптов. Он удобен тем, что может быть очень легко запущен под Windows.
  • Manul – антивирусная утилита от Яндекса.

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

Проверка AiBolit.

  1. Скачиваете с официального сайта AiBolit для Windows.
  2. Копируйте файлы зараженного сайта в папку site.
  3. Запускаете файл start.bat.

По результатам будет сгенерирован файл отчета AI-BOLIT-REPORT.html

Проверка Manul.

Manul – это php-скрипт. Чтобы его запустить, нужен локальный web-сервер. Вы можете использовать для этих целей Open Server или Denwer. Далее следуйте инструкциям с официального сайта Manul.

Важно! Ни в коем случае не запускайте на локальном сервере зараженный сайт. Не вылеченные на данном этапе вредоносные скрипты могут размножиться.

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

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

 

Код вредоносного скрипта:

Код Joomla:

Подсказки:

Не бойтесь открывать зараженные php-файлы для просмотра через текстовый редактор. Пока не запущен интерпретатор PHP (локальный сервер, который может выполнить PHP-код), вирусы и вредоносные скрипты не представляют опасности.

Если зараженных файлов найдено слишком много, можно воспользоваться такой хитростью: уточните текущую версию Joomla на вашем сайте, скачайте именно эту версию с официального сайта. Скопируйте файлы скачанной версии в папку с зараженной, переписывая совпадения. Таким образом, вы сможете переписать большую часть зараженных файлов оригинальными. Аналогичным образом можно заменить файлы крупных расширений Joomla. Более подробно это описано в шаге 5.

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

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

Когда все файлы из отчетов проверены/отчищены/удалены, проведите сканирование файловой структуры сайта повторно. Не должно быть найдено ничего.

Похожие записи

07.07.2019
0
5554

5 Калькуляторов Joomla под любые задачи, обзор и настройка

Сегодня при помощи сторонних разработок для joomla можно рассчитать всё, что угодно: стоимость ...
06.07.2019
0
5056

Меню в Joomla — добавление вложенного или выпадающего меню

В шаблоне позиции для меню обычно предусмотрены слева или справа, а так же и в верху (горизонт...
08.07.2019
0
6777

Тестируем Joomla 4: административная панель, разделы, поле работы вебмастера

Концепция оформления административной панели joomla4 разработана веб-студией JoomShaper, специализ...

Комментарии

Ваш комментарий будет отправлен на модерацию.
  • Комментарии не найдены