/var/log/nginx

Gena Makhomed gmm на csdoc.com
Ср Дек 15 21:59:42 MSK 2010


On 14.12.2010 23:45, Igor Sysoev wrote:

> On Tue, Dec 14, 2010 at 09:59:10PM +0200, Gena Makhomed wrote:

>> On 14.12.2010 20:51, Maxim Dounin wrote:
...
>>> Права на каталог с логами root:wheel 755 - хорошие, годные
...
>> а результате при httpd + php - уязвимости нет,
>> а при nginx + httpd + php - уязвимость есть...

> А как бы со случаем http://site.ru/index.php?file=/etc/passwd ?

если кто-то удаленно сможет прочитать содержимое файла /etc/passwd
- в этом нет большой проблемы, потому что там ничего секретного нет.

гораздо опаснее ситуация, когда "PHP Local File Include Vulnerability" 
почти тривиально превращается в "Remote Code Execution Vulnerability"

$ curl -A "<? exec( 'echo line1  > /tmp/1.c' ); ?>" http://site.ru/
$ curl -A "<? exec( 'echo line2 >> /tmp/1.c' ); ?>" http://site.ru/
$ curl -A "<? exec( 'echo lineN >> /tmp/1.c' ); ?>" http://site.ru/
$ curl http://site.ru/index.php?file=/var/log/nginx/access.log

только потому что на каталог /var/log/nginx
установлены права доступа root:wheel 0755

наверное лучше всего будет такой вариант:

права доступа nginx:www-logs 0550, лог-файлы master-процесс
без проблем сможет создать, имея права root`а, worker-процессы
с правами nginx, смогут прочитать этот каталог и открыть на запись
уже существующие в нем лог-файлы с правами доступа nginx:root 0644
и кроме того, только те пользователи, которые явно входят в группу
www-logs смогут прочитать содержимое лог-файлов для анализа и т.п.

-- 
Best regards,
  Gena




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