Wheezy SELinux: Module bauen

0

Sobald SELinux läuft, werden Verstöße gegen die Regeln in der Log-Datei /var/log/syslog protokolliert.

Aug 20 12:39:22 selinux-client kernel: [13.249632] type=1400 audit(1345459162.854:8): avc:
 denied  { search } for  pid=1777 comm="getty" name="/" dev=sda2 ino=2 scontext=system_u:system_r:getty_t:s0 tcontext=system_u:object_r:file_t:s0 tclass=dir

Hierbei kann es jedoch auch sein, dass Verstöße erkannt werden, die eigentlich keine sind, sondern nur als Verstoß erkannt wurde, weil es keine Regeln für diese Aktion gab.

Als Beispiel die oben genannte Meldung. Diese soll nun erlaubt werden. Dafür gibt es ein Tool Namens audit2allow, welches aus der Meldung ein entsprechendes Modul erstellt, dass anschließend geladen werden kann.

grep getty /var/log/syslog |audit2allow -m getty
 module getty 1.0;
 require {
 type file_t;
 type getty_t;
 class dir search;
 }
 #============= getty_t ==============
 allow getty_t file_t:dir search;

Dies war erstmal nur die Anzeige des Moduls, das Modul selbst kann dann wie folgt erstellt werden:

grep getty /var/log/syslog |audit2allow -M getty

Nun existiert in dem aktuellen Ordner eine Datei Namens getty.pp die installiert werden kann

Modul persistent installieren

semodule -i getty.pp

Modul wieder entfernen

semodule -r getty

Installierte Module auflisten

semodule -l
Teilen.

Über den Autor

Seit der Ausbildung zum Fachinformatiker Systemintegration (2002-2005) bei der DaimlerChrysler AG, beruflich im Bereich der E-Mail Kommunikation (Exchange, Linux) sowie des ActiveDirectory, mit entsprechenden Zertifizierungen (MCSE 2003, MCITP Ent.-Admin 2008, MCSE 2012, LPIC 1-3) tätig. Abgeschlossenes Studium zum Master of Science der IT-Management an der FOM sowie zertifizierter Datenschutzbeauftragter. Aktuell im Projektmanagement tätig.

Antworten