É seguro alterar a umask padrão para 002 em um servidor web público?

3

Eu tenho um servidor Ubuntu rodando o Apache. Eu tenho um aplicativo da web que grava arquivos em uma pasta. O Apache está sendo executado como www-data:www-data , então todos os arquivos são criados usando esse usuário e grupo.

Eu também tenho um usuário shabbyrobe que eu uso para fazer login na caixa e fazer alterações não-raiz. Se eu quiser mudar algo que foi tocado por www-data , eu estou encontrando a mim mesmo quebrando e apenas fazendo sudo -i , então antes que eu perceba eu estou fazendo tudo em um nível elevado de privilégio e realmente sinto como eu não deveria precisar de root .

Adicionei shabbyrobe ao grupo www-data e executei chmod -R 2775 na pasta cheia de arquivos escritos pelo meu aplicativo da web, mas novos arquivos ainda estavam sendo criados como 755 , então o usuário shabbyrobe não tinha acesso.

Basicamente, estou apenas me perguntando se é seguro para mim alterar o umask em /etc/profile de 022 (que parece ser o padrão) para 002 sem comprometer a segurança do meu servidor. Eu acho que estou apenas imaginando que deve haver uma razão por que ela é 022 por padrão, e eu não quero apenas mudá-la alegremente sem entender qual é essa razão.

Atualização : em resposta à sugestão de Caleb, eu pensei mais sobre isso e não parece que seria uma ótima idéia definir o sistema umask, considerando que é possível configurá-lo para apache apenas. Então, se eu alterar a umask para 002 em /etc/apache2/envvars em vez de /etc/profile , quais considerações de segurança permanecem?

    
por Shabbyrobe 18.05.2011 / 14:36

1 resposta

4

Definir o umask como 002 tornaria todos os arquivos criados também graváveis por qualquer pessoa no mesmo GROUP que o usuário que escreveu o arquivo.

Dependendo da configuração do sistema, isso pode causar problemas de segurança significativos. Eu não recomendaria fazer este sistema de largura. Se você tem um usuário ou programa em particular que se beneficiaria da criação de arquivos que podem ser gravados por outros usuários em seu grupo, não há problema em definir isso localmente para a execução desse programa ou script, mas seria uma idéia ruim para torne o comportamento padrão.

Esteja ciente de que é particularmente perigoso permitir acesso de gravação a qualquer coisa que possa ser executada por outros usuários, pois uma alteração furtiva em um arquivo executável pode ser executada inesperadamente por outro usuário e permitir que códigos maliciosos sejam executados como seus usuários, comprometendo sua conta.

    
por 18.05.2011 / 14:50