Isso surgiu em um comentário para outra pergunta e eu adoraria se alguém pudesse me explicar os motivos disso.
Sugeri que o Apache registrasse os erros de um determinado VHost no diretório pessoal de um usuário. Isso foi abatido porque era inseguro. Por quê?
Pedi esclarecimentos em um comentário de resposta, mas tudo o que obtive foi que não é seguro ter a raiz gravada em uma pasta que não pertence à raiz. Mais uma vez, alguém poderia explicar?
Obrigado,
Bart.
linux
security
permissions
Bart B
fonte
fonte
Respostas:
Como um usuário mal intencionado pode tentar apontar o arquivo que
root
está gravando para um local diferente . Isso não é tão simples, mas realmente possível.Como exemplo, se um usuário encontrar o caminho para fazer um link simbólico do suposto log do Apache para, digamos, / etc / shadow, você terá um sistema inutilizável de repente. O Apache (
root
) sobrescreveria as credenciais de seus usuários, causando falhas no sistema.Se o arquivo access.log não for gravável pelo usuário, pode ser difícil seqüestrá-lo, mas evitar a possibilidade é melhor!
Uma possibilidade pode ser usar logrotate para fazer o trabalho , criando o link para um arquivo ainda não existente, mas esse logrotate será substituído assim que os logs aumentarem:
Nota :
O método de link simbólico é apenas um dos ataques possíveis, dados como prova de conceito.
A segurança deve ser feita com a mente da Lista Branca , sem incluir na lista negra o que sabemos ser um problema.
fonte
+t
bit fixo esteja definido), mesmo se eles não tiverem permissão de gravação para os próprios arquivos (porque unlink () é uma gravação no diretório, não o Arquivo). Mesmo que o root crie o arquivo com antecedência, o proprietário do diretório ainda poderá excluí-lo e substituí-lo por um link simbólico para outra coisa.O princípio geral de não ter processos gravados em um diretório que eles não possuem ou confiam é bom. Mas neste caso em particular, é razoável confiar que o código Apache abre o log com
O_NOFOLLOW
etc: fazer login no diretório pessoal de um usuário é uma configuração comum.fonte