Práticas recomendadas para servidores Web: estrutura e segurança de diretórios

15

Gostaria de utilizar o servidor Ubuntu como servidor web, mas quero garantir que eu siga as práticas recomendadas para configurar as coisas. Desejo garantir que eu configure o diretório no melhor local e entenda como configurar a segurança apropriada nessa pasta. Gostaria de poder enviar um FTP para o servidor e enviar arquivos para as pastas da web, portanto, gostaria de entender como garantir que meu usuário do PureFTPd possa manipular arquivos / diretórios nas pastas da web.

JPrescottSanders
fonte
Encontrei esta resposta em serverfault.com e achei muito útil. Muitos dos comentários são ótimos petiscos para lidar com esse tópico.
MystaMax 13/10/10

Respostas:

5

O que fiz no meu servidor para que meu usuário pudesse fazer o sftp direto /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 possui a propriedade do grupo em / var / www e em todos os seus diretórios filhos, configure tudo em / var / www recursivamente para permitir acesso de gravação ao seu grupo e defina o bit setgid no diretório / var / www para que todos os arquivos criados posteriormente em / var / www mantenham a mesma propriedade do grupo, em vez de definir o grupo para o grupo principal do criador.

maco
fonte
Esse seria um bom método, mas apenas se você criar um grupo diferente do www-dataqual o grupo em que o servidor Web já é executado. Como resultado, qualquer comprometimento dos scripts do servidor da Web significa que os arquivos abaixo /var/wwwpodem ser alterados. Apenas mude www-datapara algo como web-users(e crie esse grupo primeiro, com sudo addgroup web-users).
Kees Cozinhe
2

Esta é uma pergunta muito geral.

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

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

No que diz respeito ao ftp. Você deseja certificar-se de usar um servidor ftp seguro que não envie seus nomes de usuário e senhas em texto sem formatação pela rede. As páginas de ajuda do Ubuntu têm um tutorial de como configurar um servidor ftp .

txwikinger
fonte
Aprecio as informações, percebo que são gerais, e esperava que houvesse uma visão geral das melhores práticas para configurar as coisas.
JPrescottSanders
0

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

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

Marco Ceppi
fonte