A permissão octal do Debian 0777 é segura para uso com um servidor web?

2

parece que a única maneira de fazer com que os aplicativos PHP funcionem é através da permissão de cada arquivo 0777. Isso é seguro para um ambiente de servidor web?

i.e. Alguém poderá editar meus arquivos?

    
por Joey Miller 10.03.2013 / 04:43

3 respostas

0

Ter daemons, por exemplo, um servidor da Web, executado como um usuário não-raiz, oferece uma camada de proteção se esse executável específico for comprometido. (Observe que os servidores "bifurcação", como apache , têm um processo executado como subprocessos root e worker que não. Isso é necessário para que apache possa se vincular a um número de porta privilegiado (< 1024).)

Se o seu servidor da web for apache , por exemplo, e for executado como www-data:www-data , alguém que encontrar e aproveitar uma exploração poderá ter os mesmos privilégios que o usuário www-data ou www-data . Ele também pode acessar somente os arquivos de propriedade de www-data user, de propriedade do grupo www-data , ou do mundo legível / gravável / executável.

Ter scripts PHP modificáveis (por exemplo, permissão de gravação) por www-data significaria que um invasor que acessasse o daemon HTTP poderia substituir esse script por qualquer código que desejasse. Os scripts PHP não devem precisar ser modificáveis por www-data , a menos que sejam gravados incorretamente ou não sejam executados no contexto de um servidor da Web (o que é raro).

Você pode querer certos diretórios modificáveis se o aplicativo salva dados ou usa o sistema de arquivos. Eu costumo ligar simbolicamente a algo fora do sistema de arquivos principal. Mesmo assim, para uma segurança completa, você não quer que www-data:www-data seja capaz de escrever novos arquivos em qualquer coisa que seu daemon HTTP chame de PHP. apache , através do uso de .htaccess files e <Directory> stanzas nos arquivos de configuração pode ser configurado para não executar o PHP em certos diretórios - se você quiser ser realmente abrangente sobre isso.

    
por 10.03.2013 / 05:01
2

Sim. Qualquer um poderá editar seus arquivos. Isso é o que o último "7" significa.

Sem conhecer o seu aplicativo, eu estou supondo que talvez o que você queira é a permissão 775 nos arquivos que devem ser lidos / gravados através do aplicativo, e garantir que o grupo esteja configurado para o usuário do apache. Mesmo assim, esteja ciente de que, se algo estiver comprometido nessa caixa, as pessoas provavelmente ainda poderão ler e gravar esses arquivos - não há uma maneira simples de contornar isso. (Você pode gerenciar o problema de várias maneiras, mas nenhuma é simples).

    
por 10.03.2013 / 04:48
1

Isso foi respondido muito bem em perigosa> .

Você precisa olhar para o suexec. É difícil configurar se você não sabe o que está fazendo, mas isso pode ajudar a isolar as violações, permitindo que o apache acesse os arquivos como usuário.

    
por 10.03.2013 / 04:51