Ситуация такая:
Сайт, находящийся на шаре-хостинге был взломан. (реально были несколько дыр в форуме и т.п.)
Дыры я позакрывал, но на сайт по прежнему ежедневно заходит взломщик и вставляет в разные php-файлы свой кусок JS-кода.
Происходит это так. На сайте появляется маленький файл с одной лишь строчкой кода - формой загрузки файла и обработкой этой загрузки. Затем, через эту форму заливается шелл. И через него уже взломщик делает свои дела, после чего все свои файлы (шелл и первоначальный загрузчик) удаляет.
Самое главное, что в логах апача присутствует вся информация, начиная с того, как он загружал шелл и далее... А вот то, как он ежедневно загружает свой маленький загрузчик, информации нет :(
P.S. в ftp-логах тоже нет ничего...Помогите, пожалуйста. Дайте совет, как залогировать тот момент, откуда появляется этот файл? Голову себе уже сломал :(
>Дыры я позакрывал, но на сайт по прежнему ежедневно заходит взломщик и вставляет в разные php-файлы свой кусок JS-кодаЭто называется позакрывал? Если не работает простейшая логика, то страшно представить как вы там программите.
На вашем сайте какая-либо возможность upload есть? Ну вот отключите ее и посмотрите на результат. Также стоит попробовать запретить запись веб-серверу в директории сайта, например при помощи рекурсивных chown/chmod.
Наиболее частая ошибка пыхобыдлокодеров возможность upload при котором пользователь сам задает имя файла.
>Это называется позакрывал?Хорошо, перефразирую. Те дыры, через которые неделю назад ко мне вломились на сайт, я нашел в логах апача и закрыл.
>Если не работает простейшая логика, то страшно представить как вы там программите.
Вы эмоции свои поберегите для других случаев :) Если страшно что-то представить, - перестаньте фантазировать о том, чего вы не знаете и лучше делом каким-нибудь полезным займитесь...
>На вашем сайте какая-либо возможность upload есть?
Есть. Юзеры грузят свои картинки, прайс-листы...
>Ну вот отключите ее и посмотрите на результат.
Да, пробовал вообще отключить весь аплоад. Не помогло. Кроме того, вражеский файл появляется в корне сайта, а не в папках, отведенных для пользовательского аплоада. :(
>Также стоит попробовать запретить запись веб-серверу в директории сайта, например при помощи рекурсивных chown/chmod.
Да, я эту меру оставляю на последний случай. Дело в том, что я реально заинтригован, как чел пролазит ко мне. А если я закрою директории на запись, я уже никогда об этом не узнаю. :) Я бы хотел залогировать его проникновение, и только потом закрыть!
>Наиболее частая ошибка пыхобыдлокодеров возможность upload при котором пользователь сам задает имя файла.
Я переименовываю клиентские файлы, но не из соображений безопасности, а из соображений удобства использования. А так мне все равно, будет называться файл picture_1234.gif или my_super_logo.gif :)
cron проверьте.
>cron проверьте.Пошел, вообще закомментировал все задания в кронтабе. :) Жду...
>>cron проверьте.
>
>Пошел, вообще закомментировал все задания в кронтабе. :) Жду...мне еще страшно представить как вы настраиваете (читай админите) ....
ЗЫ развелось горе-веб-девелоперов ... как страшно жить ...
>
>мне еще страшно представить как вы настраиваете (читай админите) ....
>
>ЗЫ развелось горе-веб-девелоперов ... как страшно жить ...:) за-то теперь, каждый может самоутвердиться, написав свое мнение в разные форумы! Десятерым написал, что они ничего не понимают, и вроде как, сам почувствовал себя умнее :)
Знакома такая категория людей...
По теме-то есть что сказать? ...так я и думал :)))
Не плохо было бы проверить содержимое скриптов, исполняемых по cron, ведь их можно стартануть и через http, также проверить остальные файлы сайта на предмет изменения.
Ну и ставьте и настраивайте mod_security, есть неплохой ресурс:
http://www.gotroot.com/tiki-index.php?page=mod_security+rules но там нужно смотреть,
кое-что лишнее можно выкинуть.
>Не плохо было бы проверить содержимое скриптов, исполняемых по cron, ведь их
>можно стартануть и через http, также проверить остальные файлы сайта на
>предмет изменения.Кронтабовские скрипты, как раз сейчас просматриваю :)
Но дело в том, что через http они не запускались, т.к. в логах апача не остались (не думаю, что злоумышленник стал бы заморачиваться с чисткой апачевских логов)>Ну и ставьте и настраивайте mod_security, есть неплохой ресурс:
>http://www.gotroot.com/tiki-index.php?page=mod_security+rules но там нужно смотреть,
>кое-что лишнее можно выкинуть.На счет mod_security - я уже посылал просьбу к хостерам. На нее они ответили, что наш тарифный план не подразумевает установку доп. модулей :(
Думаю, вот самому организовать подробное логирование, т.е. все POST-запросы что идут на вход, через htaccess редиректить на скрипт логирующий поле=значение, а потом возвращать пользоватею то, что он запросил... Пока не получатеся сделать прозрачно для пользователя ;)