когда мне следует использовать «apache: apache» или «nobody: nobody» в файлах моего веб-сервера? - PullRequest
0 голосов
/ 05 декабря 2009

Справочная информация: Я помню, как на старом месте работы администратор веб-сервера всегда заставлял меня менять доступные для httpd каталоги загрузки файлов, чтобы они принадлежали apache: apache или nobody: nobody.

Он сказал, что это из соображений безопасности.

Вопрос: Можете ли вы сказать мне, как конкретно это повлияло на безопасность? Также есть ли способ заставить Apache работать как никто: никто, и есть ли последствия для безопасности для этого?

1011 * ТИА *

Ответы [ 2 ]

2 голосов
/ 05 декабря 2009

Существует веская причина, предполагая, что httpd (Apache) принадлежал root и также принадлежит root группы, и что в самом коде была обнаружена уязвимость, например, злонамеренный пользователь запросил URL это дольше, чем ожидалось, и ошибка httpd. Теперь этот эксплойт открыл корневой доступ, а это значит, что он контролирует систему, и, следовательно, злоумышленник в конечном итоге захватит контроль и создаст хаос на коробке.

Вот почему владелец демона httpd работает под ником: nobody или apache: apache. Это фактически превентивная мера, гарантирующая, что никакая эксплойт / уязвимость не подвергнет доступ root. Представьте себе последствия для безопасности, если это произойдет.

К счастью, теперь, в зависимости от дистрибутива Linux, вариантов BSD (OpenBSD / FreeBSD / NetBSD) или коммерческих вариантов Unix, демон httpd работает в группе пользователей с наименьшими привилегиями. Более того, можно с уверенностью сказать, что большая часть кода Apache была достаточно хорошо протестирована и стабильна. Около 49% серверов во всех доменах работают под управлением Apache. Microsoft IIS работает на 29% доменов. Об этом сообщает сайт опроса netcraft здесь .

В другом контексте это показывает, что наличие программы, работающей с наименьшими привилегиями, будет считаться «безопасным» и снижает любые возможные шансы на эксплойты и уязвимости.

1 голос
/ 05 декабря 2009

Это неправильный сайт для этого вопроса. Обычно вы бы не хотели бы, чтобы исходный код принадлежал тому же пользователю, что и Apache. При возникновении уязвимости в Apache или ваших серверных сценариях злоумышленник может злонамеренно изменить файлы вашего веб-сайта без повышения привилегий.

Как вы сказали, единственным исключением будут каталоги загрузки файлов. В этом случае вы хотите, чтобы Apache внес изменения в этот каталог.

...