/var/log/nginx

Peter Vereshagin peter на vereshagin.org
Пт Янв 14 18:03:04 MSK 2011


You can leave your hat on, nginx-ru!
2011/01/10 00:02:27 +0300 nginx-ru-request на nginx.org => To nginx-ru на nginx.org :


> >>>>>>>> А почему параноики ставят минимальные права, с которыми вообще
> >>>>>>>> способна работать программа, на всё, до чего дотянутся - для меня
> >>>>>>>> загадка. Видимо, потому что параноики.

Мне, вообще, данный тред снова напомнил холивор Linus versus openbsd & masturbating monkeys.

http://article.gmane.org/gmane.linux.kernel/70695

> > и еще, как быть с тем, что по умолчанию nginx создает лог-файлы
> > доступные на чтение worker-процессам nginx ? и если на сервере
> > mass virtual hosting и пользователи имеют доступ к своим каталогам
> > по ssh, то они могут создать симлинк на /var/log/nginx/error.log
> > и таким образом получить через http содержимое системного файла
> > error.log и вообще access.log любого из сайтов расположенных
> > на сервере. может быть лучше сделать так, чтобы лог-файлы
> > nginx были доступны worker-процессам nginx только на запись?
> > это ведь никому не будет мешать и не создаст неудобств... ?

на мой взгляд, оба передёрнули, и всё свалилось в кучу.

1. проблема с (пере)записью логов из php: пускайте php-fpm с uid и gid его
форков, не имеющими отношения к nginx. php не сможет переписать лог nginx.
FCGI::Spawn из git это тоже может.
2. проблема чтения логов и прочего посредством php: с тем, что php или не php
может читать данные других пользователей, розданные всем или тому же самому php
--- ничего не сделать. Пускать на каждого юзера свои процессы php да и всё.
Что-то на эту тему было, но, по-моему, это не suhosin. Запрещать php что-то
делать через сейфмоды и опен_бейздиры, запрещение exec()-ов и пр. --- имхо
мёртвому припарка.
3. что воркер может читать и отдавать клиенту логи воркеров --- проблема
небольшая, потому девелоперам nginx пока и не с руки заниматься по
имплементационным соображениям, оно и понятно, ибо не для массового хостинга
ветка 0.х задумывалась, а для внутриконторских девелоперов, к которым, как
минимум  применим уже орг. ресурс. Но даже если этот гондурас кого-то
беспокоит, то и его почесать-таки варианты есть:
  - в обход, тскать. не писать в логи ничего чувствительного к безопасности.
    Никакого HTTP basic auth, postdata, etc.
  - писать в пайп, читать чем-нибудь самописным. Заодно можно статистику на
    лету подбивать, если нагрузка позволяет. В таком случае, правда, про
    fallback-запись в сторонний файл всё равно лучше не забывать.

> А решение есть уже давно:
> http://www.lexa.ru/nginx-ru/msg14919.html
> (Описание: http://www.lexa.ru/nginx-ru/msg14850.html )

а что, запрещение FollowSymLinks не сделано? в любом случае, это не решение.

73! Peter pgp: A0E26627 (4A42 6841 2871 5EA7 52AB  12F8 0CE1 4AAC A0E2 6627)
--
http://vereshagin.org



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