Proteger passwords (ej. IMAP) en los ficheros de configuración de MUTT fácilmente

Las credenciales en texto claro dentro de ficheros de configuración no son recomendables en cuanto a seguridad se refiere. El siguiente truco permite tener las credenciales cifradas mediante gpg en disco y tenerlas descifradas en memoria en el arranque del cliente de correo Mutt.

EL método es muy simple y solo requiere del uso de GPG. Hay otras alternativas a la mostrada a continuación que proveen más funcionalidades y se pueden usar con más aplicaciones.

Renombrar el ejecutable Mutt.

mv /usr/bin/mutt /usr/bin/mutt_orig

Creamos el script /usr/bin/mutt y le dan permisos de ejecución.

#!/bin/sh
pwds=`gpg -q --decrypt ~/.mutt/passwords`
eval "$pwds"
exec mutt_orig "$@"
chmod a+x /usr/bin/mutt

Generamos un fichero con la/s clave/s en ~/.mutt/passwords.txt (Ejemplo utilizando dos cuentas).

export ACCT1_PASS=XXXXX
export ACCT2_PASS=XXXXX

Ciframos el fichero y eliminamos el fichero con las credenciales en texto plano.

gpg --output ~/.mutt/passwords --encrypt --recipient USUARIO_GPG ~/.mutt/passwords.txt
rm ~/.mutt/passwords.txt

Editar la configuración IMAP de las cuentas configuradas, por ejemplo para la primera cuenta.

set imap_pass = $ACCT1_PASS
set smtp_pass = $ACCT1_PASS

Al ejecutar el comando mutt, se solicitará la clave GPG (USUARIO_GPG) para descifrar el fichero passwords y las exporta al cliente de correo. A partir de ese momento se puede utilizar el cliente de correo sin necesidad de meter más contraseñas.