Devo alterar as permissões dos binários?

2

Estou executando CentOS 6.2 e instalei nginx como root. Após a instalação, mudei o proprietário e o grupo da instalação para o seu próprio usuário e grupo para manter a coisa um pouco mais segura.

Eu fiz login como root e executei yum update , que atualizou nginx e notei que muitos grupos de proprietários de arquivos foram revertidos para o root.

Existe alguma maneira de manter a propriedade que desejo ao realizar atualizações? Talvez faça o login como o usuário nginx e realize a atualização (isso é possível ou recomendado?)

    
por ProfessionalAmateur 20.07.2012 / 21:57

2 respostas

9

O que você está fazendo é ruim. Pare com isso.

Se o aplicativo nginx pertencer ao usuário nginx e estiver executando como o usuário nginx , quando o aplicativo for explorado, poderá gravar seus próprios arquivos. Você não quer isso.

Os binários de aplicativos devem quase sempre pertencer a root . Os serviços devem estar quase sempre em execução como nobody ou outra conta similar não privada.

Da mesma forma, você não deseja que seu conteúdo da Web seja de propriedade do mesmo usuário que está executando o servidor da Web, pois isso permite que um invasor altere seu conteúdo (por exemplo, desfigurar seu site).

Você deseja usar o máximo de separação de privilégios e o menor número de privilégios possível.

  • Aplicativos de propriedade de root (somente root tem permissão para modificá-los)
  • Serviços executados por usuários não privilegiados (para que eles tenham pouco ou nenhum acesso ao sistema)
  • Sempre que possível, o usuário do serviço não deve possuir o conteúdo desse serviço
por 20.07.2012 / 22:42
4

O nginx não precisa ser capaz de gravar em qualquer um dos arquivos que você nomeou; e, de fato, sua capacidade de fazer isso é um risco de segurança. Um invasor que tenha comprometido o nginx poderia então escrever o que quisesse em seu diretório web ou arquivos de configuração. É por isso que eles eram de propriedade da raiz em primeiro lugar.

Parece que você tornou seu servidor menos seguro, não mais seguro.

Com relação ao diretório da web, não há necessidade de mover o diretório padrão. Em vez disso, crie um novo bloco de configuração nginx server e coloque os arquivos do seu site em um local comum, separado dos arquivos padrão, como no diretório base do usuário, ou em um diretório em /srv . Esses arquivos podem, então, pertencer ao usuário / grupo que estará trabalhando neles.

    
por 20.07.2012 / 22:39