Como é visível o meu / var / www para o mundo exterior?

9

Suponho que esta é mais uma questão de manutenção da casa, mas aqui vai.

Se eu criar um arquivo de backup do meu index.html chamado index.html.bak , é possível que alguém de fora usando http no meu servidor apache2 possa listar o conteúdo do meu diretório /var/www ? Eu atualmente não conheço nenhum método de fazer isso, mas isso pode ser devido à minha falta de experiência nesta área. Devo armazenar arquivos que não precisam estar visíveis em outro lugar?

Atualmente, a única maneira possível de pensar que alguém pode descobrir o arquivo é se havia um link explícito apontando para o arquivo. Qual é a visibilidade do meu diretório da web?

    
por Chad Harrison 24.07.2012 / 23:25

4 respostas

11

Para responder diretamente às suas perguntas - você pode manter esses arquivos em outro lugar ou pode configurar o apache para negar acesso a eles - negar o acesso a * .bak é relativamente simples.

O Apache, a menos que configurado para não fazê-lo (como mencionado por MH acima), gera e exibe uma lista de diretórios para qualquer diretório que não contenha um arquivo de índice - definido pela diretiva DirectoryIndex, mas tipicamente index.html, index .htm, index.php e similares.

Em uma nota mais geral:

Você pode considerar o uso de um sistema de controle de revisão como SVN ou git (ou mesmo RCS) para manter versões antigas e um histórico de alterações de suas páginas da Web (incluindo a capacidade de ver o que mudou e quando e, mais importante, a capacidade de reverter para uma versão anterior)

Tanto o git quanto o svn precisam de um repositório configurado em algum outro lugar. O RCS é bastante primitivo e básico, mas não requer nenhuma configuração, ele mantém o histórico de revisão no mesmo diretório ou em um subdiretório ./RCS, se existir. Um pequeno incômodo com o RCS é que quando você faz check-in de um arquivo, ele altera as permissões para somente leitura, então você precisa fazer check-out novamente antes de poder editá-lo novamente (ou use ci -l para fazer check-in de um arquivo e imediatamente confira).

IMO git é provavelmente um exagero para este trabalho, o SVN está próximo do ideal em termos de complexidade vs capacidade de gerenciar o histórico de revisão de um conjunto de páginas HTML editadas manualmente, e o RCS é arcaico, mas ainda é útil. Com o RCS, você só pode editar arquivos diretamente em / var / www, o que significa que as alterações são "ativas" assim que você salva o arquivo. Com svn ou git você pode verificar uma cópia local em, por exemplo, seu diretório pessoal em sua máquina desktop, editar os arquivos, fazer o check-in das mudanças e então fazer o checkout das atualizações em / var / www no servidor quando acabado. Você também pode fazer o check-out das alterações em um servidor de temporariedade primeiro para teste, antes de verificá-las no servidor de produção.

Você pode, então, negar acesso aos subdiretórios .svn /, .git /, RCS / etc com o apache - por exemplo, consulte link

É claro que usar o controle de revisão com eficiência exigirá um pouco de disciplina. você terá que adquirir o hábito de verificar suas alterações sempre que as fizer - vale a pena o esforço.

    
por 25.07.2012 / 01:14
15

Se você especificar Options -Indexes para o Directory em questão, o Apache não gerará uma listagem de diretórios. No entanto, se alguém adivinhar o nome do arquivo, ele ainda poderá acessá-lo se o sistema operacional permitir que o servidor da Web acesse o arquivo.

    
por 24.07.2012 / 23:28
2

Se você tiver a listagem de diretórios ativada, esse arquivo certamente estará visível. Mesmo que a listagem de diretórios não esteja ativada, não é recomendável salvar um arquivo que você não deseja que alguém veja em / var / www, pois ele é feito para documentos públicos.

    
por 25.07.2012 / 02:30
0

Não vejo sentido em manter o arquivo de backup em /var/www .

Backups são feitos para consertar rapidamente as coisas quando você estraga tudo. Eu sugiro que você faça um novo diretório de backup, em alguma unidade central ( inacessível ao mundo externo ), & armazene seus backups lá.

    
por 25.07.2012 / 07:09