Como você protege um arquivo de credenciais de texto sem formatação com o nome de usuário e a senha?

12

Estou tentando configurar uma unidade de rede de montagem automática. A unidade de rede requer um usuário / passe. Na página de manual do "mount.cifs", existem duas maneiras de fornecer ao 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 sem formatação em um arquivo compartilhado, como / etc / fstab. Certifique-se de proteger adequadamente qualquer arquivo de credenciais. "

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

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

(Eu também apreciaria, se houver vários métodos para proteger o arquivo de credenciais, listar na ordem do mais comum para o mínimo e descrever as compensações.)

Trevor Boyd Smith
fonte

Respostas:

11

Parece que os trechos da página de manual que você citou se referem ao nível básico de segurança que a propriedade e as permissões padrão dos arquivos fornecem. O arquivo de configuração /etc/fstabé legível por qualquer usuário no sistema. Um local mais seguro para armazenar informações confidenciais seria um arquivo com permissões que permitam ser lidas apenas pelo proprietário. Entendo que, no seu caso, o usuário seria root .

Digamos que você coloque o arquivo /etc/e nomeie-o 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 ) tenha acesso ao conteúdo. Caso contrário, se essa 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 do sabor do * nix que seu sistema é e da configuração dos daemons do sistema.


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

rozcietrzewiacz
fonte
1
existem perguntas ou sites do unix.stackexchange.com que falam sobre obter a mesma saída ... mas não 'dependem apenas das permissões de arquivo'?
Trevor Boyd Smith
Infelizmente, esta parte depende da aplicação. Alguns programas e aplicativos têm suporte para senhas com hash, outros não. Não sei qual é a situação do CIFS / SMB, mas sinceramente duvido que exista uma alternativa realmente segura nesse caso. Você pode consultar o IT Security para obter mais informações.
rozcietrzewiacz 18/09/11
3

Apenas defina apenas os direitos unix como 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 esse arquivo após o comando chmod

f4m8
fonte