Como bloquear a execução de arquivos de propriedade do root através do lighttpd?

1

Eu criei um grupo e um usuário para executar o lighttpd.

Eu gostaria de executar a partir do servidor web apenas os arquivos que possuem essas permissões (myuser: mygroup). Não quero executar arquivos com permissões de root.

Isso é possível?

    
por Gilles 22.04.2011 / 08:18

1 resposta

2

As permissões podem ajudar aqui.

Execute lighttpd como um usuário limitado. Eu acredito que você pode especificar o usuário e o grupo que lighttpd se reduz a lighttpd.conf .

Em seguida, verifique se os arquivos executáveis podem ser acessados pelo lighttpd, mas de propriedade do root, são chmod ed para 700 . Isso permite que apenas a raiz, o proprietário do arquivo, as execute. Tenha cuidado ao definir isso para diretórios pertencentes a root, porque é necessário executar a permissão nos diretórios para acessar seu conteúdo.

Se você deseja garantir que lighttpd não consiga acessar arquivos além do que autoriza, consulte as opções lighttpd chroot . Isso faz com que um diretório específico pareça com / , o diretório de nível superior, para lighttpd , evitando que ele obtenha acesso a qualquer coisa "acima" desse ponto.

Isso pode estar envolvido se você usar interpretadores de script como php ou perl, já que lighttpd precisa ser capaz de acessá-los, então você precisa colocar uma cópia deles e suas dependências (incluindo arquivos de configuração) no diretório " chroot jail ", como é chamado. Não é um problema apenas copiar o executável, você precisa copiar todas as bibliotecas (isso pode ser discernido com ldd {executable-name} .) E outras dependências e então você é responsável por atualizá-lo manualmente quando seu php ou perl for atualizado. / p>     

por 22.04.2011 / 17:02