Segurança de arquivos de aplicativos da Web e senhas de bancos de dados em um ambiente de hospedagem compartilhada do Linux

0

Eu tenho um aplicativo da web em uma máquina de hospedagem compartilhada linux. Digamos que eu tenha um arquivo .htpasswd , algumas configurações que armazenam uma senha de banco de dados e geralmente não querem que as pessoas percorram meu código-fonte procurando por vulnerabilidades.

O servidor web (apache) precisa de acesso de leitura (e gravação em alguns casos) aos arquivos acima. No entanto, não quero que outras pessoas no mesmo host compartilhado tenham acesso.

Eu nunca entendi como isso deveria funcionar. A questão aqui é semelhante, mas parece apontar mais para parar a web app de hospedar um arquivo de senhas acidentalmente.

AFAIK, tudo com que tenho que trabalhar é com permissões básicas do Linux. Em um servidor, espera-se que eu dê permissões de "outros" para o apache. Em seguida, removendo as permissões do grupo, em que todos os outros usuários estão, nega-lhes o acesso. Isso parece muito rotunda. Em outro servidor, há um grupo nobody definido em public_html com apenas as permissões de grupo definidas.

Uma preocupação é que, se o usuário do apache tiver acesso aos meus arquivos, um script simples poderia ser escrito e executado para obter acesso de outro usuário:

<?php
header("Content-Type: text/plain");
include $_GET['f'];
?>

TLDR: Eu preciso que o apache tenha acesso aos arquivos e senhas de origem, mas não a outros usuários na mesma máquina (exceto admins ofc).

O que é uma configuração comum?

Perguntas relacionadas:

por jozxyqk 05.05.2015 / 16:04

1 resposta

0

Crie um grupo, adicione apache / www-data ao grupo. Então:

chown -R apache: nome do grupo / var / www / mywebapp / & & \ chmod -R 640 / var / www / mywebapp

Isso concederá ao proprietário as permissões read e write (6) e o grupo read (4) para a pasta e todos os subdiretórios e arquivos. O usuário do apache poderá acessar os arquivos, assim como o proprietário, mas outros não poderão. Você deve garantir que eles não podem su para o usuário do apache.

Use blocos de diretório na configuração vhost para restringir o acesso no nível da pasta. link #Veja os arquivos do servidor de proteção link

    
por 08.05.2015 / 07:33