/var/log/nginx

Gena Makhomed gmm на csdoc.com
Чт Дек 16 14:11:46 MSK 2010


On 16.12.2010 4:04, Maxim Dounin wrote:

> Этот софт или exploitable, или нет.
> Если exploitable - надо лечить.

любой софт exploitable, см. например, CVE-2009-2629
поэтому хочется иметь более удобные средства чем ifconfig eth0 down
пока все ошибки/exploits в софте не будут найдены и полностью исправлены

>>> Не говоря уже о том, что средств ограничить php в том, до каких
>>> файлов он вообще сможет добраться - море, начиная от классического
>>> chroot  и заканчивая php'шным же open_basedir.

в это море средств, ограничивающих PHP в том, до каких файлов он вообще
может добраться, использование "Traditional Unix permissions" входит?
это ведь проще и удобнее, чем создавать для тех же целей chroot/jail.

>> защита open_basedir имеет смысл только в том случае,
>> если PHP не имеет права выполнять внешние программы.
>> если имеет, то ограничение open_basedir легко обходится.

> Опять же - какую проблему решаем?  Заткнуть простую эскалацию "php
> local file include ..." в remote code execution?  Тогда
> open_basdir снимет часть головной боли, не заставляя ставить
> ужасные права на всё что попало.

некоторый софт на PHP для своей нормальной работы
требует чтобы ограничение open_basdir был выключено в настройках.
кода внутри очень много и там могут быть уязвимости "local file include"

>> какие могут быть проблемы, если добавить пользователя nginx в группу
>> www-logs и поставить права доступа root:www-logs 0750 /var/log/nginx ?

> С точки зрения nginx'а - проблем не будет (ему там вообще
> достаточно x).  С точки зрения администрирования - проблем почти
> не будет, если не забудете включить всех заинтересованных в группу
> www-logs.

Ok, спасибо. не забуду.

> Но, повторюсь, я не считаю ограничение прав в данном случае
> правильным.  Проблема не в правах на логи nginx'а, проблема в php
> local file include.  Подобное ещё может быть как-то уместно на
> shared-хостинге, но уж точно не как general practice.

"Principle of least privilege" - это "important design guideline",
даже если вместо PHP используется Python или Perl - может быть
эскалация прав 0755 до "Information Disclosure Vulnerability".

надежнее и проще будет сразу закрыть всем посторонним доступ
к логам работы nginx, чем надеяться на то, что во всем остальном
софте на сервере нет ошибок и нет уязвимостей "local file include".

-- 
Best regards,
  Gena




Подробная информация о списке рассылки nginx-ru