Обнаружение и устранение вирусов на сайте

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

Каковы причины заражения сайтов?

Основная причина заражения сайтов - это желание заработать за чужой счет. Схема обычно выглядит так: пользователь, зашедший на зараженный сайт, принудительно перенаправляется на сторонний ресурс, не имеющий к исходному никакого отношения (например, на платник партнерской программы). Злоумышленник получает деньги за трафик, перенаправляемый со взломанных сайтов.

Некоторые сайты взламываются ради распространения среди пользователей классических вирусов и формирования ботнетов. Как правило, такие сайты блокируются поисковыми системами, и пользователи при обращении к подобным ресурсам видят предупреждение о том, что сайт заражен. Популярные поисковые системы предоставляют сервис почтовых извещений о заражении ваших сайтов: webmaster.yandex.ru, google.com/webmasters.

Что делать при заражении или взломе сайта? Кто виноват?

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

Но всё-таки можно уточнить у своего провайдера, имеет ли проблема массовый характер, или возникла только на вашем сайте. Если сайт размещен на shared-хостинге с общим IP-адресом, можно найти сайты соседей, например с помощью сервиса xseo.in, и проверить, заражены ли они.

Если проблема затронула только ваши сайты, нужно исследовать, при каких обстоятельствах возникла проблема, и начать ее решение самостоятельно. Самые частые способы заражения сайта - похищение пароля FTP-доступа к хостингу с компьютера веб-мастера с помощью кейлоггера, из менеджера паролей или из взломанного почтового ящика, а также использование уязвимостей популярных систем управления сайтом (CMS) и скриптов.

Первым делом стоит обновить антивирус и выполнить полную проверку собственного компьютера на вирусы. Бесплатные программы HiJackThis, Dr.Web CureIt!, AVZ помогут найти даже ту заразу, которая не была обнаружена обычным антивирусом.

После сканирования (и лечения, если требуется) смените пароли доступа к электронной почте, аккаунту на хостинге, и удалите все сохраненные пароли из браузеров и FTP-клиентов.

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

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

Если сайт построен на популярной CMS (особенно DLE, Wordpress и Joomla), то возможно злоумышленник воспользовался ее уязвимостью. Это значит, что нужно обновить CMS и ее модули до последних стабильных версий из официальных источников, отключить неиспользуемые или подозрительные модули, закрыть доступ к административным частям сайта с помощью .htpasswd (или с помощью панели управления хостингом), а также периодически проводить аудит безопасности сайта и менять административные пароли.

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

Также нужно проверить временные директории CMS, и директории, в которые разрешена загрузка файлов (tmp, cache, images, uploads, user_files и так далее) на предмет посторонних файлов, а также попросить хостера проверить общую временную директорию сервера (обычно это /tmp).

Как удалить вредоносные включения?

Для удаления вредоносных включений удобно использовать возможности консоли сервера (доступ по SSH). Большинство хостинг-провайдеров предоставляет данную возможность по умолчанию или же по обоснованному запросу.

Допустим, мы знаем, что заражены все .js файлы, и у нас есть фрагмент вредоносного кода. Значит, нужно найти все .js файлы и вырезать вредоносный код. Сделать это можно с помощью следующей несложной команды, запустить которую нужно из текущей директории сайта:

find ./ -name '*.js' -exec sed -ie 's|вредоносный_код||g' {} \;

Команда выполняет поиск всех js-файлов, и для каждого найденного файла с помощью утилиты sed заменяет вредоносный код на пустое место. Обратите внимание, что при указании вредоносного кода нужно экранировать специальные символы (` ~ ! @ # $ % ^ & * ( ) _ — [ ] { } : ; ' " / \ > <) с помощью обратного слеша: \ , чтобы оболочка воспринимала их именно как символы, а не как инструкции.

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

В заключение, полезные советы:

  • В процессе решения проблемы взлома сайта, если нет возможности заблокировать к нему доступ посетителей, заблокируйте хотя бы запросы POST, чтобы злоумышленники не хотя бы не могли применить стандартные эксплойты.
  • Не используйте устаревшие версии CMS и плагинов к ним. Следите за обновлениями.
  • После определения причины заражения сайта не ограничивайтесь только одним лишь его лечением, так как добавленные злоумышленником точки проникновения могут быть хорошо скрыты. Проверьте всё, что кажется вам подозрительным.
  • Лучшая схема восстановления сайта после взлома - это закрыть к нему доступ посетителей, найти причину взлома, восстановить сайт из резервной копии (этим мы исключаем любые изменения сайта, которые мог произвести злоумышленник), обновить CMS, убедившись, что уязвимый компонент также обновился, после чего снова открыть доступ к сайту.
  • Регулярно проводите аудит безопасности. Даже еженедельная профилактика займет меньше времени, чем решение проблемы после ее возникновения.

Смотрите также

Комментарии

Что за чушь?
Раздел "Каковы причины заражения сайтов?" не описывает причин удачи атаки на сайт.
Следующий раздел явно создан для одного посыла "В 90% случаев хостер к этой проблеме не имеет никакого отношения". А способ "лечения" противоречит даже здравому смыслу.
Короче КГ/АМ

А что конкретно из внимательно прочитанного Вами, перечит здравому смыслу?

Тот же Ai-Bolit вполне справляется со своими функциями и дает много полезных рекомендаций,соблюдая которые,многие даже не были бы взломаны.Одно только "Регулярно обновлять CMS и ее модули" уже значительно понижает шанс взлома,а если это еще и в комплексе с "используйте безопасные права доступа на файлы и каталоги" так вообще замечательно.

> А что конкретно из внимательно прочитанного Вами, перечит здравому смыслу?

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

Более того, кто сказал, что найденный кусок и есть весь вредоносный код?

Любую скомпрометированную систему надо устанавливать заново, а данные брать из бекапа. Это базовое правило безопасности. Плохо, что аффтар его не знает.

> Тот же Ai-Bolit вполне справляется со своими функциями и дает много полезных рекомендаций,соблюдая которые,многие даже не были бы взломаны.

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

>Почему-то аффтар считает, что левые скрипты могут находиться только в файлах вида '*.js',
Это пример,а не четкое руководство,не будет же он перечислять все типы файлов в которые можно что то внедрить.
> надо ещё экранировать и символ '|'. Но это ещё мелочи
Нет,вовсе не обязательно в данном случае,смотрите внимательно саму команду.
> этот код может заменять другой полезный и нужный для функционирования системы код.
Да,может,но переустановка полностью всей CMS,идея не менее маразматичная.Если удален весь вредоносный код,найден вредоносный файл который его туда записывает(хотя это мог и тупо бот пройти) и сайт работает нормально,то зачем же все переустанавливать?
>А в других случаях этот Ai-Bolit абсолютно бесполезен. И код у него • ужасный.
Он все же выполняет свои функции и дает человекопонятный отчет и рекомендации,ни кто же не говорит,что это единственно правильный способ поиска и устранения вредоносного кода.Нужно использовать все методы в совокупности,но при этом конечно же с умом.

> Это пример,а не четкое руководство,не будет же он перечислять все типы файлов в которые можно что то внедрить.
А разве маска "*" уже не работает?
> Нет,вовсе не обязательно в данном случае,смотрите внимательно саму команду.
В языке sed после s следует маркер окончания регэкспа. В примере это символ '|'. Поэтому его надо экранировать.
> Если удален весь вредоносный код,найден вредоносный файл который его туда записывает(хотя это мог и тупо бот пройти)
Начнём с того, что откуда вы знаете, что это весь вредоносный код, а где-то не лежит маленький такой backdoor?
> сайт работает нормально
Откуда известно что сайт работает нормально? Неужели есть полное покрытие сайта тестами? Что-то я сильно сомневаюсь. А то что одна--две страница открылись ещё ни о чём не говорит.> Он все же выполняет свои функции и дает человекопонятный отчет и рекомендации
Это для вас он --- человекопонятный. А для "web-мастеров" --- нет. Кроме того, рекомендации у него часто, мягко скажем, весьма предвзятые (та же не понятная любовь к тындексу) или слышанные, но не понятные аффтором (например, бекап на рабочий комп LOL).
Кроме того, ни это скрипт, ни сам автор не даёт самых простых и надёжных рекомендаций типа
"При работе вы должны использовать только свободное ПО. Свободное, а не бесплатное. И не только на сайте, но и на компе, с которого вы управляете сайтом."

Скажите, а Вы можете "почистить" сайт от гадости, если он написан на ASP?

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

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

К сожалению большая часть web-мастеров не имеет понятия о том,что такое chmod(права доступа) и тем боеле безопасные права доступа,а разработчики CMS в своих инстуркциях пишут "на папку uploads поставьте права доступа 777,на файл config.php права доступа 666" и многие так и делают,а потом чему то удивляются.

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

> Из практики даже устареквшие free CMS при правильных настройкас сервера и прав доступа не являются магнитом для вирусов.

Всё равно обновляться надо, т.к. насколько правильной не была бы настройка сервера или прав доступа, но, используя уязвимости скриптов, можно взломать и такой сайт. Это просто элементы комплексной защиты. Например права доступа легко меняются из php командой chmod.

Я считаю, что хостер - это главная причина заражения вирусами.
У меня сайты уже 3 года на reg.ru. За три года меня заражали раз 5-6. Смена паролей ко всему чему-только можно дает не значительный эффект.
При этом этот хостер предлагает услугу лечения сайта за 18 000 рублей.
И тут встает вопрос, а как так меня заражают регулярно вирусами, и тут же хостер предлагает услугу за 18 000, тут что-то нечисто.
А хостер случайно не в доле с этими хакерами? А может остер и есть этот хакер?

Здравствуйте! У меня тоже сайт на reg.ru. и тоже сейчас пишут , что заражен. Предлагают платную услугу, для меня очень дорого. Подскажите, что вы делали, как от вирусов избавлялись, сами или кто то помог?

Автор того комментария вам вряд ли ответит, прошло 2 года

Очень полезная статья. Долгое время не могла найти ничего нужного, но нашла в Вашей статье. Спасибо за помощь!

У меня вирус на сайте. Нужно почистить. Могли бы посоветовать, куда обратиться?

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

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

Вы совершенно правы!Я лично обращаюсь за помощью к специалистам www.kill-virus.ru
Люди знают свою работу!

Если кому-то нужно почистить сайты, рекомендую просканить все AI-BOLIT'ом https://revisium.com/ai/, а потом отправить отчет сразу в Ревизиум. Они сориентируют https://revisium.com

А у меня на компе сейчас что-то с вирусами этими. Хотя я комп использую только для того, чтоб в лайве ставить.

Филип, это довольно странно. Если вы изо дня в день посещаете одни и те же страницы, как вы говорите, тогда совсем непонятно, откуда мог взяться вирус. Правда, если вы ищите в интернете прогнозы и лазите на ненадежных сайтах, тогда есть большая вероятность, что вместе с каким-то файликом вы на свой компьютер скачали вирус. Лично я тоже за спортом слежу, ставлю только через одну букмекерскую контору и прогнозы читаю только на этом сайте - https://vprognoze.ru/forecast/newbie/fcu...
Я себе на комп вирусы ни разу не цеплял с этих сайтов. Кстати, вам как любителю спорта может очень понравится сайт с прогнозами, ссылку на который я оставил. Там много проф беттеров пишут, можно проследить историю их банка, чтоб понимать, насколько они успешны в этом деле.

Отправить комментарий

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

Подробнее о форматировании

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
5 + 7 14 + 8 плюс 3 5