5.4. Dénégations SELinux dans le journal d'audit
Le système d'audit Linux stocke par défaut les entrées du journal dans le fichier /var/log/audit/audit.log
.
Pour ne répertorier que les enregistrements liés à SELinux, utilisez la commande ausearch
avec le paramètre "message type" fixé à AVC
et AVC_USER
au minimum, par exemple :
# ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR
Une entrée de refus SELinux dans le fichier journal d'audit peut se présenter comme suit :
type=AVC msg=audit(1395177286.929:1638): avc: denied { read } for pid=6591 comm="httpd" name="webpages" dev="0:37" ino=2112 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:nfs_t:s0 tclass=dir
Les parties les plus importantes de cette entrée sont les suivantes :
-
avc: denied
- l'action effectuée par SELinux et enregistrée dans l'Access Vector Cache (AVC) -
{ read }
- l'action refusée -
pid=6591
- l'identificateur de processus du sujet qui a tenté d'effectuer l'action refusée -
comm="httpd"
- le nom de la commande qui a été utilisée pour invoquer le processus analysé -
httpd_t
- le type SELinux du processus -
nfs_t
- le type SELinux de l'objet affecté par l'action du processus -
tclass=dir
- la classe d'objet cible
L'entrée de journal précédente peut être traduite par :
SELinux denied the httpd
process with PID 6591 and the httpd_t
type to read from a directory with the nfs_t
type.
Le message de refus SELinux suivant se produit lorsque le serveur HTTP Apache tente d'accéder à un répertoire étiqueté avec un type de la suite Samba :
type=AVC msg=audit(1226874073.147:96): avc: denied { getattr } for pid=2465 comm="httpd" path="/var/www/html/file1" dev=dm-0 ino=284133 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:samba_share_t:s0 tclass=file
-
{ getattr }
- l'entréegetattr
indique que le processus source essayait de lire les informations d'état du fichier cible. Cela se produit avant la lecture des fichiers. SELinux refuse cette action parce que le processus accède au fichier et qu'il n'a pas d'étiquette appropriée. Les permissions les plus courantes sontgetattr
,read
, etwrite
. -
path="/var/www/html/file1"
- le chemin d'accès à l'objet (cible) auquel le processus a tenté d'accéder. -
scontext="unconfined_u:system_r:httpd_t:s0"
- le contexte SELinux du processus (source) qui a tenté l'action refusée. Dans ce cas, il s'agit du contexte SELinux du serveur HTTP Apache, qui fonctionne avec le typehttpd_t
. -
tcontext="unconfined_u:object_r:samba_share_t:s0"
- le contexte SELinux de l'objet (cible) auquel le processus a tenté d'accéder. Dans ce cas, il s'agit du contexte SELinux defile1
.
Ce refus SELinux peut être traduit par :
SELinux denied the httpd
process with PID 2465 to access the /var/www/html/file1
file with the samba_share_t
type, which is not accessible to processes running in the httpd_t
domain unless configured otherwise.
Ressources supplémentaires
-
auditd(8)
etausearch(8)
pages de manuel