PHP добавляют виртуальный хост динамично

Маркировка звездочки в записи wilcard должна быть крайней левой маркировкой.

Так использование www.*.en.example.com недопустимо, но *.en.example.com прекрасен. Обратите внимание также, что подстановочный знак соответствует одной или нескольким маркировкам.

1
задан 5 February 2012 в 21:29
2 ответа

С точки зрения безопасности трудно себе представить много худших идей. Люди стараются изо всех сил использовать chroot и другие механизмы, чтобы попытаться УДАЛИТЬ привилегии из процесса / эффективного пользователя веб-сервера. Независимо от того, предоставляете ли вы расширенные привилегии веб-пользователю или нет, вы предоставляете веб-процессу возможность определять, какой тип сценария исполняется в каких каталогах, позволяя ему переписать файл конфигурации. Ужасная, ужасная идея.

Я бы предложил создать набор очень ограниченных действий, которые мог бы выполнять веб-сервер, например, записать имя и домашние каталоги необходимых виртуальных хостов в текстовый файл в корневом веб-каталоге. Другой процесс с необходимыми разрешениями может затем проверить синтаксис и внести в него необходимые изменения. Или отправьте команды напрямую через TCP-соединение на порт на том же компьютере, как описано ниже.

Чтобы ограничить повышение привилегий выполнением только одного этого действия, вы можете написать TCP-сервер, прослушивающий специальный порт, на который веб-служба могла бы отправлять сообщение о перезапуске; Я написал такие специализированные TCP-серверы (всего пара сотен строк на C, большая часть из которых доступна в виде шаблона), чтобы позволить изолированному процессу веб-сервера chroot доступ к какой-либо другой службе, которая обычно была бы недоступна без предоставления ей carte очистить доступ к файловой системе и двоичным файлам.

Или отправьте команды напрямую через TCP-соединение на порт на том же компьютере, как описано ниже.

Чтобы ограничить повышение привилегий выполнением только одного этого действия, вы можете написать TCP-сервер, прослушивающий специальный порт, на который веб-служба могла бы отправлять сообщение о перезапуске; Я написал такие специализированные TCP-серверы (всего пара сотен строк на C, большая часть из которых доступна в виде шаблона), чтобы позволить изолированному процессу веб-сервера chroot доступ к какой-либо другой службе, которая обычно была бы недоступна без предоставления ей carte очистить доступ к файловой системе и двоичным файлам.

Или отправьте команды напрямую через TCP-соединение на порт на том же компьютере, как описано ниже.

Чтобы ограничить повышение привилегий выполнением только одного этого действия, вы можете написать TCP-сервер, прослушивающий специальный порт, на который веб-служба могла бы отправлять сообщение о перезапуске; Я написал такие специализированные TCP-серверы (всего пара сотен строк на C, большая часть из которых доступна в виде шаблона), чтобы разрешить изолированному процессу веб-сервера chroot доступ к какой-либо другой службе, которая обычно была бы недоступна без предоставления ей carte очистить доступ к файловой системе и двоичным файлам.

вы можете написать TCP-сервер, прослушивающий специальный порт, на который веб-служба могла бы отправлять сообщение о перезапуске; Я написал такие специализированные TCP-серверы (всего пара сотен строк на C, большая часть из которых доступна в виде шаблона), чтобы позволить изолированному процессу веб-сервера chroot доступ к какой-либо другой службе, которая обычно была бы недоступна без предоставления ей carte очистить доступ к файловой системе и двоичным файлам.

вы можете написать TCP-сервер, прослушивающий специальный порт, на который веб-служба могла бы отправлять сообщение о перезапуске; Я написал такие специализированные TCP-серверы (всего пара сотен строк на C, большая часть из которых доступна в виде шаблона), чтобы позволить изолированному процессу веб-сервера chroot доступ к какой-либо другой службе, которая обычно была бы недоступна без предоставления ей carte очистить доступ к файловой системе и двоичным файлам.

6
ответ дан 3 December 2019 в 16:37

Если вы действительно хотите сделать это с помощью Apache, прочтите о mod_vhost_alias - без изменений в httpd.conf, без перезапусков

1
ответ дан 3 December 2019 в 16:37

Теги

Похожие вопросы