Apache vHost – Otimizado e Seguro

Apache vHost – Otimizado e Seguro

dei uma olhada noTópicos CanônicosServerFault tem e, infelizmente, aquele que eu estava atrás de "Apache vHost" estava na lista de perguntas sem resposta. Achei isso um pouco surpreendente, pois há muitas pessoas fazendo exatamente essa pergunta.

De qualquer forma, minha pergunta não é tanto sobre "como", mas sim quais são as "melhores práticas" para usar em um arquivo de configuração do Virtual Host? Eu tenho o seguinte host virtual:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /home/webmaster/examplesite.com/htdocs
    ErrorLog /home/webmaster/examplesite.com/logfiles/error.log
    CustomLog /home/webmaster/examplesite.com/logfiles/access.log combined
</VirtualHost>

Ele faz o trabalho e faz as coisas funcionarem, mas queria saber se poderia melhorar. Em particular, gostaria de garantir que as seguintes questões sejam tratadas:

  • Quão seguro é meu site?
  • Eu gostaria de ter uma pasta "uploads" onde os usuários pudessem postar imagens. Preciso adicionar algo ao arquivo vHost?
  • A configuração acima otimiza meu site ou posso otimizá-lo ainda mais?
  • Mais alguma coisa que eu possa ter perdido?

Responder1

Quão seguro é meu site?

Armazenar seus arquivos de log para que sejam potencialmente acessíveis publicamente é uma má ideia. A impressão de mensagens de erro deve estar desativada na produção, para que os invasores fiquem cegos (eles não podem usar mensagens de erro contra você[1]). Com acesso aos logs de erros, eles têm maiores chances de tentativa e erro.

Eu gostaria de ter uma pasta "uploads" onde os usuários pudessem postar imagens. Preciso adicionar algo ao arquivo vHost?

Você deseja fazer uploadsforaa raiz do documento, para reduzir a chance de um usuário fazer upload de um script (por exemplo, PHP), navegar até ele e executá-lo. Naturalmente esta não é a única proteção que você deveria ter, mas certamente é um dos componentes.

A configuração acima otimiza meu site ou posso otimizá-lo ainda mais?

Você não pode otimizar muito o seu site com um vhost - essa é a configuração no nível do Apache (fora do escopo desta questão).

Mais alguma coisa que eu possa ter perdido?

É difícil dizer, para ser honesto. Todo mundo tem requisitos diferentes. Por exemplo, se o seu site for example.com- você esperaria www.example.comque funcionasse também? Se sim, você está perdendo um arquivo ServerAlias.

[1] Imagine que eles poderiam gerar um erro de 'SQL inválido'. Eles sabem que encontraram uma entrada que não foi limpa e rapidamente encontraram uma maneira de invadir seu site. A pior parte é: esses tipos de ataques podem ser automatizados.

informação relacionada