А смысл писать в БД, если у того кто залил шелл к этой самой БД есть полный доступ и он там поправит всё что захочет?
смысл в защите твоего сайта. ты же не будешь постоянно сидеть и перекапывать свой сайт, что бы найти изменения. тут написано не то что сделать на чужом, а метод защиты своего
мона написать скрипт котрый будет хранить мд5 важных файлов -напирмер мд5 от индекс.пхп и проверяет раз в сутки напирмер изменилось ли значение. если да то тревога!! можно весь сайт так запомнить (мд5) и проверять.
Все уже написано до нас. Боже упаси от таких скриптов, это комплексная задача целой системы, в ином случаи грозит подмена истенной хеш суммы. Проверку целостности файлов и директорий (приминяется не зависимо от прав доступа) можно добиться при помощи регулярного контроля чек-суммы, что включает в себя модификацию как внутренней структуры, так и изменение определенных полей. Снимать её нужно заранее с чистой системы, а не как, к сожалению, это бывает обычно. Использовать поиск по фиксированному и заранее известному размеру вредоносного ПО. Обращать внимание на наличие и интерпретацию (.htaccess) файлов с именами (используйте для поиска наиболее часто встречающиеся имена файлов) и расширениями, отличающихся от стандартного набора/правил ПО. Анализ файлов журналирования, как через панель управления, так и в ручном режиме на наличие "обращений". Применять методику "по шаблону", поиск известных функций, либо строк, приемлемых при использовании вредоносного ПО. egrep -lr 'eval|system|exec|base64_decode|move_uploaded_file'.
А можно ли изменить как-то мд5 хеш файла на прежний,предварительно изменив содержимое файла ?) Не хочу врать,но где-то писали про бреш в линуксе или фряхе)
Честно говоря,оставлять я их не умею))),но мои шеллы не находят.Пару раз чуть по тупости не оставил шелл в индексируемой директории.Сомневаюсь,что очень многие оставляют бекдоры).Если шелл создадут такой же,как пароль,т.е. простой,то можно перебирать названия скрипта в каждой веб дире.Это при условии,что нет проверок и ограничений,прописанных в .htaccess.Ведь не все же создают шеллы с ахренительными названиями.Кстати,насчёт логов:их можно разбить на части,считывая построчно.Если я в бокноте открою 300 мегабайтный фаил,то,разумеется,у меня уйдут горы лицезрения его содержимого(проц 1.4 гига).При использовании цикла с fgets() или fgetc() на это тратится гораздо меньше времени,да и система не виснет.Затем,получив количество и имена создаваемых файлов,открывать их исчитывать.То,что вы писали про мегабайтные логи,ещё ерунда.Я видел лог 16 гигабайт...хорошо,что не открыл) ЗЫ: Мде...хреного млин(
Вероятней всего речь шла о недочете в самом алгоритме хеширования, либо в конкретном программном обеспечение, но не в целевой программно-аппаратной платформе. По поводу анализа журналов, никто уже давно не занимается парсингом в ручную, за исключением частных случаев, существуют связки ПО которые с этим прекрасно справляются, kiwi syslog, facilities у syslog, syslog-ng, а так же стандартные системы журналирования у демонов. Все это прекрасно справляется с фильтрацией под определенные критерии, не стоит выжимать проблему из пальца.