Armazenamento de senha criptografada SVN

109

Instalei o SVN em uma máquina Ubuntu e não consigo entender nada.

Sempre que eu faço checkout algo no terminal, recebo este erro sobre como salvar uma senha não criptografada:

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <[...]> Subversion Repository

can only be stored to disk
unencrypted!  You are advised to
configure your system so that
Subversion can store passwords
encrypted, if possible.  See the
documentation for details.

You can avoid future appearances of
this warning by setting the value of
the 'store-plaintext-passwords' option
to either 'yes' or 'no' in
'/home/[...]/.subversion/servers'.
-----------------------------------------------------------------------

Eu arregalei os olhos um pouco, mas não consegui encontrar nada útil. Encontrei um tópico em que dizia que era um problema do cliente, não do servidor, mas ainda não estou convencido.

Diz "configure seu sistema"; o que exatamente significa isso? O servidor ou o cliente? Se eu for o servidor, há algo que posso fazer a respeito? além de esconder o aviso (como diz) ...

Obrigado!

treznik
fonte
1
Essa pergunta é sobre como ocultar o aviso se você não quiser criptografar a senha. Esta questão é sobre como configurar um sistema para criptografar corretamente a senha.
outis nihil

Respostas:

44

É um problema do cliente. Ele avisa que as credenciais usadas para os diferentes servidores estão sendo armazenadas em texto simples. Você pode ocultar esse aviso ou usar um armazenamento criptografado para armazenar as senhas em cache.

Consulte: http://blogs.collab.net/subversion/2009/07/subversion-16-security-improvements/

frisco
fonte
14
Os armazenamentos de criptografia apresentados eram GNOME Keyring ou Kwallet, mas, como não estou usando nenhuma interface de desktop no meu servidor, acho que a criptografia está fora de questão. Certo?
treznik
3
No primeiro comentário você pode ver que há uma opção para usar a linha de comando, não tenho certeza de como funciona, mas parece viável.
frisco,
5
Não acredito que o svn não fornece pw com hash como o htpasswd ou similar.
d -_- b
17
@sims Hashing é bom se você deseja VERIFICAR a exatidão de uma senha. O cliente está prestes a ENVIAR a senha para o servidor, então o hash não é suficiente. Você tem que armazená-lo de forma bidirecional.
Notinlist de
6
Você pode obtê-lo sem recompilar, com base em ubuntuforums.org/showthread.php?t=1348567 . Basta definir isso para ~ / .subversion / config [auth] password-stores = gnome-keyring
fikr4n
6

Ao criptografar a senha, você não poderá obter o não repúdio (outros usuários podem usar seu hash como você) devido às permissões de arquivo do sistema operacional. No entanto, a maioria das empresas tem a configuração do subversion usando sua senha de domínio ou alguma forma de senha SSO. Ao criptografar a senha, você pelo menos mascararia alguém de acessar as outras contas de um usuário.

Eu ainda estaria preocupado com a força da criptografia. Se a senha do subversion estiver vinculada a outras contas importantes, alguém pode testar a força da criptografia para decifrar a senha.

A melhor aposta é configurar o cliente subversion para desligar as senhas armazenadas e forçar a autenticação de desenvolvedores preguiçosos a cada vez.

Jason Lawrence
fonte
13
Se a última proposta é a "melhor" depende de outros fatores. E se os desenvolvedores, diante de um processo de confirmação / atualização oneroso, começarem a usar menos o SVN e, como resultado, a granularidade da sincronização com outros ficar mais grosseira? E se eles começarem a criar formas de júri para armazenar suas senhas em outro lugar e automatizar o processo de autenticação de forma insegura?
LarsH
2

Eu armazeno as credenciais em um disco criptografado. (Embora, enquanto encfs está montado, as credenciais ainda são texto simples para minha conta)

$ ls -nl ~/.subversion/
total 20K
-rw-r--r-- 1 1000 1000 4.2K 2009-07-10 13:00 README.txt
lrwxrwxrwx 1 1000 1000   31 2009-10-14 14:31 auth -> ~/crypt/subversion/auth/
-rw-r--r-- 1 1000 1000 5.7K 2009-07-10 13:00 config
-rw-r--r-- 1 1000 1000 3.6K 2009-07-10 13:00 servers

Usar git-svn significa que preciso das credenciais com muito menos frequência, portanto, pode não ser muito oneroso não salvá-las.

bsb
fonte