Linux/SELinux/04/11 Informationsbeschaffung
Linux/SELinux/04/11 Informationsbeschaffung
Tools zur Informationsbeschaffung
Die unten aufgeführten Dienstprogramme sind Befehlszeilentools, die gut formatierte Informationen liefern, wie beispielsweise Statistiken zum Access Vector Cache oder die Anzahl der Klassen, Typen oder Booleschen Werte
avcstat
Dieser Befehl liefert eine kurze Ausgabe der Access Vector Cache-Statistiken seit dem Systemstart
- Sie können die Statistiken in Echtzeit verfolgen, indem Sie ein Zeitintervall in Sekunden angeben
- Dies liefert aktualisierte Statistiken seit der ersten Ausgabe
- Die verwendete Statistikdatei ist /sys/fs/selinux/avc/cache_stats, und Sie können mit der Option -f /Pfad/zur/Datei
sudo avcstat
Lookups Hits Misses Allocs Reclaims Frees
47517410 47504630 12780 12780 12176 12275
seinfo
Dieses Dienstprogramm ist nützlich, um die Aufschlüsselung einer Richtlinie zu beschreiben, wie z. B. die Anzahl der Klassen, Typen, Booleschen Werte, Zulassungsregeln und andere. seinfo ist ein Kommandozeilen-Dienstprogramm, das eine policy.conf-Datei, eine binäre Richtliniendatei, eine modulare Liste von Richtlinienpaketen oder eine Richtlinienlistendatei als Eingabe verwendet
- Sie müssen das Paket setools-console installiert haben, um das Dienstprogramm seinfo nutzen
Die Ausgabe von seinfo variiert zwischen Binär- und Quelldateien
- Beispielsweise verwendet die Richtlinienquelldatei die Klammern { } , um mehrere Regelelemente in einer einzigen Zeile zu gruppieren
- Ein ähnlicher Effekt tritt bei Attributen auf, bei denen sich ein einzelnes Attribut in einen oder mehrere Typen auflöst
- Da diese aufgelöst werden und in der binären Richtlinien-Datei nicht mehr relevant sind, haben sie in den Suchergebnissen den Rückgabewert Null
- Die Anzahl der Regeln steigt jedoch erheblich an, da jede ehemals einzeilige Regel, die Klammern nun aus mehreren einzelnen Zeilen besteht
Einige Elemente sind in der binären Richtlinie nicht vorhanden
- Beispielsweise werden neverallow-Regeln nur während der Kompilierung der Richtlinie überprüft, nicht zur Laufzeit, und anfängliche Sicherheitskennungen (SIDs) sind nicht Teil der binären Richtlinie, da sie erforderlich sind, bevor die Richtlinie beim Booten vom Kernel geladen wird
sudo seinfo
Statistiken zur Richtliniendatei /sys/fs/selinux/policy
Richtlinienversion & Typ v.28 (binär, mls)
Klassen 77 Berechtigungen 229
Sensitivitäten 1 Kategorien 1024
Typen 3001 Attribute 244
Benutzer 9 Rollen 13
Boolesche Werte 158 Cond Ausdrücke 193
Zulassen 262796 Niemals zulassen 0
Audit zulassen 44 Kein Audit 156710
Typ_trans 10760 Typ_change 38
Typ_member 44 Rolle zulassen 20
Rolle_trans 237 Bereich_trans 2546
Einschränkungen 62 Validatetrans 0
Anfängliche SIDs 27 Fs_use 22
Genfscon 82 Portcon 373
Netifcon 0 Nodecon 0
Permissives 22 Polcap 2
Das Dienstprogramm seinfo kann auch die Anzahl der Typen mit dem Attribut „domain“ auflisten und so eine Schätzung der Anzahl verschiedener eingeschränkter Prozesse liefern
sudo seinfo -adomain -x | wc -l
550
Nicht alle Domänentypen sind eingeschränkt
- Um die Anzahl der nicht eingeschränkten Domänen anzuzeigen, verwenden Sie das Attribut unconfined_domain
sudo seinfo -aunconfined_domain_type -x | wc -l
52
Permissive Domänen können mit der Option --permissive gezählt werden
sudo seinfo --permissive -x | wc -l
31
Entfernen Sie den zusätzlichen wc -l aus den obigen Befehlen, um die vollständigen Listen anzuzeigen
sesearch
Sie können das Dienstprogramm sesearch verwenden, um nach einer bestimmten Regel in der Richtlinie zu suchen
- Es ist möglich, entweder die Quelldateien der Richtlinie oder die Binärdatei zu durchsuchen
- Zum Beispiel
sesearch --role_allow -t httpd_sys_content_t
20 Regeln für die Zulassung von Rollen gefunden
allow system_r sysadm_r;
allow sysadm_r system_r;
allow sysadm_r staff_r;
allow sysadm_r user_r;
allow system_r git_shell_r;
allow system_r guest_r;
allow logadm_r system_r;
allow system_r logadm_r;
allow system_r nx_server_r;
allow system_r staff_r;
allow staff_r logadm_r;
allow staff_r sysadm_r;
allow staff_r unconfined_r;
allow staff_r webadm_r;
allow unconfined_r system_r;
allow system_r unconfined_r;
allow system_r user_r;
allow webadm_r system_r;
allow system_r webadm_r;
allow system_r xguest_r;
Das Dienstprogramm sesearch kann die Anzahl der allow-Regeln anzeigen
sudo sesearch --allow | wc -l
262798
Und die Anzahl der dontaudit-Regeln
sudo sesearch --dontaudit | wc -l
156712