Revision 1 as of 2009-03-20 17:33:48

Clear message

== SELinux auf SL5 ===

Informationen über das laufende System erhalten

# SELinux modus
getenforce

# man pages
man selinux
man <daemon>_selinux # <daemon> = ftpd, httpd, kerberos, named, nfs, nis, pam, rsync, samba, ypbind

# file contexts
ls -lZ <filename>

# patterns of file names with known contexts (do not edit!!!)
/etc/selinux/targeted/contexts/files/file_contexts

# process contexts
ps -auxwwZ

# a list of defined and installed policy files
ls /usr/share/selinux/targeted

Filekontext ändern

Am sinnvollsten ist es, einen von einer Policy vorgegebenen Ort der Datei/Directory zu wählen und den Kontext entsprechend der Policy zu setzen:

# prüfen, ob Kontext ok
ls -lZ <filename>
# Kontext auf Standardwert setzen
restorecon <filename>
# Kontext ändern (meistens Typ, aber auch Rolle (-r) oder user (-u))
chcon -t <neuer typ> <filename>
# Kontext permanent ändern
semanage ...

Neue Policy erzeugen

zur Ergänzung bestehender Policies können die avc denied Meldungen benutzt werden, um eine neue Policy zu erzeugen. Beispiel: nur die letzten 500 Zeilen aus dem Logfile mit avc denied Meldungen berücksichtigen:

tail -n 500 /var/log/messages|audit2allow -M mymodule
semodule -i mymodule.pp

Achtung: keine Modulnamen benutzen, die schon existieren (s.o.) Diese Prozedur muss evtl. so lange wiederholt werden, bis keine Fehlermeldungen mehr kommen. Es gibt aber auch avc denied Meldungen, die keine Funktionseinschränkungen bewirken.

Beispiel: Mar 15 18:47:36 bonnie-vm2 kernel: audit(1237139256.559:6364): avc: denied { getattr } for pid=21887 comm="postdrop" path="pipe:[21412767]" dev=pipefs ino=21412767 scontext=root:system_r:postfix_postdrop_t:s0 tcontext=root:syste m_r:httpd_t:s0 tclass=fifo_file

Diese Meldungen kann man mit ... unterdrücken.

(wird fortgesetzt)