Pages : 1
#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
Pages : 1