Apache ITK против Suexec

В чем преимущество использования модуля ITK вместо Suexec-сервера Apache? Идея такая же, что и для запуска скриптов с привилегиями владельца вместо никого, www или apache!

Лучше ли использовать ITK в пользу suexec? Если да, то почему? Что относительно безопасности и производительности в сравнении?

Ответ 1

MPM-ITK позволяет запускать Apache с учетными записями для каждого пользователя, а не под пользователем/группой Apache. Suexec запускает сценарии как CGI под определенным пользователем/группой, но для статических файлов, обслуживаемых Apache, все еще требуется больше открытых разрешений для доступа.

MPM-ITK позволяет всем модулям Apache (mod_php и т.д.) работать под определенным пользователем: группа со статическими файлами, имеющими те же права, что и скрипты. Основной недостаток - процесс управления Apache должен выполняться как root (с ограниченными правами), поэтому он может переключиться на любого пользователя после анализа запроса. Suexec не имеет этого риска для безопасности, но это всего лишь решение для выполнения script (а не изоляции содержимого сайта).

Вот сообщение в блоге с хорошим резюме относительно MPM-ITK и Suexec и других решений. Автор согласен с последствиями безопасности MPM-ITK с мнением о том, что он взвешивает недостатки конкурирующих решений. Я не согласен с автором в том, что эксплойт Apache с меньшей вероятностью преуспеет только в том случае, когда используется патч MPM-ITK, поэтому я бы рекомендовал оставаться в курсе ваших патчей безопасности (мы должны в любом случае, правильно?), Если вы желая принять угрозу безопасности, чтобы получить выгоду для каждого пользователя.

Таким образом, MPM-ITK против Suexec действительно является решением для каждой ситуации. Единственное решение, выходящее за пределы MPM-ITK, - это экземпляры Apache для каждого пользователя за обратным прокси-сервером, если серверные ресурсы не являются проблемой. Подробнее об этом читайте здесь: http://wiki.apache.org/httpd/ExtendingPrivilegeSeparation