%20com%20as%20chaves%20OSX%20para%20autentica%C3%A7%C3%A3o%3F.png)
Muitos tutoriais do fetchmail que li dizem que é seguro colocar a senha da sua conta de e-mail em texto simples em um arquivo de configuração. No entanto, prefiro segurança através de camadas[*** exemplo bobo: * se meu terminal estiver funcionando e alguém suspeitando de tal tolice de e-mail deslizar e simplesmente digitar "grep -i pass ~/.*" então, opa, toda a minha base pertence a eles! especialmente se meu provedor de e-mail usa openid (ou sou burro o suficiente para usar a mesma senha do meu banco)]**.
Agora, com o msmtp (em oposição ao sendmail), posso autenticar usando as chaves do OSX. Existe um 'capturador' de e-mail gratuito/de código aberto que me permite usar Chaves (ou pelo menos, que me permite MD5 a senha)?
Responder1
Se recuperar e-mails via POP3 for suficiente para você, dê uma olhada no excelentempop. É do mesmo autor do msmtp e também possui suporte para chaves OSX para armazenar credenciais de autenticação.
Para IMAP4, você poderia usar o muito bomOff-lineIMAPe conecte-o a um chaveiro OSX usandoGancho Python de William Snow Orvis.
Pessoalmente, prefiro essas ferramentas ao fetchmail (devido, por exemplo, à velocidade de download, conjunto de recursos, configuração), mas sua milhagem pode variar.
Responder2
Do ponto de vista de uma utilidade simples, sim, você pode usar o Keychain. Eu recomendo fortemente que você leia toda a security(1)
página do manual, que contém advertências adicionais.
Você pode inserir a senha usando o programa Keychain ou através da linha de comando:
# WARNING: exposes password in ps(1), history(1), etc.
$ security add-internet-password -a $USER -s pop3.example.com -w 'Mellon!'
Você pode extrair isso com:
# Note: by default, first use will prompt
$ security find-internet-password -s pop3.example.com -a $USER -g
Se vocêSempre permitir, security(1)
poderá obter essas credenciais sem mais solicitações. Isso pode ser um risco para o seu sistema. No entanto, você pode optar por sempre solicitar sua senha antes de iniciar.
Finalmente, usando isso, você pode encerrar sua fetchmail
chamada com um script trampolim que define a senha a ser usada.
user=$USER
server=pop3.example.com
# WARNING: insecure tmpfile creation and usage
# As [DAM][1] mentions, see mkstemp(3)
tmpfile=/tmp/fetchmailrc.$$
password=$(security find-internet-password -s $server -a $USER -g 2>&1 \
| perl -ne '/password: "(\S*)"/ and print $1')
# create temporary fetchmailrc and pass to fetchmail, etc...
cat <<EoF > $tmpfile
poll $server with proto POP3 and options no dns
user $user with pass '$password' is $user here
options keep mda '/usr/bin/procmail -d %T'
EoF
fetchmail -d -f $tmpfile
rm -f $tmpfile
Embora isso atinja seu objetivo declarado de não ter arquivos óbvios com senhas, eu fizobserve os riscos de segurançaainda presente com esta configuração, que você deve considerar.
Responder3
Se o chaveiro permitir que a senha em texto simples seja levantada, então é possível, mas você não pode usar senhas MD5 localmente, pois o servidor deseja em seu próprio formato (geralmente texto simples)
Responder4
@medina,
Em vez de "tmpfile=/tmp/fetchmailrc.$$", recomendo usar mktemp(1) se estiver disponível.