Product SiteDocumentation Site

7.3.5. Zoeken naar en het bekijken van weigeringen

Deze paragraaf neemt aan dat de setroubleshoot, setroubleshoot-server, en audit pakketten geinstalleerd zijn, en dat de auditd, rsyslogd, en setroubleshootd daemons draaien. Refereer naar Paragraaf 5.2, “Welk log bestand wordt gebruikt” voor informatie over het starten van deze daemons. Een aantal gereedschappen zijn beschikbaar voor het zoeken naar en bekijken van SELinux weigeringen, zoals ausearch, aureport, en sealert.
ausearch
Het audit pakket bevat ausearch. Uit de ausearch(8) manual pagina: "ausearch is een gereedschap dat de daemon logs kan onderzoeken voor gebeurtenissen gebaseerd op verscheidene zoek criteria"[16]. Het ausearch gereedschap heeft toegang tot /var/log/audit/audit.log, en moet daarom als de Linux root gebruiker uitgevoerd worden:
Zoeken naarCommando
alle weigeringen/sbin/ausearch -m avc
weigeringen voor vandaag/sbin/ausearch -m avc -ts today
weigeringen van de laatste 10 minuten/sbin/ausearch -m avc -ts recent
Om te zoeken naar SELinux weigeringen voor een bepaalde service, gebruik je de -c comm-naam optie, waarin comm-naam de naam van het programma is[17], bijvoorbeeld, httpd voor de Apache HTTP server, en smbd voor Samba:
/sbin/ausearch -m avc -c httpd
/sbin/ausearch -m avc -c smbd
Refereer naar de ausearch(8) manual pagina voor meer ausearch opties.
aureport
Het audit pakket bevat aureport. Uit de aureport(8) manual pagina: "aureport is een gereedschap dat samenvattingsrapporten maakt van de systeem logs"[18]. Het aureport gereedschap heeft toegang tot /var/log/audit/audit.log, en moet daarom als de Linux root gebruiker uitgevoerd worden. Om een lijst te zien van SELinux weigeringen en hoe vaak ze zijn voorgekomen, voer je het aureport -a commando uit. Het volgende is een vorbeeld output die twee weigeringen bevat:
# /sbin/aureport -a

AVC Report
========================================================
# date time comm subj syscall class permission obj event
========================================================
1. 05/01/2009 21:41:39 httpd unconfined_u:system_r:httpd_t:s0 195 file getattr system_u:object_r:samba_share_t:s0 denied 2
2. 05/03/2009 22:00:25 vsftpd unconfined_u:system_r:ftpd_t:s0 5 file read unconfined_u:object_r:cifs_t:s0 denied 4
Refereer naar de aureport(8) manual pagina voor meer aureport opties.
sealert
Het setroubleshoot-server pakket bevat sealert, welke weigerings boodschappen leest die vertaald zijn door setroubleshoot-server. Weigeringen krijgen ID's toegekend, zoals te zien in /var/log/messages. Het volgende is een voorbeeld weigering van messages:
setroubleshoot: SELinux is preventing httpd (httpd_t) "getattr" to /var/www/html/file1 (samba_share_t). For complete SELinux messages. run sealert -l 84e0b04d-d0ad-4347-8317-22e74f6cd020
In dit voorbeeld is de ID van de weigering 84e0b04d-d0ad-4347-8317-22e74f6cd020. De -l optie neemt een ID als argument. Het uitvoeren van het sealert -l 84e0b04d-d0ad-4347-8317-22e74f6cd020 commando laat een gedetaileerde analyse zien waarom SELinux toegang weigerde, en een mogelijke oplossing om toegang toe te staan.
Als je het X Window systeen draait, je de setroubleshoot en setroubleshoot-server pakketten geinstalleerd hebt, en de setroubleshootd en auditd daemons draaien, worden een gele ster en een waarschuwing getoond als toegang geweigerd wordt door SELinux. Het klikken op de ster start de sealert GUI, en laat de weigeringen zien in HTML output:
Refereer naar de sealert(8) manual pagina voor meer sealert opties.


[16] Van de ausearch(8) manual pagina, zoals verstuurd met het audit pakket in Fedora 11.

[17] Van de ausearch(8) manual pagina, zoals verstuurd met het audit pakket in Fedora 11.

[18] Uit de aureport(8) manual pagina, zoals verstuurd met het audit pakket in Fedora 11.