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?
fonte
Respostas:
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.
fonte
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.
fonte