SELinux bloque mon authentification smtp

Questions relatives à la sécurité de votre système : firewall, SELinux, etc...
Electro-X
Messages : 26
Inscription : 15 février 2010, 20:30

SELinux bloque mon authentification smtp

Message par Electro-X » 21 février 2010, 20:06

Bonjour,
J'ai mis en place un serveur mail Postfix+MySQL+Dovecot. Lorsque je me connecte à celui en imaps tout fonctionne correctement je récupére mes mails. Par contre lorsqu'il s'agit d'envoyer des mail il me dit authentification failed. J'ai donc mis SELinux en permissif et là je peut envoyer des mails sans problème.
Pour la connexion en smtps cela passe par saslauthd qui fait appel à pam_mysql qui va chercher les utilisateurs dans la base de données.
Je voulais donc savoir ou se situe les logs SELinux (car je ne les ai trouvé nul part)?
D'apres se que j'ai put voir SELinux bloquerait l'accès à mysql mais je ne sais pas qu'elle contexte je dois donner à quels fichiers?
Pouvez-vous m'aider?

J'ai suivi se tuto pour mettre en place saslauthd avec mysql :

Code : Tout sélectionner

http://www.wains.be/index.php/2006/11/15/centosrhel-postfix-smtp-auth/
Merci pour votre aide.

Avatar de l’utilisateur
nouvo09
Messages : 2183
Inscription : 20 octobre 2009, 08:14
Localisation : Paris, France

Re: SELinux bloque mon authentification smtp

Message par nouvo09 » 21 février 2010, 23:46

regarde si setroubleshootd est lancé et fonctionne, c'est lui qui doit te donner les alertes et te donner des solutions.

sinon tu as audit2allow mais c'est en ligne de commande et nettement plus délicat à utiliser.
C'est pas parce que c'est difficile qu'on ose pas,
c'est parce qu'on ose pas que c'est difficile !

Electro-X
Messages : 26
Inscription : 15 février 2010, 20:30

Re: SELinux bloque mon authentification smtp

Message par Electro-X » 22 février 2010, 17:45

j'ai installé setroubleshoot et j'ai réussi à obtenir ceci:

Code : Tout sélectionner

sealert -l 0a34067b-c3f7-4e61-8990-c7a991f63502

Summary:

SELinux is preventing saslauthd (saslauthd_t) "name_connect" to <Unknown>
(mysqld_port_t).

Detailed Description:

SELinux denied access requested by saslauthd. It is not expected that this
access is required by saslauthd and this access may signal an intrusion attempt.
It is also possible that the specific version or configuration of the
application is causing it to require additional access.

Allowing Access:

You can generate a local policy module to allow this access - see FAQ
(http://fedora.redhat.com/docs/selinux-faq-fc5/#id2961385) Or you can disable
SELinux protection altogether. Disabling SELinux protection is not recommended.
Please file a bug report (http://bugzilla.redhat.com/bugzilla/enter_bug.cgi)
against this package.

Additional Information:

Source Context                system_u:system_r:saslauthd_t
Target Context                system_u:object_r:mysqld_port_t
Target Objects                None [ tcp_socket ]
Source                        saslauthd
Source Path                   /usr/sbin/saslauthd
Port                          3306
Host                          serveur
Source RPM Packages           cyrus-sasl-2.1.22-5.el5
Target RPM Packages           
Policy RPM                    selinux-policy-2.4.6-255.el5_4.4
Selinux Enabled               True
Policy Type                   targeted
MLS Enabled                   True
Enforcing Mode                Enforcing
Plugin Name                   catchall
Host Name                     serveur
Platform                      Linux serveur 2.6.18-164.el5 #1 SMP Thu Sep 3
                              03:28:30 EDT 2009 x86_64 x86_64
Alert Count                   2
First Seen                    Mon Feb 22 16:39:38 2010
Last Seen                     Mon Feb 22 16:39:38 2010
Local ID                      0a34067b-c3f7-4e61-8990-c7a991f63502
Line Numbers                  

Raw Audit Messages            

host=serveur type=AVC msg=audit(1266853178.592:30): avc:  denied  { name_connect } for  pid=2534 comm="saslauthd" dest=3306 scontext=system_u:system_r:saslauthd_t:s0 tcontext=system_u:object_r:mysqld_port_t:s0 tclass=tcp_socket

host=serveur type=SYSCALL msg=audit(1266853178.592:30): arch=c000003e syscall=42 success=no exit=-13 a0=8 a1=7fffcf8e4a90 a2=10 a3=0 items=0 ppid=2530 pid=2534 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="saslauthd" exe="/usr/sbin/saslauthd" subj=system_u:system_r:saslauthd_t:s0 key=(null)
J'utilise pam_mysql pour me loger en smtp avec postfix si j'ai bien compris SELinux empeche saslauth (context : system_u:system_r:saslauthd_t) d'utiliser mysql (context : system_u:object_r:mysqld_port_t) c'est ça?
Je dois changer le context de quel fichier pour l'autoriser?

Désolé pour toute ces questions SELinux est nouveau pour moi je ne m'y intéraisse que depuis une semaine.
Merci encore pour votre aide

Verrouillé