Zum Inhalt springen

Linux/SELinux/04/11 Informationsbeschaffung

Aus Foxwiki

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;

erlaube staff_r webadm_r;

erlaube unconfined_r system_r;
erlaube system_r unconfined_r;
erlaube system_r user_r;
erlaube webadm_r system_r;
erlaube system_r webadm_r;
erlaube 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