Product SiteDocumentation Site

7.3.6. Ruwe audit boodschappen

Ruwe audit boodschappen worden gelogd naar /var/log/audit/audit.log. Het volgende is een voorbeeld AVC weigering (en de bijbehorende systeem aanroep) die optrad toen de Apache HTTP server (draaiende in het httpd_t domein) probeerde om toegang te krijgen tot het /var/www/html/file1 bestand (gelabeld met het samba_share_t type):
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

type=SYSCALL msg=audit(1226874073.147:96): arch=40000003 syscall=196 success=no exit=-13 a0=b98df198 a1=bfec85dc a2=54dff4 a3=2008171 items=0 ppid=2463 pid=2465 auid=502 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=6 comm="httpd" exe="/usr/sbin/httpd" subj=unconfined_u:system_r:httpd_t:s0 key=(null)
{ getattr }
Het item tussen accolades geeft het recht aan dat geweigerd was. getattr geeft aan dat het bron proces probeerde om de status informatie van het doel bestand te lezen. Dit treedt op voor het lezen van bestanden. Deze actie is geweigerd omdat toegang werd geprobeerd naar het bestand dat een verkeerd label had. Vaak geziene rechten zijn getattr, read, en write.
comm="httpd"
Het programma dat het proces heeft opgestart. Het volledige pad van het programma wordt gevonden in de exe= sectie van de systeem aanroep (SYSCALL) boodschap, welke in dit geval exe="/usr/sbin/httpd" is.
path="/var/www/html/file1"
Het pad naar het object (doel) waar het proces toegang naar probeerde te krijgen.
scontext="unconfined_u:system_r:httpd_t:s0"
De SELinux context van het proces dat de geweigerde actie probeerde uit te voeren. In dit geval is het de SELinux context van de Apache HTTP server, welke draait in het httpd_t domein.
tcontext="unconfined_u:object_r:samba_share_t:s0"
De SELinux context van het object (doel) waarnaar het proces toegang probeerde te krijgen. In dit geval is het de SELinux context van file1. Merk op: het samba_share_t type is niet bereikbaar voor processen die draaien in het httpd_t domein.
In bepaalde situaties kan de tcontext overeenkomen met de scontext, bijvoorbeeld, als een proces probeert een systeem service uit te voeren dat de eigenschappen van dat draaiende proces zal veranderen, zoals een gebruikers ID. Ook kan de tcontext overeenkomen met de scontext als een proces probeert meer hulpbronnen (zoals geheugen) te gebruiken dan de normale limieten toestaan, wat resulteert in een beveiligings controle om te zien of dat proces gemachtigd is om die limieten te doorbreken.
Van de systeem aanroep (SYSCALL) boodachap, zijn twee items interessant:
Een foutief bestandstype is een veel voorkomende oorzaak voor het weigeren van toegang door SELinux. Om te beginnen met foutzoeken, vergelijk je de bron context (scontext) met de doel context (tcontext). Moet het proces (scontext) toegang hebben tot zo'n object (tcontext)? Bijvoorbeeld, de Apache HTTP server (httpd_t) moet alleen toegang hebben tot types gespecificeerd in de httpd_selinux(8) manual pagina, zoals httpd_sys_content_t, public_content_t, enzovoort, behalve als iets anders ingesteld was.