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