Re: Аналог htaccess

Alexandre Snarskii snar на snar.spb.ru
Пт Сен 23 10:32:20 UTC 2011


On Thu, Sep 22, 2011 at 01:04:50PM +0300, Gena Makhomed wrote:
> On 22.09.2011 12:34, Андрей Василишин wrote:
> 
> >>>Используйте связку nginx+apache. Статику по возможности отдавайте
> >>>нжинксом, все остальное проксируйте на апач. Получите приемлемую
> >>>скорость работы и поддержку htaccess-ов.
> 
> >>а также в качестве бонуса:
> 
> >>возможность любому пользователю хостинга скачать с сервера любой файл,
> >>к которому имеет доступ на чтение nginx (в том числе и файл config.php
> >>с паролями и настройками любого другого пользователя этого же хостинга)
> 
> >Расскажите как, если все кроме картинок будет проксироваться на апач?
> 
> на POSIX-совместимых операционных системах вот таким способом:
> 
> чужой файл, к которому есть доступ только у user1 и nginx:
> 
> /home/user1/example.com/htdocs/config.php
> 
> "взломщик" сервера user2 создает у себя симлинк:
> 
> /home/user2/example.org/htdocs/config.jpg
> 
> который указывает на /home/user1/example.com/htdocs/config.php
> 
> после чего - он у себя на локальной мащине запускает команду
> 
> wget http://example.org/config.jpg
> 
> и получает копию файла config.php чужого сайта example.com
> к которому у него нет прямого доступа через ssh или ftp.
> 
> если операционная система на сервере не является POSIX-совместимой,
> например, у нее нет поддержки симлинков, то этой уязвимости не будет.
> 
> решение проблемы:
> 
> - или отдельный OpenVZ контейнер каждому пользователю хостинга
> - или отдельный nginx каждому пользователю под его учетной записью
> - или написать аналог mod_aclr для второго апача и работать через него

- или написать дополнительную директиву конфигурации, которая позволит 
на уровне location добавлять в open(2) флаг O_NOFOLLOW ? 

PS: у меня shared hosting'а нет, так что с меня только идея ;) 

PPS: а еще в правильных операционных системах ключик nosymfollow
может быть выставлен на уровне mount(8)/fstab(5).  

-- 
In theory, there is no difference between theory and practice. 
But, in practice, there is. 



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