NFS et SElinux

Le
Julien Valroff
Bonjour,

Je fais mes premiers pas avec SElinux sous un système Etch à jour.
J'ai suivi les procédures décrites sur le [0]wiki et sur le [1]blog de
Russel Coker.

J'ai pour l'instant un problème avec NFS. Le daemon ne démarre pas si
j'active SElinux (echo 1 > /selinux/enforce):
# /etc/init.d/nfs-kernel-server restart
Stopping NFS kernel daemon: mountd nfsd.
Unexporting directories for NFS kernel daemon.
mount: block device nfsd is write-protected, mounting read-only
mount: cannot mount block device nfsd read-only
Exporting directories for NFS kernel daemon.
Starting NFS kernel daemon: nfsd mountd.

Voici les audits:
Apr 1 08:50:52 hestia kernel: audit(1175410252.866:82): avc: denied { getattr } for pidG71 comm="mountpoint" name="/" dev=nfsd ino‰71 scontext=user_u:system_r:mount_t:s0 tcontext=system_u:object_r:nfsd_fs_t:s0 tclass=dir
Apr 1 08:50:52 hestia kernel: audit(1175410252.934:83): avc: denied { search } for pidG71 comm="mountpoint" name="/" dev=nfsd ino‰71 scontext=user_u:system_r:mount_t:s0 tcontext=system_u:object_r:nfsd_fs_t:s0 tclass=dir
Apr 1 08:50:53 hestia kernel: audit(1175410252.998:84): avc: denied { getattr } for pidG72 comm="exportfs" name="/" dev=dm-5 ino=2 scontext=user_u:system_r:nfsd_t:s0 tcontext=system_u:object_r:home_root_t:s0 tclass=dir
Apr 1 08:50:53 hestia kernel: audit(1175410253.062:85): avc: denied { search } for pidG72 comm="exportfs" name="/" dev=dm-5 ino=2 scontext=user_u:system_r:nfsd_t:s0 tcontext=system_u:object_r:home_root_t:s0 tclass=dir
Apr 1 08:50:53 hestia kernel: audit(1175410253.126:86): avc: denied { getattr } for pidG72 comm="exportfs" name="media" dev=dm-5 ino)76065 scontext=user_u:system_r:nfsd_t:s0 tcontext=user_u:object_r:user_home_dir_t:s0 tclass=dir
Apr 1 08:50:53 hestia kernel: NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Apr 1 08:50:53 hestia kernel: NFSD: starting 90-second grace period

# ps -Zef | grep [n]fs
system_u:system_r:kernel_t:s0 root 4778 6 0 08:50 ? 00:00:00 [nfsd4]
system_u:system_r:kernel_t:s0 root 4779 1 0 08:50 ? 00:00:00 [nfsd]
system_u:system_r:kernel_t:s0 root 4780 1 0 08:50 ? 00:00:00 [nfsd]
system_u:system_r:kernel_t:s0 root 4781 1 0 08:50 ? 00:00:00 [nfsd]
system_u:system_r:kernel_t:s0 root 4782 1 0 08:50 ? 00:00:00 [nfsd]
system_u:system_r:kernel_t:s0 root 4783 1 0 08:50 ? 00:00:00 [nfsd]
system_u:system_r:kernel_t:s0 root 4784 1 0 08:50 ? 00:00:00 [nfsd]
system_u:system_r:kernel_t:s0 root 4785 1 0 08:50 ? 00:00:00 [nfsd]
system_u:system_r:kernel_t:s0 root 4786 1 0 08:50 ? 00:00:00 [nfsd]
user_u:system_r:nfsd_t:s0 root 4791 1 0 08:50 ? 00:00:00 /usr/sbin/rpc.mountd


