/var/log/nginx
Maxim Dounin
mdounin на mdounin.ru
Чт Дек 16 05:04:50 MSK 2010
Hello!
On Thu, Dec 16, 2010 at 01:28:04AM +0200, Gena Makhomed wrote:
> On 16.12.2010 0:23, Maxim Dounin wrote:
>
> >Просто нужно понять для себя, что "PHP Local File ..." легко
> >превращается в remote code execution. И лечить проблему, а не
> >следствие.
>
> для себя я понимаю. но кроме меня есть еще много людей,
> которым нужен софт, который создан с использованием PHP.
> в том числе и killer app, аналогов которым нет (MediaWiki)
Этот софт или exploitable, или нет. Если exploitable - надо
лечить.
> >Не говоря уже о том, что средств ограничить php в том, до каких
> >файлов он вообще сможет добраться - море, начиная от классического
> >chroot
>
> "chroot is not and never has been a security tool" (ц) Alan Cox
> не говоря уже о том, что например, для 2000 сайтов надо будет 2000
> chroot`ов и как минимум 2000 одновременно запущенных экземпляров PHP.
Так и проблему решаем не имеющую отношения к security. Проблема,
имеющая отношение к security - она имеет чёткое решение, описанное
выше.
> >и заканчивая php'шным же open_basedir.
>
> защита open_basedir имеет смысл только в том случае,
> если PHP не имеет права выполнять внешние программы.
> если имеет, то ограничение open_basedir легко обходится.
Опять же - какую проблему решаем? Заткнуть простую эскалацию "php
local file include ..." в remote code execution? Тогда
open_basdir снимет часть головной боли, не заставляя ставить
ужасные права на всё что попало. Решить вообще все проблемы php?
Тут, естественно, поможет только патч Бармина.
> >>>А почему параноики ставят минимальные права, с которыми вообще
> >>>способна работать программа, на всё, до чего дотянутся - для меня
> >>>загадка. Видимо, потому что параноики.
>
> >>это называется "Principle of least privilege".
>
> >Я знаю, как это называется, спасибо. И очень хорошо знаю, к чему
> >это приводит на практике.
>
> вот я поэтому и задаю вопросы в этом списке рассылки, чтобы понять,
> какие могут быть проблемы, если добавить пользователя nginx в группу
> www-logs и поставить права доступа root:www-logs 0750 /var/log/nginx ?
С точки зрения nginx'а - проблем не будет (ему там вообще
достаточно x). С точки зрения администрирования - проблем почти
не будет, если не забудете включить всех заинтересованных в группу
www-logs.
Но, повторюсь, я не считаю ограничение прав в данном случае
правильным. Проблема не в правах на логи nginx'а, проблема в php
local file include. Подобное ещё может быть как-то уместно на
shared-хостинге, но уж точно не как general practice.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru