ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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


 




Copyright © Lexa Software, 1996-2009.