Segurança SVN + SSH


9

Eu uso o snv + ssh com autenticação baseada em chave. Agora, para que qualquer um dos meus usuários svn acesse o repositório através do Subversion, devo configurar os arquivos de repositório para serem legíveis e graváveis ​​no sistema de arquivos para esses usuários.

Desejo impedir que os usuários possam excluir o banco de dados repo quando estiverem conectados ao servidor via ssh, mas ainda assim poderão fazer check-out e confirmar o código.

Pensamentos sobre como posso fazer isso?

Respostas:


4

Para acessar uma URL svn + ssh, o cliente svn inicia uma instância svnserve usando "ssh -q usuário @ host svnserve -t" e conversa com essa instância por meio de stdin / stdout.

Se seus usuários precisam de acesso ssh normal, você ainda pode impedi-los de acessar o repositório limitando o acesso a um usuário (chown -R svnserve: svnserve repo; chmod -R g-rwx, o-rwx repo) e substituindo o comando svnserve por este programa wrapper setuid / setgid svnserve .


10

Em um ambiente de usuário compartilhado, eu recomendaria configurar um servidor Subversion real ( svnserveou através do Apache). Nesse ambiente, usuários individuais não precisam acessar os arquivos do repositório, porque todo o acesso aos arquivos é feito sob a conta do usuário do processo do servidor.

O livro do Subversion possui uma seção sobre Escolhendo uma configuração do servidor que pode ajudar. A partir dessa seção (ênfase minha):

Se você possui uma infraestrutura existente fortemente baseada em contas SSH e se seus usuários já possuem contas de sistema na máquina do servidor, faz sentido implantar uma solução svnserve-over-SSH. Caso contrário, não recomendamos amplamente esta opção ao público. Geralmente é considerado mais seguro permitir que seus usuários acessem o repositório por meio de contas (imaginárias) gerenciadas pelo svnserve ou Apache, em vez de por contas de sistema completas.



2

Vejo duas direções possíveis para atacar esse problema:

  • forneça acesso limitado ao shell, por exemplo, os usuários só podem usar svn com suas contas (pode precisar de outra conta se o acesso ao shell também for necessário para outros fins) - Encontrei algumas referências interessantes pesquisando no svnonly no Google . Nota: não tentei eu mesmo.
  • migrar para o subversion por https, adicionando certificados de cliente. Eu já vi pessoas discutindo isso, mas nunca fiz isso sozinho. Desvantagem: requer distribuição de certificados de cliente, além das chaves ssh.

1

Concordo com Greg e Olaf - vá para acesso https. Estou usando essa configuração há algum tempo e não vejo realmente nenhuma desvantagem.

você obterá benefícios adicionais do controle de acesso refinado no repositório - para tornar algumas partes somente leitura e outras completamente inacessíveis para usuários selecionados.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.