Desativar o armazenamento de senhas em texto puro do svn para todos os usuários

9

Por padrão, o Subversion permite que os usuários salvem suas senhas em texto simples em ~/.subversion/auth/svn.simple . Estou investigando opções para armazenar senhas criptografadas no svn , mas, no mínimo, e assim que possível, quero desabilitar completamente capacidade de armazenar senhas para todos os nossos usuários. Estamos executando o Subversion 1.6.17.

Eu posso desabilitar isso dentro do diretório pessoal do usuário através do arquivo de configuração.

~ / .subversion / servers :

[global]
# Password / passphrase caching parameters:
store-passwords = no
store-plaintext-passwords = no

No entanto, o usuário pode alterar o arquivo de configuração, se quiser. Não existe um arquivo de configuração svn em todo o sistema? Algumas opções que já vi:

Opção 1

In 1.8-dev, Subversion's configure script accepts a --disable-plaintext-password-storage option to bypass the logic which stores plaintext passwords and client certificate passphrases.

Eu prefiro não atualizar para uma versão de desenvolvimento.

Opção 2

/etc/subversion/config

AFAIK, este arquivo de configuração só é usado quando um usuário não possui um arquivo de configuração em seu diretório pessoal.

Opção 3

Adicione um trabalho cron para excluir o cache de autenticação do usuário em ~/.subversion/auth/svn.simple . Então, mesmo que eles alterem o arquivo de configuração do svn, o trabalho do cron mataria todas as senhas armazenadas. No entanto, mesmo executá-lo a cada minuto não garante que o nosso sistema de backup não iria pegar o (s) arquivo (s) contendo senhas em texto puro.

Idéias?

    
por Banjer 17.07.2012 / 16:19

2 respostas

6

Você não pode.

Não importa o que você faça, seus usuários podem ignorá-lo e armazenar sua senha em um arquivo de texto simples de qualquer maneira. Se você desativar o recurso no binário do cliente, eles farão o download ou compilarão um cliente diferente. Como regra geral, se você configurar medidas de segurança desagradáveis (como ter que digitar uma senha para cada operação do svn), seus usuários irão contorná-los de uma forma que torne a segurança ainda pior. (Por exemplo, escrever um script wrapper que contenha sua senha. O que eles deixarão legível para o mundo.) Portanto, não faça isso.

Para reiterar: você não pode, apenas por medidas técnicas, impedir que os usuários armazenem suas senhas em um arquivo. Você pode proibi-lo, mas se dificultar a vida deles, eles farão isso de qualquer maneira.

Se você estiver preocupado com o laptop ou com o roubo de backup, criptografe o diretório inicial dos usuários. Isso protegerá as senhas e os dados. Se todo o diretório inicial estiver criptografado, a senha de criptografia é geralmente a mesma que a senha de login, por questões de usabilidade. Certifique-se de ter uma política de backup de senha (por exemplo, um envelope lacrado), pois a perda de uma senha de criptografia é irrecuperável.

Se você estiver preocupado com a reutilização de senha, imponha uma senha aleatória (portanto, exclusiva), que será digitada de uma vez por todas no cliente. Tenha um processo simples para alterar senhas comprometidas, é claro.

    
por 18.07.2012 / 02:26
0

BTW, mesmo antes de criptografar qualquer coisa, eu cuido de permissões de arquivo: apenas verifiquei minha própria configuração por curiosidade, e descobri que isso é legível pelo mundo. Para um arquivo contendo uma senha clara, parece-me uma falha de segurança.

    
por 14.02.2013 / 16:38