Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/07/2015, à 16:58

gody

[Résolu] postfix + pam + sasl

Hello tout le monde,

J'ai un petit problème avec l'authentification sur un smtp.
Le serveur un est serveur d'envoi uniquement.

L'authentification se fait via pam/saslauth et une database mysql.
Structure de la table: id (int), login (varchar), password (varchar), etat (bool)

Voici mes différents test:
1: Le champs état est à 1:
    * Le courriel part correctement
    * testsaslauthd -u test@test.com -p test01 -s smtp -f /var/spool/postfix/var/run/saslauthd/mux = 0: OK "Success."
2: Je change la valeur du champ état pour 0 sans redémarrer le service sasauthd
    * Le courriel par également
    * testsaslauthd -u test@test.com -p test01 -s smtp -f /var/spool/postfix/var/run/saslauthd/mux = 0: OK "Success."
3: Je redémarre le service saslauthd
    * Les courriels ne partent plus
    * testsaslauthd -u test@test.com -p test01 -s smtp -f /var/spool/postfix/var/run/saslauthd/mux = 0: NO "authentication failed"
4: Je change le champ état pour 1, sans redémarrer les services
    * Les courriels partent à nouveaux
    * testsaslauthd -u test@test.com -p test01 -s smtp -f /var/spool/postfix/var/run/saslauthd/mux = 0: OK "Success."

Mon problème se situe au point 2.
Je ne souhaite pas que le courriel soit envoyé lorsque l'état est à 0 et que les service ne sont pas redémarré.
La vérification sur la base de données devrait être systématique et non pas juste la première fois.

Comment pourrais je faire ?

Dernière modification par gody (Le 21/07/2015, à 20:16)

Hors ligne

#2 Le 21/07/2015, à 17:03

gody

Re : [Résolu] postfix + pam + sasl

Détails des configs:

/etc/pam.d/smtp

auth    required   pam_mysql.so user=dbuser passwd=dbpass host=dbhost db=db table=mail_user  [where=etat=1] usercolumn=login passwdcolumn=password crypt=1 debug
account required   pam_mysql.so user=dbuser passwd=dbpass host=dbhost db=db table=mail_user  [where=etat=1] usercolumn=login passwdcolumn=password crypt=1 debug

/etc/postfix/sasl/

pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: mysql 
sql_hostnames: dbhost
sql_user: dbuser
sql_passwd: dbpass
sql_database: db
sql_select: select password FROM mail_user where login = '%u@%r' and etat= 1

/etc/postfix/main.cf

smtpd_sasl_path = smtpd
smtpd_sasl_auth_enable = yes 
broken_sasl_auth_clients = yes 
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject

Dernière modification par gody (Le 21/07/2015, à 17:43)

Hors ligne

#3 Le 21/07/2015, à 20:11

gody

Re : [Résolu] postfix + pam + sasl

Lorsque je lance saslauthd en mode debug (saslauthd -c -d -a pam -m /var/spool/postfix/var/run/saslauthd)

Le champ état est à 1:

saslauthd[3221] :rel_accept_lock : released accept lock
saslauthd[3225] :get_accept_lock : acquired accept lock
saslauthd[3221] :cache_get_rlock : attempting a read lock on slot: 242
saslauthd[3221] :cache_lookup    : [login=test@test.com] [service=smtp] [realm=]: not found, update pending
saslauthd[3221] :cache_un_lock   : attempting to release lock on slot: 242
saslauthd[3221] :cache_get_wlock : attempting a write lock on slot: 242
saslauthd[3221] :cache_commit    : lookup committed
saslauthd[3221] :cache_un_lock   : attempting to release lock on slot: 242
saslauthd[3221] :do_auth         : auth success: [user=test@test.com] [service=smtp] [realm=] [mech=pam]
saslauthd[3221] :do_request      : response: OK

Le champ état est à 0 pas de restart du service saslauthd:

saslauthd[3222] :rel_accept_lock : released accept lock
saslauthd[3221] :get_accept_lock : acquired accept lock
saslauthd[3222] :cache_get_rlock : attempting a read lock on slot: 242
saslauthd[3222] :cache_lookup    : [login=test@test.com] [service=smtp] [realm=]: found with valid passwd
saslauthd[3222] :cache_un_lock   : attempting to release lock on slot: 242
saslauthd[3222] :do_auth         : auth success (cached): [user=test@test.com] [service=smtp] [realm=]
saslauthd[3222] :do_request      : response: OK

Comment réduire ou supprimer la période de mise en cache ?

Hors ligne

#4 Le 21/07/2015, à 20:16

gody

Re : [Résolu] postfix + pam + sasl

Résolu ...
http://linux.die.net/man/8/saslauthd

il faut retirer le paramètre -c de l'option OPTIONS= dans le fichier /etc/default/saslauthd

Hors ligne