Почему сайты на Друпал заражаются?
- Несвоевременные обновления.
- Не правильные настройки (как минимум следует следовать тому что говорит сам друпал в отчёте о состоянии)
- Использованы костыли. Например свёрстаны темы, в темы "инклудами" вставлены формы обратной связи или прочие интерактивные скрипты без должной защиты.
- Уведены пароли из Тотал Командера (рекомендуем FAR)
Почему следует лечить вирус?
- Это как зомби-апокалипсис. Сначала один сайт, потом другой ,потом все.
- Из-за вирусов ваши сайты понижаются в поисковой выдаче.
- Некоторые ваши посетители не смогут открыть Ваш сайт, так как их антивирус его просто заблокирует.
- Вы можете потерять конфиденциальные данные.
- Сайты с вирусами запрещают к подаче в контекстную рекламу - вы потеряете клиентов. Более того, поисковые системы могут исключить ваш сайт из индексации основываясь на факте заражённости вашего сайта.
Как быстро найти вирус/его последствия и вылечить самостоятельно на Drupal от BlackSeo
Ниже будет пример о том, как лечить ваши сайты находясь на сайте «Доброхост».
- Зайдите в командную строку по ssh
- Попросите Отличный шаред Хостинг для Друпал или своего хостинг-провайдера. если не установлен, установить drush (программа для Drupal, которая позволит делать обновления из консоли). Проверить установлен ли у вас drush можно так: drush -version находясь в командой строке по ssh.
- Уберите сайт на обслуживание средствами Drupal.
- Не торопитесь сразу делать обновления. Попытайтесь сначала убрать максимальнос следы вирусов. для этого используйте в консоли подключившись по ssh команду find
- Зайдите в своей папку domains с помощью команды cd
cd domains/ваш сайт
ваш сайт на Доброхосте находится в папке www
поэтому вы можете смело написать команду
find www -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r | less
с помощью клавиши стрелок вверх/вниз вы сможете прокручивать результат команды findтаким образом, в самом верху вы увидите последние изменённые файлы -крайне вероятно что именно там вы найдете беду. Самое распространение что сейчас можно встретить в Drupal (особенно шестой версии) это вот такой Эксплойт -https://www.drupal.org/node/2327135 который делает много всяких пакостей. В основном это творение хитрым способом продвигает свои проекты. Встраивая в ваш сайт «свой сайт».
Внимание! Перед тем как взяться за команду rm -rf (рекурсивное удаление) проверьте нет ли симлинков. Часто этот вирус содержит симлинк, который по ФТП не удалится, а если вы запустите рекурсивное удаление - можете потерять все свои сайты так как правило симлинк содержит в себе ссылку на корень всех ваших сайтов.
Почередно выполните следующие команды
find ~/. -path \*/sym/\* -print - если первая команда находит, выполняем дальше
find ~/. -path \*/sym/root\* -print
find ~/. -path \*/sym/root\* -print -exec rm {} \;
find ~/. -path \*/sym/\* -print
сам процесс удаления
find ~/. -path \*/sym/.htaccess\* -print -delete
find ~/. -path \*/sym -print -delete
Следующие шаги. Для Drupal 6!
Вам просто необходимо
- Скачать новый друпал, и заменить .htaccsess - в корне на свежий
- Создать новый .htccacsee согласно инструкции https://www.drupal.org/SA-CORE-2013-003 и поместиьт его в корень files, temp (или какие у вас указаны файловые директории) - это позволит вирусы распространяться помедленне
- Зайти в ваш settings.php если речь идет о указанном вирусе с большой вероятностью, у вас там сидит зверье в начале или конце файла вот такого формата
- include('/пусть до сайта/modules/book/part1_book-rtl.css'); - или подобное удалите эту строчку
После этого, вам необходимо зайти на свой сайт зараженный браузером (если ваш антивирус это позволит) и найти какой код встроен в ваш сайт посмотрев «Исходный код» в нашем случае чатсо это было нечто подобное (но варианты разные)
<script type="text/javascript">
document.write('<' + 'di' + 'v sty' + 'le="position: absolute; l' + 'eft: -1901px; t' + 'op' + ': -2803px;">');
</script>
<a href="сайт/index.html">справочник домашних телефонов н новгорода</a>
<a href="сайт/sites/Magnitogorsk/index.html">телефонная база сумы</a>
много другого мусора
Что бы быстрее найти, предлагаем использовать grep вот команда, которую следует выполнить находясь в корне вашего сайта
grep -rl "телефонная" * - эта команда найдет все файлы где есть «телефонная».
Скорее всего это будут все темы вашего сайта. Аккуратно заходите в них удобным редактором и удаляте лишний кусок, которого там быть не должно.
После этого нужно найти файлы: css.php, img.php, js.php
- скорее всего это зло. Смело удаляйте
find domains/ -name 'css.php' - пример поиска этих файлов - найдет все css.php
так же нужно найти папку, в которую записаны «города и прочие справочники» так как каждый раз они разные, ищите по дате и удаляйте лишнее.
Послпе этого, найдите парсер SimplePie -
grep -rl "SimplePie" *
И так же удалите все что нашли. Как правило это так же вирус. Внимание! Удалять нужно не файлы где содержится этот кусок, а только тело вируса. Как правило оно начинается
//Create a new SimplePieCache object^M
…
и заканчивается
echo $prewue."_bad".$t."_bad".$t."_error_hash".$postwue;^M
}^M
другая часть вирусов прячется под видом Акисмета
grep -rl "Plugin Name: Akismet" *
искореняйте зло.
После этого, если ваш Друпал работает с правами 444 - измениите всем settings.php права на 444 или минимально возможные.
Находясь в корне сайта это можно сделать одной командой
find domains/ -name 'settings.php' | xargs chmod 0444
Завершение
Теперь смело обновляйте Drupal до последних версий. Сделать это в консоли очень просто, зайдите в папук sites/all вашего сайта
там пишите
drush pm-update - обновить Друпал
drushh cc all - обновить кеш Друпал
drush core-cron - дернуть cron drupal
после этого
Смените все пароли (на сайт, на хостинг, на ssh, на фтп, на доступ администратора к Drupal)
Вопросы
Важно! Не выполняйте эти инструкции, если в вашем друпал сайте есть костыли (тема ваша уникализирована и установлена в не правильной папке, какие-то самописные модули сделанные не по Drupal way)
Вы можете пойти дальше и установить на свой сайт Ай-Болит или Манул от Яндекса не все, но большую часть беды вы увидите своими глазами автоматически.
Вы можете попросить разработчиков Ай-Болита вылечить ваш сайт за сумму от 2900 рублей.
Важно
Все это только малая часть. Рассмотрено удаление только одного вируса. В других случаях часто бывают другие подходы.
Основано на http://burnis.org/vir