Protegendo Arquivos Sensíveis em Servidores Compartilhados
Em servidores compartilhados, como os oferecidos pela Hostinger, é comum encontrar a pasta
public_html
, que é a raiz pública do site. Qualquer arquivo ou pasta dentro dela
pode ser acessado via navegador, tornando-a inadequada para armazenar informações sensíveis, como
chaves de acesso. Neste artigo, vou explicar como proteger esses dados e garantir a segurança do seu servidor.
1. Armazenando Arquivos Sensíveis no Diretório Privado
Arquivos importantes, como chaves de acesso, devem ser armazenados fora da pasta public_html
,
no diretório raiz do servidor. Por exemplo:
/home/username/
private/ # Pasta para arquivos sensíveis
key.txt # Arquivo com chave de acesso
public_html/ # Pasta pública do site
index.php # Arquivo principal do site
Exemplo de código PHP para acessar arquivos:
<?php
$keyPath = __DIR__ . '/../private/key.txt'; // Caminho relativo
$key = file_get_contents($keyPath);
echo "Chave carregada com sucesso.";
?>
2. Configurando Permissões Seguras
Para proteger os arquivos sensíveis, é essencial configurar as permissões corretamente:
-
Pasta
private
: Use permissão700
(somente o proprietário pode ler, escrever e executar).chmod 700 /home/username/private
-
Arquivo de chave: Use permissão
600
(somente o proprietário pode ler e escrever).chmod 600 /home/username/private/key.txt
3. Configurando Permissões para public_html
A pasta public_html
deve ter permissões configuradas para garantir que o servidor web possa acessá-la e exibir os arquivos publicamente, mas evitando que usuários não autorizados alterem seu conteúdo. As configurações típicas são:
-
Código Octal:
750
ou755
. -
Quando usar
755
: Se o servidor é configurado para que o usuário do servidor web (geralmentewww-data
,apache
, ounginx
) esteja no grupo do proprietário da pasta.chmod 755 public_html
-
Quando usar
750
: Se o servidor web é executado pelo mesmo usuário proprietário da pasta.chmod 750 public_html
-
Proteção adicional:
- Certifique-se de que o proprietário da pasta seja o seu usuário de hospedagem.
- O grupo deve incluir o usuário do servidor web:
chown -R seu_usuario:grupo_do_servidor_web public_html
- Arquivos dentro da
public_html
devem ter permissão644
:chmod 644 public_html/index.php
- Arquivos JavaScript (
.js
) dentro dapublic_html
também devem ter permissão644
:chmod 644 public_html/scripts/app.js
- Pastas dentro da
public_html
devem ter permissão755
:chmod 755 public_html/css
4. Protegendo com .htaccess
Adicionar um arquivo .htaccess
pode fornecer uma camada extra de proteção caso a pasta seja movida acidentalmente.
Order Allow,Deny
Deny from all
Ou, para versões modernas do Apache:
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
5. Permissões do .htaccess
Para o arquivo .htaccess
dentro de public_html
, use permissão 644. Isso garante que o servidor web possa lê-lo, mas evita alterações por usuários não autorizados:
chmod 644 /home/username/public_html/.htaccess
6. Resumo das Boas Práticas
- Armazene arquivos sensíveis fora de
public_html
. - Configure permissões adequadas:
- 700 para pastas privadas.
- 600 para arquivos sensíveis.
- 755 ou 750 para
public_html
. - 644 para arquivos dentro de
public_html
, como.htaccess
, arquivos PHP e JavaScript.
- Use
.htaccess
para evitar acessos indevidos. - Acesse arquivos com caminhos relativos ou absolutos no PHP.
Com essas práticas, você pode proteger seus arquivos sensíveis mesmo em um ambiente compartilhado. Se tiver dúvidas ou quiser compartilhar sua experiência, deixe um comentário abaixo! 😊
Nenhum comentário:
Postar um comentário