Здравствуйте.Дано:
На сервере крутится несколько разнородных сайтов. Используемое ПО: nginx, Apache, PHP, MySQL. У админа есть рутовый доступ. Вносить изменения в PHP код сайта по условию задачи нельзя.Необходимо как-то мониторить активность запущенных сайтов и отслеживать, кто из них делает что-то конкретное. Допустим, один из сайтов взломали через дырку в его PHP-коде и он начал гадить окружающим. Хотелось бы как-то определить, запуск какого именно PHP-файла на каком сайте привел к взлому и запуску вредоносного кода. Как это можно сделать? Стандартное логирование от веб-серверов не дает необходимой полноты картины. Можно ли как-то заставить PHP логгировать имя и путь к каждому запускаемому на выполнение PHP-файлу? Может быть есть еще какие-нибудь способы и идеи?
Заранее спасибо.
> У админа есть рутовый доступ.Проходя мимо админа надо поговорить с ним ...
>[оверквотинг удален]
> Дано:
> На сервере крутится несколько разнородных сайтов. Используемое ПО: nginx, Apache, PHP,
> MySQL. У админа есть рутовый доступ. Вносить изменения в PHP код
> сайта по условию задачи нельзя.
> Необходимо как-то мониторить активность запущенных сайтов и отслеживать, кто из них делает
> что-то конкретное. Допустим, один из сайтов взломали через дырку в его
> PHP-коде и он начал гадить окружающим. Хотелось бы как-то определить, запуск
> какого именно PHP-файла на каком сайте привел к взлому и запуску
> вредоносного кода. Как это можно сделать? Стандартное логирование от веб-серверов не
> Можно ли как-то заставить PHP логгировать имя и путь к каждому запускаемому на выполнение PHP-файлу?Да. здесь на форуме это уже обсуждали, кстати недавно.. воспользуйтесь поиском.
>Может быть есть еще какие-нибудь способы и идеи?
К взлому привел вероятно запуск файла index.php из корневой директории сайта. Но мне казалось что вас должно беспокоить совсем иное.
Первая мысль которая должна была вас посетить- почему подобную работу, требующую специальных знаний и опыта, поручают человеку в этом вопросе глубоко некомпетентному, не обладающему даже базовыми понятиями о предмете?
> Да. здесь на форуме это уже обсуждали, кстати недавно.. воспользуйтесь поиском.Первое, что я сделал, еще до того, как написал тут - это воспользовался поиском. Но чтобы что-то найти надо знать, что ты ищешь.
> Первая мысль которая должна была вас посетить- почему подобную работу, требующую специальных
> знаний и опыта, поручают человеку в этом вопросе глубоко некомпетентному, не
> обладающему даже базовыми понятиями о предмете?Наверное потому что у этого человека есть специальные знания и опыт в других вопросах.
Вообще, чем пафосно рассуждать о чужой некомпетентности, лучше бы ткнули в тему, где что-то подобное уже обсуждалось.
>> Да. здесь на форуме это уже обсуждали, кстати недавно.. воспользуйтесь поиском.
> Первое, что я сделал, еще до того, как написал тут - это
> воспользовался поиском. Но чтобы что-то найти надо знать, что ты ищешь.То есть вы настолько "не в теме" , что даже сформулировать вопрос не можете. Ок.
>> Первая мысль которая должна была вас посетить- почему подобную работу, требующую специальных
>> знаний и опыта, поручают человеку в этом вопросе глубоко некомпетентному, не
>> обладающему даже базовыми понятиями о предмете?
> Наверное потому что у этого человека есть специальные знания и опыт в
> других вопросах.То есть если человек хорошо готовит борщ- его посылают дирижировать оркестром, а если он имеет специальные знания и опыт в поклейке обоев - его сажают управлять авиалайнером...
На мой взгляд это несколько странная логика, чреватая заворотом мозга и у исполнителя и у начальников...Но дело хозяйское.
Вот то что вы хотите:
https://habrahabr.ru/post/178139/(заметьте - не то что вам НУЖНО а то что ПО ВАШЕМУ мнению вам нужно. и это уверяю вас, две, колоссальные разницы.)
> Стандартное логирование от веб-серверов не дает необходимой полноты картиныПотому что index.php с черте какими параметрами в POST, от которых зависит поток выполнения скрипта.
Вы можете логировать на nginx $request_body, но это вам даст больше проблем, чем ответов на вопросы.
>[оверквотинг удален]
> сайта по условию задачи нельзя.
> Необходимо как-то мониторить активность запущенных сайтов и отслеживать, кто из них делает
> что-то конкретное. Допустим, один из сайтов взломали через дырку в его
> PHP-коде и он начал гадить окружающим. Хотелось бы как-то определить, запуск
> какого именно PHP-файла на каком сайте привел к взлому и запуску
> вредоносного кода. Как это можно сделать? Стандартное логирование от веб-серверов не
> дает необходимой полноты картины. Можно ли как-то заставить PHP логгировать имя
> и путь к каждому запускаемому на выполнение PHP-файлу? Может быть есть
> еще какие-нибудь способы и идеи?
> Заранее спасибо.Для этого существует администрирование сайтов (платная услуга) или самостоятельно мониторить на хост-треккерах работу сайта на данный момент.
> Вносить изменения в PHP код сайта по условию задачи нельзя.
> Хотелось бы как-то определить, запуск какого именно PHP-файла на каком сайте привел к взлому и запуску вредоносного кода.вносите изменения в код самого интерпретатора
> Может быть есть еще какие-нибудь способы и идеи?
обратитесь к специалистам