Postfix actualmente solo admite dos métodos de autenticación SASL. Uno de ellos es Dovecot, que no quieres. El otro es Cyrus, que es lo más parecido a lo que quieres sin reescribir Postfix. Implica ejecutar un demonio de autenticación separado ( saslauthd
), pero el archivo de autenticación es fácil de editar y actualizar.
Los conceptos básicos para usar Cyrus SASL se pueden encontrar en el sitio de documentación de postfix , pero aquí hay una breve descripción. ¡ Mire el enlace si algo es confuso de alguna manera!
Comience instalando Cyrus SASL con el complemento sasldb
. (Cómo hacer eso se deja como un ejercicio para el lector; presumiblemente hay un paquete en cualquier sistema de paquetes que esté utilizando su marca de Unix). Dado que la comunicación entre Postfix y SASL se realizará a través de un socket de dominio Unix, es posible que desee agregue postfix al grupo SASL y asegúrese de que ese grupo tenga permisos de lectura y ejecución en el directorio /var/run/saslauthd
.
Configurar SASL
Configure SASL para usar sasldb editando /etc/sasl2/smtpd.conf:
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM
El complemento sasldb significa que sasl usará un archivo Berkeley DB para nombres de usuario y contraseñas. Agrega usuarios con el comando saslpasswd2
:
$ saslpasswd2 -c -u example.com username
Password:
Again (for verification):
Tenga en cuenta que especifica un dominio junto con el nombre de usuario, y el usuario deberá usar "username@example.com" en lugar de solo "username" al autenticarse.
Puede verificar qué usuarios han ingresado ejecutando sasldblistusers2
.
Inicie saslauthd y verifique que la autenticación funciona haciendo
testsaslauthd -u username@example.com -p password
Configurar Postfix
Una vez hecho esto, dígale a Postfix que use SASL y dígale a Cyrus que es SMTP que se está autenticando, editando /etc/postfix/main.cf para que contenga
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
Luego, vuelva a cargar postfix, y debería estar configurado.