Como posso usar o Dirvish sem habilitar logins de root no sshd?

1

Estou configurando um servidor de backup usando Dirvish, que fará o backup de vários servidores Ubuntu pela Internet.

Como parte de nossa política de segurança, não permitimos logins ssh como root em nossos servidores.

Como posso usar o Dirvish para fazer backup de meus servidores, sem efetuar login como root e sem fornecer ao usuário dirvish NOPASSWORD em sudoers?

A solução ideal deve envolver configuração mínima nas máquinas de destino de backup.

    
por Rich 12.04.2011 / 15:49

4 respostas

3

Para quem procura, aqui está a solução com a qual fui.

Pontos principais:

  1. Dirvish não suporta rodar rsync via sudo (Por que, eu não sei)

  2. Em AUTHORIZED_KEYS, você pode restringir as condições sob as quais uma chave é autorizada, incluindo a especificação de um único comando permitido e um único endereço IP de origem.

Em sshd_config, você pode especificar que o login da raiz ssh só é permitido quando o sinalizador -command é especificado e o comando corresponde àquele em AUTHORIZED_KEYS

PermitRootLogin forced-commands-only

Um procedimento completo está aqui: link

    
por 13.04.2011 / 07:19
2

Você está no caminho certo ao não permitir logins de raiz via SSH. No entanto, seu pré-requisito sobre o sudo não é razoável.

No entanto, o sudo permite um controle muito refinado sobre exatamente o que pode ou não ser executado por um determinado usuário. Você pode permitir que o usuário dirw apenas execute exatamente um binário sem uma senha.

Combine isso com a autenticação baseada em chave para esse usuário e você mesmo terá uma solução de backup.

    
por 12.04.2011 / 16:07
0

Estou adicionando uma segunda resposta com uma solução diferente à luz de mais detalhes do problema que está sendo lançado. Aparentemente, o dirvish usa o rsync no backend, e o @Rich está certo em apontar que permitir o acesso do sudo, mesmo que apenas àquele comando, dá controle total sobre o sistema de arquivos raiz.

Em vista disso, eu sugeriria algum trabalho com grupos de usuários, de modo que o usuário dirw execute como o acesso de leitura aos arquivos que precisam ter backup em virtude de estar no grupo de usuários correto. Dessa forma, você pode evitar ter vulnerabilidades no nível raiz.

    
por 13.04.2011 / 09:29
-1

Usar o sinalizador sshd "PermitRootLogin sem senha" é uma opção? Então você só poderia fazer o login com a chave pública correspondente. Para obter mais segurança, você poderia ativar um segundo servidor ssh em outra porta e permitir o keyauth apenas lá.

    
por 12.04.2011 / 15:55

Tags