Welcome! Log In Create A New Profile

Advanced

Re: Аналог htaccess

Gena Makhomed
September 23, 2011 07:20AM
On 23.09.2011 13:32, Alexandre Snarskii wrote:

>> если операционная система на сервере не является POSIX-совместимой,
>> например, у нее нет поддержки симлинков, то этой уязвимости не будет.
>>
>> решение проблемы:
>>
>> - или отдельный OpenVZ контейнер каждому пользователю хостинга
>> - или отдельный nginx каждому пользователю под его учетной записью
>> - или написать аналог mod_aclr для второго апача и работать через него

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

не поможет. O_NOFOLLOW проверяет только последний элемент в пути.

"Symbolic links in earlier components of the pathname will still be
followed."

и такое ограничение, open с флагом O_NOFOLLOW - будет легко обойти.

гарантированно можно решить эту проблему только с помощью функции
openat вместе с O_NOFOLLOW, при этом "вручную" открывая каждый
элемент пути начиная от корня. но это даст значительное уменьшение
производительности и не слишком соответствует цели high performance.

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

мы сейчас говорим про какую-то сферическую операционную систему
с двумя красными рожками? так ведь ключик nosymfollow на самом деле
ломает POSIX-совместимость и делает нерабочими большое количество
технологий, например, атомарное обновление сайта с помощью симлинков.

например:
http://lifeonubuntu.com/setup-wp-wpmu-for-atomic-version-switch-and-revert/
Setup WordPress or WPMU to make an atomic version switch — AND allow you
to revert

тем более, что вместо ключика nosymfollow на уровне
mount(8)/fstab(5) в действительности там нужен ключик
условно говоря, No_FollowSymLinks_And_SymLinksIfOwnerMatch

который будет разрешать симлинки если владелец файла и симлинка
один и тот же, и будет запрещать ресолвить симлинки на чужие файлы.
но при этом - грубо ломется POSIX-совместимость операционной системы.

идеальное решение - флаг к open O_NOFOLLOW_ANY_IF_OWNER_NOT_MATCH,
который будет проверять любой компонент пути (ANY) и не ресолвить,
если владельцы разные - тогда накладные расходы будут минимальны,
не будет ломаться POSIX-совместимость и будет большая гибкость.
но наверное в ядро системы такой флаг не захотят добавлять...

--
Best regards,
Gena

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Аналог htaccess

adiunov September 22, 2011 02:41AM

Re: Аналог htaccess

kav September 22, 2011 02:50AM

Re: Аналог htaccess

adiunov September 22, 2011 03:05AM

Re: Аналог htaccess

Anton Kiryushkin September 22, 2011 03:26AM

Re: Аналог htaccess

kav September 22, 2011 03:28AM

Re: Аналог htaccess

Gena Makhomed September 22, 2011 04:48AM

Re: Аналог htaccess

D StarK September 22, 2011 04:54AM

Re: Аналог htaccess

Alex Vorona September 22, 2011 05:12AM

Re: Аналог htaccess

Andrey N. Belov September 22, 2011 05:44AM

Re: Аналог htaccess

Nick Knutov September 23, 2011 05:20AM

Re: Аналог htaccess

Andrey N. Belov September 23, 2011 05:26AM

Re: Аналог htaccess

Gena Makhomed September 22, 2011 05:28AM

Re: Аналог htaccess

Андрей Василишин September 22, 2011 05:36AM

Re: Аналог htaccess

Gena Makhomed September 22, 2011 06:06AM

Re: Аналог htaccess

Alexandre Snarskii September 23, 2011 06:34AM

Re: Аналог htaccess

Gena Makhomed September 23, 2011 07:20AM

Re: Аналог htaccess

Serge September 22, 2011 05:42AM

Re: Аналог htaccess

Peter Vereshagin September 22, 2011 07:58AM

Re: Аналог htaccess

kav September 22, 2011 08:06AM

Re: Аналог htaccess

Pavel V. September 22, 2011 08:44AM

Re: Аналог htaccess

Peter Vereshagin September 22, 2011 09:22AM

Re: Аналог htaccess

locojohn September 22, 2011 08:05PM

Re: Аналог htaccess

Alexander Bodnarashik September 23, 2011 12:58AM

Re: Аналог htaccess

locojohn September 23, 2011 03:45AM

Re: Аналог htaccess

Alex Vorona September 23, 2011 06:06AM

Re[2]: htaccess

Andrey Repin September 25, 2011 09:06PM

Re: Аналог htaccess

Peter Vereshagin September 22, 2011 09:26AM

Re: Аналог htaccess

Gena Makhomed September 23, 2011 06:54AM

Re: Аналог htaccess

kav September 23, 2011 07:00AM

Re: Аналог htaccess

Илья Шипицин September 23, 2011 02:20AM

Re: Аналог htaccess

Peter Vereshagin October 01, 2011 05:46PM

Re: Аналог htaccess

Gena Makhomed October 02, 2011 08:08AM

Re: Аналог htaccess

miksir October 03, 2011 01:00PM

Re: Аналог htaccess

Andrey N. Belov October 04, 2011 05:34AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 241
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready