Desativar armazenamento de senha em texto simples svn para todos os usuários

9

Por padrão, o Subversion permite que os usuários salvem sua senha em texto sem formatação ~/.subversion/auth/svn.simple. Estou investigando opções para armazenar senhas criptografadas no svn , mas no mínimo e o mais rápido possível, quero desativar completamente a capacidade de armazenar senhas para todos os nossos usuários. Estamos executando o Subversion 1.6.17.

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

~ / .subversion / servidores :

[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 desejar. Não existe um arquivo de configuração svn para todo o sistema? Algumas opções que eu já vi:

Opção 1

No 1.8-dev, o script de configuração do Subversion aceita uma opção --disable-plaintext-password-storage para ignorar a lógica que armazena senhas de texto sem formatação e senhas de certificado de cliente.

Prefiro não atualizar para uma versão de desenvolvimento.

opção 2

/etc/subversion/config

AFAIK, esse arquivo de configuração é usado apenas quando um usuário ainda não possui um arquivo de configuração em seu diretório inicial.

Opção 3

Adicione um trabalho cron para excluir o cache de autenticação do usuário ~/.subversion/auth/svn.simple. Portanto, mesmo que eles alterem seu arquivo de configuração svn, nosso trabalho cron matará todas as senhas armazenadas. No entanto, nem mesmo executá-lo a cada minuto garante que nosso sistema de backup não pegue os arquivos que contêm senhas em texto sem formatação.

Ideias?

Banjer
fonte
Você controla o servidor? Por que não usar SSH mais chave ou Kerberos em vez de autenticação de senha?
Mikel
sim eu sou o administrador.
Banjer

Respostas:

6

Você não pode.

Faça o que fizer, 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, se você configurar medidas de segurança desagradáveis ​​(como precisar digitar uma senha para cada operação svn), seus usuários as desviarão de uma maneira que torne a segurança ainda pior. (Por exemplo, escrevendo um script de invólucro que contenha sua senha. Eles deixarão legíveis pelo 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 o farão de qualquer maneira.

Se você estiver preocupado com roubo de laptop ou backup, criptografe o diretório inicial dos usuários. Isso protegerá as senhas e os dados. Se todo o diretório pessoal estiver criptografado, a senha de criptografia geralmente é igual à senha de login, por motivos 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 única), que eles digitarão de uma vez por todas no cliente. Tenha um processo simples para alterar senhas comprometidas, é claro.

Gilles 'SO- parar de ser mau'
fonte
Grandes pontos ao redor. Eu certamente vi usuários contornar os protocolos que temos para facilitar sua vida. Vou ter que ver o que mais o svn oferece no caminho da autenticação que não incomoda os usuários, como as baseadas em chaves.
214 Banjer
0

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

user32379
fonte