Permissões do Servidor Web Linux - Melhores Práticas

4

Em um servidor privado com um site, há algum motivo para os arquivos / diretórios em / var / www não poderem ser de propriedade do grupo www-data?

Meu entendimento é que os riscos de segurança com www-data com acesso de gravação surgem apenas se você tiver vários sites em execução na mesma caixa.

    
por Trent Scott 25.04.2012 / 16:23

4 respostas

3

O princípio do menor privilégio se aplica. Somente dê aos usuários os direitos de que precisam e não mais.

Nesse caso, se o apache estiver servindo apenas páginas, não dê direitos de edição ao usuário. Possíveis riscos incluem: alterar o conteúdo do arquivo ou fazer o upload de um novo; adicionar código executável a arquivos, etc. Esses riscos existem independentemente de serem múltiplos em um único site. Se o aplicativo tiver a necessidade de editar um arquivo específico, restrinja as permissões alteradas para esse arquivo.

    
por 25.04.2012 / 16:31
4

Eu escrevi um script simples para o meu site WordPress. Esse script fornece ao Apache apenas acesso de gravação ao que ele precisa gravar. Tudo o mais sob o webroot é somente leitura. Acho que esse é um bom passo em direção a um site mais seguro e deve ser praticado.

#!/bin/bash

PATH=/bin:/usr/bin
WEBROOT="/var/www/www.example.com"

UPLOADS="${WEBROOT}/wp-content/uploads"

chown -R nobody:nogroup ${WEBROOT}
find ${WEBROOT} -type d -exec chmod 0555 {} \;
find ${WEBROOT} -type f -exec chmod 0444 {} \;

chown nobody:www-data ${WEBROOT}/sitemap.xml ${WEBROOT}/sitemap.xml.gz
chmod 0464 ${WEBROOT}/sitemap.xml ${WEBROOT}/sitemap.xml.gz

chown -R nobody:www-data ${UPLOADS}
find ${UPLOADS} -type d -exec chmod 2575 {} \;
find ${UPLOADS} -type f -exec chmod 0464 {} \;
    
por 25.04.2012 / 16:31
2

Mesmo se você tiver apenas um site, o comprometimento do usuário do apache permitirá que o hacker altere os arquivos em /var/www se a pasta puder ser gravada pelo usuário do apache.

    
por 25.04.2012 / 16:26
2

Eu não vejo porque não. Se houver um site, isso deve ser ok. Mas lembre-se de que você pode querer conceder somente leitura a alguns arquivos. (whitelist bem se eles precisam escrever acesso :))

    
por 25.04.2012 / 16:26