O que é um conjunto seguro de permissões para fornecer um conjunto de arquivos para backup?

2

No nosso servidor, temos um número de usuários (ou seja, clientes) que precisam de seu código para fazer o backup. Suas permissões de arquivo geralmente são 650 , com usuário e grupo sendo user:user (onde user é o nome de usuário real).

No crontab, temos um usuário, backup , que faz backup de todos os caminhos de arquivos desejados via tarsnap. O problema é que, devido às permissões de arquivo, backup não pode acessá-las. Eu posso pensar em quatro soluções:

  1. Defina o cronjob para ser executado como root. Esta é a correção mais fácil, mas não sei se há algum problema de segurança aqui.
  2. Crie um grupo para o qual todos os usuários que queremos fazer backup e backup pertencem. Defina as permissões padrão para definir o grupo para todos esses usuários para esse grupo ... o grupo backup parece ser uma boa opção para o nome de um grupo. Isso parece um pouco difícil embora. Como altero as permissões padrão de cada usuário para que cada arquivo tocado tenha o usuário user e o grupo backup ?
  3. Modifique as permissões do grupo em todos os arquivos que queremos fazer backup. Isso também é fácil, mas também significa que toda vez que um arquivo é tocado (ou seja, modificado ou criado), teremos que modificar o grupo. Não é ideal.
  4. Torne os arquivos legíveis para o mundo. Isso é um problema de segurança?

O que seria uma configuração razoável para que eu possa fazer o backup desses arquivos com facilidade?

Pense em mais um…

  1. Adicione o usuário backup a cada um dos grupos de usuários que eu desejo fazer backup. Isso resolve o problema de acesso compartilhado.

Ao fazer alguma pesquisa, parece que a semântica de /var/backups e o usuário backup não são claros. Não parece perigoso para colocar backups em /var/backups , mas a recomendação não era usá-lo para backups de usuários desde o comportamento é indocumentado (desde 2001) . Em termos práticos, parece que muitos processos usam /var/backups e backup user ("user" é a palavra errada para descrever isso ... já que backup não é um "usuário" adequado com um diretório home , etc.) para recomendar seu uso, não estamos advogando algo novo.

    
por Avery Chan 25.03.2014 / 07:40

1 resposta

4

Eu acho que você realmente deveria ter apenas com o cronjob rodando sob root

Razões:

  • Você evitará arquivos sem backup devido à permissão de configuração do usuário para algo como 700. Por exemplo, chaves ssh devem ter essa permissão ou o SSH se recusa a usá-las se lembrar corretamente. Ao fazer um backup em root , você sempre saberá que copiou todos os arquivos.

  • Se você tornar os usuários parte do mesmo grupo de backup, eles poderão acessar os arquivos uns dos outros. Eu acho que há muitos possíveis problemas de segurança causados por essa reconfiguração para usar backup group do que simplesmente usar cronjob para o usuário root .

por 25.03.2014 / 09:21