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.
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"[]. Het ausearch gereedschap heeft toegang tot /var/log/audit/audit.log, en moet daarom als de Linux root gebruiker uitgevoerd worden:
| Zoeken naar | Commando |
|---|
| 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[], 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.
Het audit pakket bevat aureport. Uit de aureport(8) manual pagina: "aureport is een gereedschap dat samenvattingsrapporten maakt van de systeem logs"[]. 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.
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:
Voer het sealert -b commando uit om de sealert GUI op te starten.
Voer het sealert -l \* commando uit om een gedetaileerde analyse van alle weigeringen te zien.
Als de Linux root gebruiker voer je het sealert -a /var/log/audit/audit.log -H > audit.html commando uit om een HTML versie te maken van de sealert analyse, zoals te zien is met de sealert GUI.
Refereer naar de sealert(8) manual pagina voor meer sealert opties.