Instalação segura do Apache no PHP: Usando o usuário certo: group

0

Eu quero "perfeitamente" proteger a minha instalação do PHP em um servidor linux. No histórico, tive problemas com script-virues / exploids, portanto, ele precisa ser uma solução "segura".

Minha solução atual:

  • Todo espaço da Web tem um próprio usuário, com seus próprios grupos de usuários (por exemplo: user1: user1).
  • O Apache é executado em http: http
  • O PHP está sendo executado via cgi rápido e SuexecUserGroup user1: user1
  • O diretório webspace é de propriedade de user1: http, para inicializar os chmods: define todos para 0 e então chmod u + rwX, g + rX. Isso significa que o Proprietário (usuário1) tem acesso total, o Grupo tem acesso de leitura, outros não têm acesso.

Isso funciona bem e é seguro ... mas não funcionará quando:

  • Criando um arquivo via PHP
  • fazendo upload de um arquivo via FTP.

Do que o arquivo será criado como user1: user1. Isso é (normalmente) correto. Mas do que o apache (http: http) não tem mais acesso.

Um trabalho "poderia" ser: Mantenha todos os arquivos como user1: user1, mas execute o apache como root. Mas isso não é muito seguro ...

Então, qual poderia ser uma boa solução? Claro, eu danço dezenas de blogs, mas cada solução teria outro problema.

    
por Arakis 28.01.2014 / 22:19

1 resposta

0

Uma boa solução pode ser adicionar o usuário do Apache (http) a cada grupo de usuários:

adduser http user1
adduser http user2
adduser http user3
etc...

Você precisará de um pequeno script para fazer isso, mas isso dará ao Apache o acesso necessário na maior parte do tempo.

Alternativa / melhor solução

Veja se o servidor FTP tem uma opção para o grupo padrão para arquivos criados e configure o PHP com SuexecUserGroup user1:http

    
por 28.01.2014 / 22:40