Il semblerait que portmap soit confiné malgré le chargement du module requis :
Apr 1 08:52:33 hestia kernel: audit(1175410352.980:93): avc: denied { getattr } for pidH82 comm="rpc.mountd" name="/" dev=dm-5 ino=2 scontext=user_u:system_r:nfsd_t:s0 tcontext=system_u:object_r:home_root_t:s0 tclass=dir
Apr 1 08:52:33 hestia kernel: audit(1175410353.044:94): avc: denied { getattr } for pidH82 comm="rpc.mountd" name="/" dev=dm-5 ino=2 scontext=user_u:system_r:nfsd_t:s0 tcontext=system_u:object_r:home_root_t:s0 tclass=dir
Apr 1 08:52:58 hestia kernel: audit(1175410378.290:95): avc: denied { read write } for pidH90 comm="pmap_dump" name="1" devÞvpts ino=3 scontext=user_u:system_r:portmap_helper_t:s0 tcontext=user_u:object_r:initrc_devpts_t:s0 tclass=chr_file
Apr 1 08:52:58 hestia kernel: audit(1175410378.350:96): avc: denied { read write } for pidH90 comm="pmap_dump" name="1" devÞvpts ino=3 scontext=user_u:system_r:portmap_helper_t:s0 tcontext=user_u:object_r:initrc_devpts_t:s0 tclass=chr_file
Apr 1 08:52:58 hestia kernel: audit(1175410378.414:97): avc: denied { read write } for pidH90 comm="pmap_dump" name="1" devÞvpts ino=3 scontext=user_u:system_r:portmap_helper_t:s0 tcontext=user_u:object_r:initrc_devpts_t:s0 tclass=chr_file
Apr 1 08:52:59 hestia kernel: audit(1175410379.510:98): avc: denied { read write } for pidI05 comm="pmap_set" name="1" devÞvpts ino=3 scontext=user_u:system_r:portmap_helper_t:s0 tcontext=user_u:object_r:initrc_devpts_t:s0 tclass=chr_file
Apr 1 08:52:59 hestia kernel: audit(1175410379.574:99): avc: denied { read write } for pidI05 comm="pmap_set" name="1" devÞvpts ino=3 scontext=user_u:system_r:portmap_helper_t:s0 tcontext=user_u:object_r:initrc_devpts_t:s0 tclass=chr_file
Apr 1 08:52:59 hestia kernel: audit(1175410379.642:100): avc: denied { read write } for pidI05 comm="pmap_set" name="1" devÞvpts ino=3 scontext=user_u:system_r:portmap_helper_t:s0 tcontext=user_u:object_r:initrc_devpts_t:s0 tclass=chr_file
Apr 1 08:52:59 hestia portmap[4906]: connect from 127.0.0.1 to set(nfs): request from unprivileged port

Malgré mes recherches, je n'ai rien pu trouver, si ce n'est de
désactiver l'appel à rpcinfo dans /etc/init.d/nfs-kernel-server comme
indiqué sur http://www.coker.com.au/selinux/tweaks.html

Ce changement n'a apparemment pas lieu d'être, car les appels à rpcinfo
ne donnent lieu à aucun message d'audit de SElinux.

Avez-vous une idée ?

Julien


[0] http://wiki.debian.org/SELinux
[1] http://etbe.blogspot.com/2006/12/se-linux-on-debian-in-5-minutes.html



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Julien Valroff
Le #9537581
Le dimanche 01 avril 2007 à 08:59 +0200, Julien Valroff a écrit :
Bonjour,

Je fais mes premiers pas avec SElinux sous un système Etch à jour.
J'ai suivi les procédures décrites sur le [0]wiki et sur le [1]blog de
Russel Coker.

J'ai pour l'instant un problème avec NFS. Le daemon ne démarre pas si
j'active SElinux (echo 1 > /selinux/enforce):
# /etc/init.d/nfs-kernel-server restart
Stopping NFS kernel daemon: mountd nfsd.
Unexporting directories for NFS kernel daemon....
mount: block device nfsd is write-protected, mounting read-only
mount: cannot mount block device nfsd read-only
Exporting directories for NFS kernel daemon....
Starting NFS kernel daemon: nfsd mountd.


[...]

Problème résolu grâce à nfs_selinux(8), bien caché celui là ;-)
# setsebool -P nfs_export_all_rw 1
# /etc/init.d/nfs-kernel-server restart
Stopping NFS kernel daemon: mountd nfsd.
Unexporting directories for NFS kernel daemon....
mount: block device nfsd is write-protected, mounting read-only
mount: cannot mount block device nfsd read-only
Exporting directories for NFS kernel daemon....
Starting NFS kernel daemon: nfsd mountd.

@+
Julien



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme