Dmitry S. Rzhavin writes:
> > Когда-то давно я рассказывал bvt суть работы этого патча, могу
> > рассказать еще раз, если интересно.
> >
>
> Ага, интересно :P
Опробавано 2 подхода:
1. патчится apache и php так чтобы при старте http-request'а далалались
seteuid setegid в того юзера от которого надо, при всяких exec'ах
сразу после fork()'а должен происходить setuid setgid. в конце
запроса apache делает seteuid(0);
2. патчится апач так что сразу он делает setuid/setgid в требуемого
юзера, в конце запроса, когда child переходит в рещим accept() -
требуется чтобы accept'елись только соединения на тот ip на
который был предыдущий запрос (здесь полагается что на каждую
виртуалку по отдельному ip-address'у), если долго не приходит
запросов то child'a надо убить, соответственно нужны некоторые
правки в scheduler'е апача.
плюсы и минусы:
1 - не позволяет использовать mod_perl, и дает теритическую возможность
поэксплоитить php или apache до рута, зато прост в реализации
2 - не имеет проблемы с security, но несколько ухудшает
apache-scheduling (перерасход child'ов) и требует правок в ядре
( нестандартный accept() ), пребует отдельный ip на каждую виртуалку
--
TSB Russian Express, Moscow
Vladimir B. Grebenschikov, vova@express.ru
=============================================================================
"inet-admins" Internet access mailing list. Maintained by East Connection ISP.
Mail "unsubscribe inet-admins" to Majordomo@info.east.ru if you want to quit.
Archive is accessible on http://info.east.ru/rus/inetadm.html