Question Échec de l'authentification SMTP + PAM-MySQL ne peut pas s'authentifier


Je construis un serveur de messagerie avec Postfix et configure l'authentification pour qu'elle vérifie la configuration d'une base de données à l'aide de Postfixadmin.

Je peux m'authentifier via Courier IMAP, car il peut s'authentifier correctement à l'aide du mot de passe haché, mais je soupçonne que mon mécanisme d'authentification SMTP SASL + PAM-MySQL ne le peut pas.

Je reçois ces erreurs dans /var/log/mail.log:

pam_unix(smtp:auth): check pass; user unknown
Aug 22 03:23:08 omitted saslauthd[26402]: pam_unix(smtp:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost= 
Aug 22 03:23:10 omitted saslauthd[26402]: DEBUG: auth_pam: pam_authenticate failed: Authentication failure
Aug 22 03:23:10 omitted saslauthd[26402]: do_auth         : auth failure: [user=user@domain.com] [service=smtp] [realm=domain.com] [mech=pam] [reason=PAM auth error]

Voici le contenu de /etc/pam.d/smtp:

auth required pam_mysql.so user=postfixadmin passwd=omitted host=127.0.0.1 db=postfixadmin table=mailbox usercolumn=username passwdcolumn=password crypt=2
account sufficient pam_mysql.so user=postfixadmin passwd=omitted host=127.0.0.1 db=postfixadmin table=mailbox usercolumn=username passwdcolumn=password crypt=2

Voici l'extrait pertinent pour le cryptage de mot de passe de /etc/postfixadmin/config.inc.php:

// Encrypt
// In what way do you want the passwords to be crypted?
// md5crypt = internal postfix admin md5
// md5 = md5 sum of the password
// system = whatever you have set as your PHP system default
// cleartext = clear text passwords (ouch!)
// mysql_encrypt = useful for PAM integration
// authlib = support for courier-authlib style passwords
// dovecot:CRYPT-METHOD = use dovecotpw -s 'CRYPT-METHOD'. Example: dovecot:CRAM-MD5
$CONF['encrypt'] = 'mysql_encrypt';

Et voici le contenu de mon /etc/postfix/sasl/smtp.conf:

pwcheck_method: saslauthd
mech_list: plain login
log_level: 7
allow_plaintext: true
auxprop_plugin: sql
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: postfixadmin
sql_passwd: omitted
sql_database: postfixadmin
sql_select: select password from mailbox where username='%u@%r'

J'ai essayé d'utiliser MD5 hash mais Courier échouerait. Donc c'est par la fenêtre ...


5
2017-08-22 03:31


origine


J'utilise ces scripts pour vérifier les méthodes d'authentification imap, pop et smtp. peut-être vous aide à trouver le problème. - Gabriel Pérez S.


Réponses:


J'ai exactement la même configuration que vous (Postfix + Cyrus SASL avec saslauthd + PAM), et j'ai également passé des heures à la configurer. Mais sachez que cela fonctionne parfaitement.

Dans mon cas, j'ai les mêmes paramètres que vous dans /etc/pam.d/smtp mais pas dans /etc/postfix/sasl/smtp.conf.

Il semble que vous mélangez l’utilisation du plugin SQL Cyrus (auxprop_plugin: sql) avec saslauthd et PAM mysql.

Documentation Postfix indique que si vous souhaitez stocker des mots de passe cryptés (ce qui semble être le cas depuis que vous avez configuré "crypt = 2" dans la configuration de PAM), vous NE POUVEZ PAS utiliser le plugin Cyrus SASL sql.

Vous pouvez essayer d'utiliser uniquement PAM. Pour cela, il vous suffit de suivre /etc/postfix/sasl/smtp.conf

pwcheck_method: saslauthd
mech_list: login plain
log_level: 4

Vous n'avez besoin d'aucune configuration de base de données / mot de passe dans ce fichier, car PAM sait déjà tout!

Vérifiez également /etc/default/saslautd, J'ai les suivants:

START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=1
OPTIONS="-c -r -m /var/spool/postfix/var/run/saslauthd"

Vérifiez que vous avez choisi pam dans MÉCANISMES variable, et vérifiez les drapeaux dans le OPTIONS variable. Normalement, vous devriez avoir plus de 1 dans le FILS variable. Vous pouvez le laisser comme ça. Vous n'avez pas besoin de définir "1" comme moi.

MODIFIER: il semble que j'ai répondu à une très vieille question! Cela n'a pas d'importance, cela sera référencé par Google et pourra être utile à toute personne qui configure SASL avec PAM.


4
2017-08-14 21:00