Almacén de contraseñas cifradas SVN

109

Instalé SVN en una máquina Ubuntu y no puedo entender algo.

Cada vez que reviso algo de la terminal, aparece este error sobre cómo guardar una contraseña no cifrada:

-----------------------------------------------------------------------
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'.
-----------------------------------------------------------------------

Lo busqué un poco, pero no pude encontrar nada útil. Encontré un tema en el que decía que se trataba de un problema del cliente, no del servidor, pero todavía no estoy convencido.

Dice "configure su sistema"; ¿Qué significa exactamente eso? ¿El servidor o el cliente? Si soy el servidor, ¿hay algo que pueda hacer al respecto? además de esconder la advertencia (como dice) ...

¡Gracias!

treznik
fuente
1
Esa pregunta trata sobre cómo ocultar la advertencia si no desea cifrar la contraseña. Esta pregunta trata sobre cómo configurar un sistema para cifrar correctamente la contraseña.
outis nihil

Respuestas:

44

Es un problema del cliente. Le advierte que las credenciales utilizadas para los diferentes servidores se almacenan en texto plano. Puede ocultar esa advertencia o utilizar un almacenamiento cifrado para almacenar en caché las contraseñas.

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

frisco
fuente
14
Los almacenamientos de cifrado presentados fueron GNOME Keyring o Kwallet, pero como no estoy usando ninguna interfaz de escritorio en mi servidor, supongo que el cifrado está fuera de discusión. ¿Correcto?
Treznik
3
En el primer comentario, puede ver que hay una opción para usar la línea de comandos, no estoy seguro de cómo funciona, pero parece factible.
frisco
5
No puedo creer que svn no proporcione hash pw como htpasswd o similar.
d -_- b
17
@sims Hashing es bueno si desea VERIFICAR la corrección de una contraseña. El cliente está a punto de ENVIAR la contraseña al servidor, por lo que el hash no es suficiente. Tienes que almacenarlo de forma bidireccional.
Notinlist
6
Puede obtenerlo sin volver a compilar, basado en ubuntuforums.org/showthread.php?t=1348567 . Simplemente establezca esto en ~ / .subversion / config [auth] password-stores = gnome-keyring
fikr4n
6

Al cifrar la contraseña, no podrá lograr el no repudio (otros usuarios podrían usar su hash como usted) debido a los permisos de archivos del sistema operativo. Sin embargo, la mayoría de las empresas tienen una configuración de subversión utilizando su contraseña de dominio o alguna forma de contraseña SSO. Al cifrar la contraseña, al menos enmascararía a alguien para que no acceda a otras cuentas de un usuario.

Todavía estaría preocupado por la fuerza del cifrado. Si la contraseña de Subversion está vinculada a otras cuentas importantes, alguien podría probar la fuerza del cifrado para descifrar la contraseña.

La mejor opción es configurar el cliente de Subversion para desactivar las contraseñas almacenadas y obligar a los desarrolladores perezosos a autenticarse cada vez.

Jason Lawrence
fuente
13
Que la última propuesta sea "la mejor" depende de otros factores. ¿Qué pasa si los desarrolladores, que se enfrentan a un proceso oneroso de confirmación / actualización, comienzan a usar menos SVN y, como resultado, la granularidad de la sincronización con otros se vuelve más burda? ¿Qué pasa si comienzan a manipular el jurado para almacenar sus contraseñas en otro lugar y automatizar el proceso de autenticación de manera insegura?
LarsH
2

Guardo las credenciales en un disco cifrado. (Aunque, mientras encfs está montado, las credenciales siguen siendo texto sin formato en mi cuenta)

$ 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 necesito las credenciales con mucha menos frecuencia, por lo que puede que no sea demasiado oneroso no guardarlas en absoluto.

bsb
fuente