Wichtige Kommandos

sestatus
Zeigt den Status von selinux an (erzwingung/permissiv, modus mls/targeting, ...)
setenforce,getenforce
setzt den Erwingungsmodus/Abfrage
ls -Z
zeigt zusätzliche SE-Attribute von Dateien an
ps axZ
zeigt SE-Attribute von Prozessen an
id -Z
zeigt die SE-Attribute des aktuellen nutzers an
chcon
ändert Securitycontext
Bsp:
chcon -R -v --type=httpd_sys_content_t --user=system_u /home/www
kurz:
chcon -R -v -t httpd_sys_content_t -u system_u /home/www

Nach [Redhat] überlebt die Änderung nicht das Relabeling des Filesystems

restorecon
setzt den Security-Kontext zurück (auf die des Verzeichnisses)
chcat
änder die Sicherheitskategorie, siehe MLS Wiki
runcon
startet ein Kommando in einem speziellen Kontext
(nutzt intern libselinux-API)
audit2allow
generiert Politiken aus logfiles
sealert
verarbeitet Logfiles - macht sie menschenlesbarer
auditd
Deamon, der die Sicherheit überwacht
seinfo
Abfrage einer Politik
Beispiel:
      seinfo  /etc/selinux/targeted/policy/policy.24
    
semanage
Policy Management: Konfiguration von Elementen der Politik wie login, users und ports.
Ein Port wie httpd_port_t muss der konkrete Wert 80 zugewiesen werden - dies macht semanage.
Beispiel für bischlauch:
semanage port -a -t bischlauch_port_t -p tcp 1027
Die Policy-Sourcen müssen dazu weder modifiziert noch recompiliert werden
semodule
Verwaltet die SELinux Policy-Module
semodule_package
baut ein SELinux-Policy-Module aus einem binärem Policy-Moduk und anderen Daten. Danach kann sie dann mit semodule geladen werden.

Analyse-Tools

apol
Anzeige der Policy
    apol /etc/selinux/targeted/policy/policy.24
   
seaudit
Gui zur Anzeige der Vorfälle
sesearch
sucht nach einer Regel in einer Policy
   sesearch -s staff_t -t user_home_dir_t -c dir -p write -A
   
seaudit-report --html /var/log/audit/audit.log > /tmp/log.html
setoubleshoot
benachrichtigt über Tasksymbol über durchgesetzte Beschränkungen und macht auf Anfrage Lösungsvorschläge zur Problembehebung [Wikipedia]
avcstat
zaählt Access Vector Cache Zugriffe

Politik-Entwicklung

sepolgen
sepolgen -t 2 /usr/bin/bischlauch
erzeugt bischlauch.{te,if,fc,sh}
Wenn man dies in /usr/share/selinux/devel/ macht, dann macht
       make
      
das bischlauch.pp, welches man mit
      semodule -i bischlauch.pp 
      
laden kann. (mit semodule -r bischlauch entfernt man das Modul weider)
Es wird aber ein Script bischlauch.sh erzeugt, welches das Modul baut und semodule -i aufruft.
selinux-polgengui
SLIDE eclipse-Plugin
zur Entwicklung von Politiken [Wikipedia]
Dokumentation
SLIDE-Remote muß auf der Zielmaschine laufen (default Port 7543)
checkmodule
prüft die Syntax und compiliert ein security policy modul in die binär-Repräsentation

Weitere Links

Toolübersicht