Práticas recomendadas do servidor da Web: Estrutura de diretórios e segurança

15

Eu gostaria de utilizar o servidor Ubuntu como servidor da Web, mas quero ter certeza de seguir as práticas recomendadas para configurar as coisas. Quero garantir que eu configure o diretório no melhor local e entenda como configurar a segurança apropriada nessa pasta. Eu gostaria de ser capaz de FTP para o servidor e enviar arquivos para as pastas da web, então eu gostaria de entender como garantir que o meu usuário PureFTPd pode manipular arquivos / diretórios dentro das pastas da web.

    
por JPrescottSanders 20.08.2010 / 15:39

3 respostas

5

O que eu fiz no meu servidor para que meu usuário pudesse inserir as coisas diretamente em /var/www é:

sudo chgrp -R www-data /var/www
sudo usermod -aG www-data $(whoami)
sudo chmod -R 775 /var/www/*
sudo chmod 2775 /var/www

Isso colocará seu usuário em um grupo que tenha propriedade de grupo em / var / www e todos os seus diretórios filhos, definirá tudo em / var / www recursivamente para permitir acesso ao seu grupo e definirá o bit setgid em / var / www directory para que todos os arquivos criados posteriormente em / var / www mantenham a mesma propriedade de grupo, em vez de ter o grupo configurado para o grupo primário do criador.

    
por maco 20.08.2010 / 22:07
2

Esta é uma questão muito geral.

Obviamente, você não quer rodar seu servidor web como root. No entanto, a instalação do Ubuntu já faz isso da maneira correta.

Além disso, no site da apache, há algumas dicas sobre como configurar corretamente seu diretório .

Em relação ao ftp. Você quer ter certeza de usar um servidor ftp seguro que não envia seus nomes de usuário e senhas em texto simples pela rede. As páginas de ajuda do Ubuntu têm um tutorial como configurar esse servidor ftp .

    
por txwikinger 20.08.2010 / 15:47
0

Quando eu tenho apenas um servidor Ubuntu, com vários usuários usando o servidor como um servidor web, eu apaguei o diretório /var/www porque para mim - /var/www é onde você coloca arquivos da web globalmente. Eu atualizo o diretório /etc/skel e adiciono uma pasta public e private com um link simbólico www -> public e atualizo todos os DocumentRoots dos meus hosts virtuais para apontar para /home/<user>/public .

Não vejo /var/www como o local para colocar várias pastas e arquivos no nível do usuário. É para isso que o diretório /home/ foi projetado! Mantém os caminhos e as estruturas de diretórios limpas.

    
por Marco Ceppi 21.08.2010 / 09:56