Zum Inhalt springen

Linux/SELinux/04/11 Informationsbeschaffung

Aus Foxwiki
Version vom 31. März 2026, 10:59 Uhr von Dirkwagner (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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