Como você protege um arquivo de credenciais de texto simples com o nome de usuário e senha?

8

Estou tentando configurar uma unidade de rede de montagem automática. A unidade de rede requer um usuário / senha. Na página man de "mount.cifs" existem duas maneiras de fornecer o usuário / senha.

  1. [não recomendado] coloque o usuário / passe em / etc / fstab
  2. crie um arquivo de credenciais separado e coloque o usuário / passe no arquivo de credenciais

"[opção 2] é preferível a ter senhas em texto puro em um arquivo compartilhado, como / etc / fstab. Certifique-se de proteger qualquer arquivo de credenciais corretamente. "

  • Meu histórico é: desenvolvedor de software, muito desenvolvimento de software linux (instalação de bibliotecas de desenvolvimento, instalação de aplicativos como o Eclipse ou java). Eu não sou um cara de TI ou sysadmin.
  • Isso está na minha própria máquina de desenvolvimento

Devido à minha falta de experiência em TI / sysadmin, qual é o método sugerido padrão para "proteger qualquer arquivo de credenciais corretamente"?

(Eu também apreciaria, se houver vários métodos para proteger o arquivo de credenciais, por favor liste em ordem de menos comum e descreva os tradeoffs.)

    
por Trevor Boyd Smith 15.09.2011 / 15:52

2 respostas

7

Parece que os snippets de página de manual que você citou referem-se ao nível básico de segurança que a propriedade e as permissões de arquivo padrão fornece. O arquivo de configuração /etc/fstab pode ser lido por qualquer usuário no sistema. Um local mais seguro para armazenar informações confidenciais seria um arquivo com permissões que permitissem ser lido apenas pelo proprietário. Eu entendo que, no seu caso, o usuário seria root .

Digamos que você coloque o arquivo em /etc/ e nomeie-o como cifs-cred (crie e edite-o como root). Então você usaria

chmod 600 /etc/cifs-cred

Isso garantirá que apenas o proprietário (que deve ser root ) terá acesso ao conteúdo. Caso contrário, se tal configuração não permitir o funcionamento adequado da configuração do sistema, isso pode significar que o arquivo deve estar acessível a algum usuário especial do sistema. Nesse caso, você pode precisar tentar

chmod 660 /etc/cifs-cred

ou algo parecido

chown root:wheel /etc/cifs-cred
chmod 660 /etc/cifs-cred

- dependendo de qual é o sabor * nix do seu sistema e da configuração dos daemons do sistema.

Fora isso, se o sistema puder estar sob risco de ser comprometido, você nunca deve confiar em senhas não criptografadas. Depender apenas das permissões de arquivo é bastante ingênuo - o conteúdo do arquivo é protegido apenas contra pequenas violações de segurança.

    
por 15.09.2011 / 16:17
3

Apenas defina os direitos unix para rw para o usuário de montagem:

cat > ~/cifs.credentials <<EOC
user=UserName
pass=PassWord
EOC
chmod 0600 ~/cifs.credentials

Todos os outros usuários não têm acesso a este arquivo após o comando chmod

    
por 15.09.2011 / 16:13