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>