когда я должен использовать “apache: apache” или “nobody: никто” в файлах моего веб-сервера?

StackOverflow https://stackoverflow.com/questions/1850297

  •  13-09-2019
  •  | 
  •  

Вопрос

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

Он сказал, что это было сделано по соображениям безопасности.

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

ТИА

Это было полезно?

Решение

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

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

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top