Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: чтение чужих файлов: не стоит патчить
Здравствуйте, Dmitry.
Вы писали 26 ноября 2011 г., 12:19:20:
> Еще размышления на тему стоит ли патчить nginx
> смотрите. человек от которого мы хотим защищаться
> 1. имеет возможность создавать симлинки
> 2. использует nginx далее для выкачки нужных файлов
Brawo.
В общем случае, любой пользователь системы всегда имеет возможность создавать
симлинки,
если у него есть какой-то каталог, доступный на запись.
Даже не имея явного шелла (SSH), симлинки можно создавать, залив специально
обученный скрипт, например, по FTP и вызвав его по HTTP.
> поскольку у него есть [1] ... он УЖЕ имеет доступ ко всем файлам системы.
Умопомрачительная логика. Соглашаясь с ней, мы должны признать, что "всякие"
rwxr-x---, права
доступа, владелец/группа файлов - это "ничто". Но это не так. Права на файлы
есть, и системные
проверки уровня файловой системы работают.
Имея возможность создать симлинк, пользователь _ещё_ не имеет доступа ко всем
файлам системы.
Ваши размышления - неверны.
> то следовательно nginx здесь всего один из
> путей. стоит ли nginx или не стоит.
Nginx - один из немногих путей. В разбираемой ситуации их, собственно, всего
"два":
- Веб-сервер nginx, запущенный от имени пользователя,
имеющего право чтения "всех" файлов, в т.ч. и по симлинку.
- Веб-сервер apache и его модули, в т.ч. mod-php, также запущенный от имени
пользователя,
имеющего право чтения "всех" файлов, в т.ч. и по симлинку.
И вот теперь, когда на сервере есть веб-сервер, имея возможность создать
симлинк, вот тогда
пользователь _уже_ имеет доступ ко всем файлам системы, к которым имеет доступ
веб-сервер.
Данная тема уже обсуждалась, со всеми подробностями, с учетом возможности
обхода защит путем
эксплуатирования Race Conditions, с чтением документации по Apache и уточнением
из неё, что
апачевская директива SymLinksIfOwnerMatch - также не является панацей.
Цитирую http://httpd.apache.org/docs/2.2/mod/core.html#Options :
"This option should not be considered a security restriction, since symlink
testing is subject
to race conditions that make it circumventable."
Других веб-серверов, кроме Apache и Nginx я не эксплуатирую, как в них обстоят
дела с аналогичной
проблемой - не знаю.
--
С уважением,
Pavel mailto:pavel2000@xxxxxx
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|