Eu segui o seguinte link: Mutt: como armazenar senha com segurança?
Não tenho certeza do que estou perdendo, mas não estou funcionando da maneira que preciso. Aqui está o que eu noto
quando eu chegar ao prompt do shell e digitar mutt, uma tela aparecerá para eu inserir a senha. Assim que eu digitá-la, o cliente de e-mail aparecerá e eu poderei enviar e receber e-mails sem problemas. Se eu fechá-lo e fizer isso novamente, ele não solicitará a senha, no entanto, se eu fechar completamente e fizer ssh de volta no servidor e digitar mutt, ele solicitará a senha.
O que estou tentando realizar é criptografar a senha para que, quando eu executar um cronjob, ele não tenha problemas e evite a solicitação de senha. Alguém pode me ajudar a fazer isso funcionar?
Responder1
Existem várias opções diferentes com diferentes níveis de segurança, então vamos descrever algumas das opções para que você possa tomar a melhor decisão. Para automatizar a descriptografia, uma senha deve ser armazenada em algum lugar (no disco, na memória ou em outra máquina). Geralmente vale a pena considerar:
- Quem tem acesso à máquina?
- É acessível publicamente ou hospeda um serviço acessível publicamente?
Opção 1:Armazene a senha do e-mail não criptografada em seu arquivo muttrc.
Limite o acesso de leitura do muttrc ao usuário que executa o cron e criptografe o sistema de arquivos subjacente. Como você está usando o Gmail,crie uma senha de aplicativoque pode ser girado/revogado se estiver comprometido. Esta é provavelmente a solução mais fácil para o problema.
A desvantagem desta solução é que o root
usuário ou qualquer pessoa com sudo
privilégios pode acessar este arquivo. Você pode configurar sudo
para exigir uma senha para ajudar a reduzir essa possibilidade.
Opção 2:Armazene a senha gpg não criptografada em um arquivo.
Para esta opção, você está configurando o mutt para executar o gpg de forma não interativa. O acesso de leitura deve ser restrito para suas senhas vira-latas e arquivos de senha gpg. Você também deve criptografar o sistema de arquivos subjacente para proteger contra acesso físico. Isso apenas adiciona obscuridade ao armazenamento de uma senha não criptografada no muttrc. As mesmas desvantagens se aplicam e esta solução seria considerada igualmente segura.
Para que o gpg seja executado por um usuário não interativo, você precisará executar comandos gpg com:
--batch
para desativar o modo interativo--passphrase-file
para fornecer uma senha para a chave privada gpg--pinentry-mode loopback
para redirecionar as consultas pinentry de volta ao chamador.
Então, no mutttrc:
source "/usr/local/bin/gpg -d --batch --passphrase-file=$HOME/.passFile.txt --pinentry-mode loopback $HOME/.mutt/passwords.gpg |"
Opção 3:Use um serviço de gerenciamento de segredos.
Não existe nenhum padrão real neste espaço, e hámuitas opções neste espaço. Um serviço de gerenciamento de segredos centraliza o gerenciamento de segredos, fornecendo auditoria e controle de acesso a segredos em grande escala. As vantagens e desvantagens mudarão dependendo da sua implantação e implementação, e avançar neste espaço seria em grande parte baseado em opiniões.
Adicionalmente,aqui está outra perguntaisso aborda amplamente o domínio da pergunta que pode ser útil.