quando devo usar “apache: apache” ou “ninguém: ninguém” em meus arquivos do servidor web?

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

  •  13-09-2019
  •  | 
  •  

Pergunta

Fundo: Lembro-me no meu antigo local de trabalho como o administrador do servidor web que sempre me fazer mudar os diretórios de upload de arquivo httpd-acessíveis para que eles eram de propriedade de apache: apache ou ninguém: ninguém .

Ele disse que isso era por razões de segurança.

Pergunta: Você pode me dizer o que especificamente eram as implicações desta segurança? Também há uma maneira de obter apache para ser executado como ninguém:? Ninguém, e existem implicações de segurança para que assim

TIA

Foi útil?

Solução

Há uma razão válida, supondo que o httpd (Apache) era de propriedade de raiz e pertence à raiz do grupo também, e que havia uma vulnerabilidade que foi encontrada no próprio código, por exemplo, um usuário malicioso solicitou um URL que é maior do que o esperado eo httpd seg-falha. Agora, que exploram tenha acesso root descoberto que meios, tem controle sobre o sistema e, portanto, um usuário malicioso acabaria por assumir o controle e criar estragos na caixa.

Essa é uma razão pela qual a propriedade do httpd daemon é executado sob ninguém: ninguém ou apache: apache. É efetivamente uma medida preventiva para garantir que nenhuma exploração / vulnerabilidade irá expor acesso root. Imagine as implicações de segurança se isso fosse acontecer.

Felizmente, agora, dependendo da distribuição Linux, BSD variantes (OpenBSD / FreeBSD / NetBSD) ou o Unix comercial variantes, as httpd daemon é executado sob um grupo de usuário que tenha o mínimo de privilégios. E, além disso, seria seguro dizer que um monte de código Apache foi bem testado o suficiente eo estável. Cerca de 49% dos servidores em todos os domínios estão rodando Apache. IIS da Microsoft é executado em 29% dos domínios. Isto está de acordo o site de pesquisa Netcraft aqui .

Em outro contexto, isso mostra que ter um programa rodando sob privilégios mínimos seria considerado 'seguro' e atenua eventuais chances de explorações, vulnerabilites.

Outras dicas

Este é o local errado para esta pergunta. Normalmente você não quer o código fonte a ser propriedade do mesmo usuário como Apache. Se uma falha de segurança no Apache ou seus scripts do lado do servidor Levanta-te, um invasor pode maliciosamente modificar os arquivos do seu site sem escalação de privilégios.

A única exceção seria diretórios de upload de arquivos, como você disse. Neste caso, você quer Apache para fazer alterações nesse diretório.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top