Zum Inhalt springen

Linux/SELinux/04/11 Informationsbeschaffung: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „SELinux/DOC“ durch „SELinux“
Keine Bearbeitungszusammenfassung
Zeile 6: Zeile 6:
* Sie können die Statistiken in Echtzeit verfolgen, indem Sie ein Zeitintervall in Sekunden angeben
* Sie können die Statistiken in Echtzeit verfolgen, indem Sie ein Zeitintervall in Sekunden angeben
* Dies liefert aktualisierte Statistiken seit der ersten Ausgabe
* 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]]
* Die verwendete Statistikdatei ist ''/sys/fs/selinux/avc/cache_stats'', und Sie können mit der Option ''-f /Pfad/zur/Datei''


sudo avcstat
<syntaxhighlight lang="bash" highlight="" copy line>
Lookups Hits Misses Allocs Reclaims Frees
sudo avcstat
47517410 47504630 12780 12780 12176 12275
Lookups Hits Misses Allocs Reclaims Frees
47517410 47504630 12780 12780 12176 12275
</syntaxhighlight>


==== seinfo ====
==== 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
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
* Sie müssen das Paket setools-console installiert haben, um das Dienstprogramm ''seinfo'' nutzen


Die Ausgabe von [[seinfo]] variiert zwischen Binär- und Quelldateien
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
* 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
* 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
* 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
Zeile 24: Zeile 26:
Einige Elemente sind in der binären Richtlinie nicht vorhanden
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
* 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
 
<syntaxhighlight lang="bash" highlight="" copy line>
sudo seinfo
sudo seinfo


Statistiken zur Richtliniendatei
Statistiken zur Richtliniendatei /sys/fs/selinux/policy
/sys/fs/selinux/policy
Richtlinienversion & Typ v.28 (binär, mls)
Richtlinienversion & Typ
v.28 (binär, mls)


Klassen
Klassen               77   Berechtigungen         229
77 Berechtigungen
Sensitivitäten         1   Kategorien           1024
229
Typen               3001   Attribute             244
Sensitivitäten
Benutzer               9   Rollen                 13
1 Kategorien
Boolesche Werte     158   Cond Ausdrücke         193
1024
Zulassen         262796   Niemals zulassen         0
Typen
Audit zulassen       44   Kein Audit         156710
3001 Attribute
Typ_trans         10760   Typ_change             38
244
Typ_member           44   Rolle zulassen         20
Benutzer
Rolle_trans         237   Bereich_trans         2546
9 Rollen
Einschränkungen       62   Validatetrans           0
13
Anfängliche SIDs     27   Fs_use                 22
Boolesche Werte
Genfscon             82   Portcon               373
158 Cond
Netifcon               0   Nodecon                 0
* Ausdrücke
Permissives           22   Polcap                   2
193
</syntaxhighlight>
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
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
<syntaxhighlight lang="bash" highlight="" copy line>
sudo seinfo -adomain -x | wc -l
sudo seinfo -adomain -x | wc -l
550
550
</syntaxhighlight>


Nicht alle Domänentypen sind eingeschränkt
Nicht alle Domänentypen sind eingeschränkt
* Um die Anzahl der nicht eingeschränkten Domänen anzuzeigen, verwenden Sie das Attribut [[unconfined_domain]]
* Um die Anzahl der nicht eingeschränkten Domänen anzuzeigen, verwenden Sie das Attribut ''unconfined_domain''
sudo seinfo -aunconfined_domain_type -x | wc -l
<syntaxhighlight lang="bash" highlight="" copy line>
52
sudo seinfo -aunconfined_domain_type -x | wc -l
52
</syntaxhighlight>


Permissive Domänen können mit der Option [[--permissive]] gezählt werden
Permissive Domänen können mit der Option ''--permissive'' gezählt werden
sudo seinfo --permissive -x | wc -l
<syntaxhighlight lang="bash" highlight="" copy line>
31
sudo seinfo --permissive -x | wc -l
31
</syntaxhighlight>


Entfernen Sie den zusätzlichen [ [ wc -l]] aus den obigen Befehlen, um die vollständigen Listen anzuzeigen
Entfernen Sie den zusätzlichen ''wc -l'' aus den obigen Befehlen, um die vollständigen Listen anzuzeigen


==== sesearch ====
==== sesearch ====
Sie können das Dienstprogramm [[sesearch]] verwenden, um nach einer bestimmten Regel in der Richtlinie zu suchen
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
* Es ist möglich, entweder die Quelldateien der Richtlinie oder die Binärdatei zu durchsuchen
* Zum Beispiel
* Zum Beispiel
sesearch --role_allow -t httpd_sys_content_t
<syntaxhighlight lang="bash" highlight="" copy line>
20 Regeln für die Zulassung von Rollen gefunden
sesearch --role_allow -t httpd_sys_content_t
allow system_r sysadm_r;
20 Regeln für die Zulassung von Rollen gefunden
allow sysadm_r system_r;
allow system_r sysadm_r;
allow sysadm_r staff_r;
allow sysadm_r system_r;
allow sysadm_r user_r;
allow sysadm_r staff_r;
allow system_r git_shell_r;
allow sysadm_r user_r;
allow system_r guest_r;
allow system_r git_shell_r;
allow logadm_r system _r;
allow system_r guest_r;
allow system_r logadm_r;
allow logadm_r system_r;
allow system_r nx_server_r;
allow system_r logadm_r;
allow system_r staff_r;
allow system_r nx_server_r;
allow staff_r logadm_r;
allow system_r staff_r;
allow staff_r sysadm_r;
allow staff_r logadm_r;
allow staff_r unconfined_r;
allow staff_r sysadm_r;
allow staff_r unconfined_r;
erlaube staff_r webadm_r;
allow staff_r webadm_r;
erlaube unconfined_r system_r;
allow unconfined_r system_r;
erlaube system_r unconfined_r;
allow system_r unconfined_r;
erlaube system_r user_r;
allow system_r user_r;
erlaube webadm_r system_r;
allow webadm_r system_r;
erlaube system_r webadm_r;
allow system_r webadm_r;
erlaube system_r xguest_r;
allow system_r xguest_r;
 
</syntaxhighlight>
Das Dienstprogramm [[sesearch]] kann die Anzahl der ‚'allow‘'-Regeln anzeigen
sudo sesearch --allow | wc -l
262798


Und die Anzahl der 'dontaudit‘'-Regeln
Das Dienstprogramm ''sesearch'' kann die Anzahl der ''allow''-Regeln anzeigen
sudo sesearch --dontaudit | wc -l
<syntaxhighlight lang="bash" highlight="" copy line>
156712
sudo sesearch --allow | wc -l
262798
</syntaxhighlight>


Und die Anzahl der ''dontaudit''-Regeln
<syntaxhighlight lang="bash" highlight="" copy line>
sudo sesearch --dontaudit | wc -l
156712
</syntaxhighlight>
[[Kategorie:Linux/SELinux/04]]
[[Kategorie:Linux/SELinux/04]]

Version vom 28. März 2026, 17:45 Uhr

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