У меня проблемы с конфигурацией Apache: проблема в том, что я хочу ограничить каждого пользователя его собственным docroot (так что chroot () будет тем, что я ищу), но:
/home/vhosts/xxxxx/domains/domain.tld/public_html
(xxxxx - пользователь) и не может решить проблему chroot /home/vhosts
, потому что пользователям все равно будет разрешено видеть друг друга.Итак, я думаю, что собираюсь следовать третьему пункту, но ... как эффективно избежать создания символических ссылок, сохраняя при этом работу mod_rewrite ?!
PHP уже был привязан к php-fpm, поэтому меня беспокоит только сам Apache.
Любому, кто наткнется на этот пост, следует отметить, что Apache описывает SymLinksIfOwnerMatch
как не являющаяся надлежащей мерой безопасности:
Эту опцию не следует рассматривать как ограничение безопасности, поскольку тестирование символических ссылок зависит от условий гонки, которые делают ее обходной ".
(из http://httpd.apache.org/docs/2.2/mod/core.html#options).
Помимо простого запрета символических ссылок и запрета пользователям переопределять этот параметр в файлах .htaccess, чтобы увидеть описание решений для предотвращения атак на символические ссылки, ознакомьтесь с https://documentation.cpanel.net/display/EA/Symlink+Race+Condition+Protection (это касается не только cPanel).
Зачем нужно ограничивать сам apache? Разве не лучше / не достаточно заблокировать время выполнения сценария (php, Perl, ruby, ...) в chroot? Если да, посмотрите на mod_fastcgi и как запустить постоянный интерпретатор для конкретного языка (ов), который вам нужен.