Как удалить вирусы на сайте

Материал из Lblss.ru
Перейти к: навигация, поиск

Содержание

Формы проявления

Как правило, в код страницы добавляется фрагмент чистого HTML или JavaScript кода, который при выполнении подгружает деструктивный контент с стороннего сайта. Далее этим кодом используются "дыры" в безопасности веб-браузера и ОС (Windows), заботливо оставленные привилегиями административного аккаунта ;-)

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

Некоторые виды "зверьков" попытаюсь собрать на этой страничке.

Как найти проблемные страницы

Например, через Яндекс. Заходим в панель вебмастера, ищем в левой менюшке Безопасность.

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

Как посмотреть код страницы

Можно открыть страничку в браузере и в меню "Вид" выбрать соответствующий пункт - откроется смотрелка. Или не откроется - в некоторых случаях браузер может просто "повеситься", а в некоторых просмотр кода запретит Safebrowsing. Это не страшно. Всегда можно скачать страничку wget'ом или curl'ом (тут никсы рулят) и посмотреть полученный код в текстовом редакторе.

При скачивании можно указать Referer параметром -e

 $ curl -e http://yandex.ru/ http://my-super-site.ru/

Здесь мы сообщаем, что "пришли" на страничку с Яндекса. Пригодится на тот случай, когда скрипт отдает простому пользователю нормальный контент, а поисковику "левый" (см. выше). Код запрашиваемой странички будет выведен в консоль. Чтобы код сохранить в файл, нужно сделать перенаправление вывода в файл:

 $ curl -e http://yandex.ru/ http://my-super-site.ru/ >problem-page.txt

Пути распространения

Кратко - дыры в Internet Explorer, которыми активно пользуются вирусы-троянчики. Что такое вирусы и трояны, а так же выяснить количество и характер "дыр" в OS Windows рекомендую самостоятельно (прогуляйтесь на microsoft.com, Google, Wikipedia).

Лечение

Процесс одновременно и творческий и рутинный. Творческий - потому что имеется много различных видов "левого" кода. Рутинный - потому что придётся просмотреть множество директорий.

Следует заметить, что не имеет смысла делать только половину работы. Допустим, почистили код на сервере, но оставили старый пароль для ftp-доступа - будьте уверены, что бот скоро наведается снова. Или, пароль сменили, но не удалили троянов/вирусню на своем компьютере, не установили заплатки/антивирь - не вопрос, через некоторое время новый пароль будет скомпрометирован.

Скомпрометирован пароль FTP

Это наиболее частая причина.

Во первых, необходимо сменить пароль FTP-доступа. Если имеется несколько ftp-аккаунтов, которые могут иметь доступ к скриптам, то пароли требуется поменять у всех, если только по логам не разберете, каким именно аккаунтом воспользовались. Впрочем, периодическая плановая смена паролей никогда не была плохой идеей. Новые пароли рекомендуется записать в текстовый файл и ни в коем случае не сохранять в проводнике Windows.

Восстановление сайта

Если есть актуальная и не поврежденная резервная копия сайта... хм, их кто то делает? ;-) Если есть резервная копия - просто заливаем её на сервер.

Если копии нет - придётся лечить ручками. Заходим с чистого (без вирусов, с полным комплектом "заплаток") компьютера на сервер по ftp. Смотрим индексный файл (index.php, index.html) на предмет наличия постороннего кода. Если в файле обнаружен посторонний код, смотрим дату изменения (предполагаем, что последнюю "правку" файла выполнил бот) и ищем файлы (во всех директориях) с этой же датой. Удаляем везде лишний код, смотрим в браузере. Так проходим абсолютно все директории, осматривая подозрительные файлы. По окончании лечения очищаем кэш браузера и проверяем чистоту отдаваемого кода ещё раз.

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

При наличии shell-доступа к серверу задача существенно упрощается, так как появляется возможность использовать команды grep, find и т.п.

Профилактика

  • Не следует сохранять пароли непосредственно в ftp-клиенте (проводник Windows).
  • Категорически не следует вообще использовать компьютеры под OS Windows, без полного комплекта критических исправлений и антивируса с актуальными базами.
  • И ещё немного заметок о безопасности
Персональные инструменты