Linux/SELinux/Tools: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| (25 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
'''[[Linux/SELinux/Tools]]''' | '''[[Linux/SELinux/Tools]]''' | ||
== | == Werkzeuge == | ||
Neben den offiziellen SELinux-Werkzeugen existieren zahlreiche nützliche Werkzeuge, die das Arbeiten mit SELinux erleichtern | |||
{| class="wikitable options big" | |||
! Tool !! Beschreibung | |||
|- | |||
| [[setroubleshoot]] || benachrichtigt über ein Task-Symbol über durchgesetzte Beschränkungen von Programmen und stellt auf Anfrage zusätzliche Informationen wie auch mögliche Lösungsvorschläge bereit, um das Problem zu beheben | |||
|- | |||
| [[SLIDE]] || ist eine [[Integrierte Entwicklungsumgebung|IDE]] für die Entwicklung der Richtlinie, die in Form einer [[Eclipse (IDE)|Eclipse]]-Erweiterung veröffentlicht wird | |||
|- | |||
| [[apol]] || ist für die Analyse von Richtlinien zuständig | |||
|} | |||
== | == Analyse == | ||
Analysewerkzeuge dienen in erster Linie dazu, die Kernel-Richtlinie (entweder die auf der Festplatte gespeicherte Richtliniendatei oder die im Arbeitsspeicher des Kernels befindliche Richtlinie über /sys/fs/selinux/policy) auf bestimmte Kriterien hin zu analysieren, beispielsweise den Informationsfluss. | |||
* Diese Werkzeuge bilden die Grundlage, auf der wir Aussagen über die Sicherheitseigenschaften eines SELinux-Systems treffen können. | |||
* Sie werden auf Entwicklungssystemen benötigt, die zur Analyse einer Zielrichtlinie verwendet werden, und sind auf Produktionssystemen selten installiert. | |||
{| class="wikitable big options" | |||
!Name des Tools | |||
!Beschreibung | |||
!Paket | |||
|- | |||
|[[apol]] | |||
|führt zahlreiche Analysen der Zielrichtlinie durch, darunter Domänenübergänge, Informationsfluss, Standardabfragen, Dateisystemanalyse und so weiter | |||
|setools-gui | |||
|- | |||
|[[sechecker]] | |||
|konfigurationsgesteuerte automatisierte Richtlinienanalyse | |||
|setools-console | |||
|- | |||
|[[sediff]] | |||
|führt eine semantische Differenzanalyse zwischen zwei Richtlinien durch | |||
|setools-console | |||
|- | |||
|[[sedta]] | |||
|führt eine Domänenübergangsanalyse für eine Richtlinie durch | |||
|setools-console-analyses | |||
|- | |||
|[[seinfo]] | |||
|abfragt die Komponenten einer SELinux-Richtlinie | |||
|setools-console | |||
|- | |||
|[[seinfoflow]] | |||
|Durchführung einer Informationsflussanalyse für eine Richtlinie | |||
|setools-console-analyses | |||
|- | |||
|[[sesearch]] | |||
|Durchsuchen einer Richtliniendatei nach verschiedenen Richtlinienregeln oder Komponenten wie Zulassungsregeln, Symbolen usw. | |||
|setools-console | |||
|} | |||
== | == Erstellungszeit == | ||
{| class="wikitable | Werkzeuge für die Erstellungszeit werden beim Erstellen einer Richtlinie aus dem Quellcode in Module oder eine monolithische Kernel-Richtlinie verwendet. | ||
* Sie sind auf Systemen erforderlich, die Richtlinien aus dem Quellcode erstellen sollen, einschließlich Produktionssystemen, die Tools wie audit2allow verwenden, um zur Laufzeit neue Richtlinienregeln hinzuzufügen. | |||
* Auf typischen Endsystemen, die nicht von Entwicklern genutzt werden, sind sie nicht erforderlich. | |||
{| class="wikitable big options" | |||
!Tool-Name | |||
!Beschreibung | |||
!Paket | |||
|- | |||
|[[checkmodule]] | |||
|Kompilieren eines binären Richtlinienmoduls aus einer Modul-Quelldatei | |||
|checkpolicy | |||
|- | |||
|[[checkpolicy]] | |||
|Kompiliert eine Kernel-Richtlinie aus einer Richtlinien-Quelldatei | |||
|checkpolicy | |||
|- | |- | ||
|[[semodule_package]] | |||
|Erstellt ein binäres Richtlinienpaket aus einem binären Modul und optional null oder mehr der Dateien file contexts, seusers, user_extra und/oder netfilter_contexts | |||
|semodule-utils (Upstream) oder policycoreutils (Fedora) | |||
|- | |- | ||
| || | |[[semodule_unpackage]] | ||
|Extrahieren des binären Policy-Moduls und optional der Datei „file contexts“ aus einem binären Policy-Paket | |||
|semodule-utils (Upstream) oder policycoreutils (Fedora) | |||
|- | |- | ||
|[[secilc]] | |||
|Kompilieren einer binären Kernel-Policy aus einem Common Intermediate Language (CIL)-Policy-Modul | |||
|secilc | |||
|} | |} | ||
== | == Entwicklung == | ||
Entwicklungswerkzeuge werden beim Schreiben oder Debuggen von SELinux-Richtlinien verwendet und werden in der Regel während der Entwicklung und des Testens auf Entwicklungs- oder Endsystemen installiert. | |||
* Einige Werkzeuge richten sich eher an typische Endbenutzer, während andere eher für erfahrene Kernel- oder Richtlinienentwickler gedacht sind. | |||
{| class="wikitable options | * Beispielsweise kann audit2allow von typischen Endbenutzern verwendet werden, um Richtlinien aus Audit-Meldungen zu erstellen, während sedispol im Allgemeinen nur von Kernel- oder Richtlinienentwicklern genutzt wird, um bestimmte Komponenten einer Kernel-Richtlinie zu untersuchen. | ||
{| class="wikitable big options" | |||
!Werkzeugname | |||
!Beschreibung | |||
!Paket | |||
|- | |- | ||
|[[audit2allow]] | |||
|Erzeugt Zulassungsregeln aus SELinux-AVC-Audit-Meldungen | |||
|selinux-python (Upstream) oder policycoreutils-python-utils (Fedora) | |||
|- | |- | ||
| | |[[audit2why]] | ||
|Diagnose der Ursache von SELinux-AVC-Audit-Meldungen mittels Richtlinienanalyse | |||
|selinux-python (Upstream) oder policycoreutils-python-utils (Fedora) | |||
|- | |- | ||
| | |[[dismod]] | ||
|Abfrage verschiedener Teile eines kompilierten Richtlinienmoduls oder Richtlinienpakets | |||
|checkpolicy (als sedismod in Fedora) | |||
|- | |||
|[[dispol]] | |||
|Abfrage verschiedener Teile einer kompilierten Kernel-Richtlinie | |||
|checkpolicy (als sedispol in Fedora) | |||
|- | |||
|[[getconlist]] | |||
|Auflistung aller SELinux-Kontexte, die für den angegebenen Benutzer vom aktuellen oder angegebenen Kontext aus erreichbar sind | |||
|libselinux-utils (als selinuxconlist in Fedora) | |||
|- | |||
|[[getdefaultcon]] | |||
|Anzeige des Standard-SELinux-Kontexts für den angegebenen Benutzer vom angegebenen Kontext aus | |||
|libselinux-utils (als selinuxdefcon in Fedora) | |||
|- | |||
|[[getpolicyload]] | |||
|Zeigt die maximale vom Kernel zum Laden unterstützte Richtlinienversion an | |||
|libselinux-utils | |||
|- | |||
|[[matchpathcon]] | |||
|Abfrage der aktiven Datei „file_contexts“, um zu ermitteln, wie ein bestimmter Pfad gekennzeichnet werden soll | |||
|libselinux-utils | |||
|- | |||
|[[selabel_compare]] | |||
|vergleicht zwei Label-Konfigurationsdateien | |||
|libselinux-utils | |||
|- | |||
|[[selabel_digest]] | |||
|berechnet Digests für eine Label-Konfiguration | |||
|libselinux-utils | |||
|- | |||
|[[selabel_get_digests_all_partial_matches]] | |||
|vergleicht das Verzeichnis-Digest-xattr mit dem Digest aus der Label-Konfiguration | |||
|libselinux-utils | |||
|- | |||
|[[selabel_lookup]] | |||
|Nachschlagen des Labels für einen bestimmten Schlüssel in einer Label-Konfiguration | |||
|libselinux-utils | |||
|- | |||
|[[selabel_lookup_best_match]] | |||
|Nachschlagen des am besten passenden Kontexts für einen Pfad mit mehreren Verknüpfungen | |||
|libselinux-utils | |||
|- | |||
|[[selabel_partial_match]] | |||
|Feststellen, ob eine Teilübereinstimmung für einen Pfad möglich ist | |||
|libselinux-utils | |||
|- | |||
|[[selinuxexeccon]] | |||
|Anzeige des SELinux-Kontexts, der für eine ausführbare Datei aus dem aktuellen oder angegebenen Kontext verwendet würde | |||
|libselinux-utils | |||
|- | |||
|[[selinux-polgengui]] | |||
|GUI zur Erzeugung von Richtlinien | |||
|selinux-gui (Upstream) oder policycoreutils-gui (Fedora) | |||
|- | |||
|[[selinux_check_access]] | |||
|prüft, ob die angegebene Berechtigung zulässig ist | |||
|libselinux-utils | |||
|- | |||
|[[semodule_expand]] | |||
|erweitert ein Basis-Policy-Modul zu einer Kernel-Policy | |||
|semodule-utils (Upstream) oder policycoreutils (Fedora) | |||
|- | |||
|[[semodule_link]] | |||
|eine Liste von Richtlinienmodulen miteinander verknüpfen | |||
|semodule-utils (Upstream) oder policycoreutils (Fedora) | |||
|- | |||
|[[sepolgen]] | |||
|ein Richtlinienmodul generieren | |||
|selinux-python (Upstream) oder policycoreutils-devel (Fedora) | |||
|- | |||
|[[sepolgen-ifgen]] | |||
|Erzeugt die Schnittstellendatei, die audit2allow verwendet, um Schnittstellen bei der Generierung von Policy-Modulen im refpolicy-Stil mit Regeln abzugleichen | |||
|selinux-python (Upstream) oder policycoreutils-devel (Fedora) | |||
|- | |||
|[[sepolicy]] | |||
|Frontend zum Überprüfen oder Generieren von Policies | |||
|selinux-python (Upstream) oder policycoreutils-devel (Fedora) | |||
|- | |||
|[[validatetrans]] | |||
|Überprüft einen Kontextwechsel auf Übereinstimmung mit der Richtlinie | |||
|libselinux-utils | |||
|} | |} | ||
== | == Neulabelung == | ||
Neulabelungs-Tools werden verwendet, um Dateien anhand verschiedener Arten von Eingaben neu zu labeln. | |||
* Einige Tools nehmen einfach einen Kontext entgegen, während andere die aktive Datei „file_contexts“ auf dem System abfragen. | |||
* Einige sind in der Lage, die Paketdaten der verwendeten Distribution zu überprüfen, um eine Liste der neu zu labelnenden Dateien zu erhalten. | |||
* Nicht in dieser Liste enthalten ist das Init-Skript oder die systemd-Unit-Datei, die auf einigen Systemen verwendet wird, um ein Dateisystem bei Bedarf automatisch beim Systemstart neu zu kennzeichnen. | |||
{| class="wikitable big options" | |||
!Tool-Name | |||
!Beschreibung | |||
!Paket | |||
|- | |||
|[[chcon]] | |||
|Ändert den Kontext oder einen Teil eines Kontexts einer Datei | |||
|coreutils | |||
|- | |||
|[[chcat]] | |||
|Ändert die Kategorien einer Datei oder die autorisierten Kategorien für einen Benutzer | |||
|selinux-python (Upstream) oder policycoreutils-python-utils (Fedora) | |||
|- | |||
|[[fixfiles]] | |||
|Korrigiert Dateikennzeichnungen basierend auf aktiven policy file_contexts-Dateien | |||
|policycoreutils | |||
|- | |||
|[[rlpkg]] | |||
|Kennzeichnet Dateien neu basierend auf Gentoo-Paketen (Gentoo-spezifisch) | |||
|gentoo | |||
|- | |||
|[[restorecon]] | |||
|Stellt Dateien in den durch die file_contexts-Dateien festgelegten Kontexten wieder her | |||
|policycoreutils | |||
|- | |||
|[[restorecond]] | |||
|Daemon, der auf neu erstellte Dateien achtet und diese zur Laufzeit kennzeichnet | |||
|restorecond (Upstream) oder policycoreutils-restorecond (Fedora) | |||
|- | |||
|[[setfiles]] | |||
|Dateien basierend auf der file_contexts-Konfiguration neu kennzeichnen oder die Gültigkeit von file_contexts anhand der Binärrichtlinie überprüfen | |||
|policycoreutils | |||
|} | |||
== Laufzeit == | |||
Laufzeit-Tools werden zur Laufzeit auf Endsystemen verwendet, um das Laufverhalten von SELinux zu ändern oder anzuzeigen. | |||
* Einige sind möglicherweise nicht auf Endsystemen installiert, wie z. B. setroubleshootd (nur erforderlich, wenn Endbenutzer Benachrichtigungen über und Hilfe bei Richtlinienverweigerungen benötigen), system-config-selinux (nur erforderlich, wenn eine GUI zur Verwaltung von SELinux benötigt wird) und mctransd (nur erforderlich auf Systemen, die MCS/MLS-Konfigurationen zur Übersetzung von Labels in lesbare Form benötigen). | |||
* Diese drei Werkzeuge sollten auf Systemen, die sie nicht benötigen, weggelassen werden. | |||
{| class="wikitable big options" | |||
!Tool-Name | |||
!Beschreibung | |||
!Paket | |||
|- | |||
|[[avcstat]] | |||
|liefert Statistiken zum Zugriffsvektor-Cache im Kernel, wie z. B. Anzahl der Suchvorgänge, Treffer und Fehltreffer | |||
|libselinux-utils | |||
|- | |||
|[[genhomedircon]] | |||
|Erzeugt Dateikontexte für Benutzer-Home-Verzeichnisse basierend auf Vorlagen-Dateikontexten (HOMEDIR, HOMEROOT usw.) | |||
|policycoreutils | |||
|- | |||
|[[getenforce]] | |||
|Ruft den Durchsetzungsstatus des Kernel-Zugriffsvektor-Caches ab | |||
|libselinux-utils | |||
|- | |||
|[[getsebool]] | |||
|Ruft den aktuellen Status eines SELinux-Booles im SELinux-Sicherheitsserver ab | |||
|libselinux-utils | |||
|- | |||
|[[load_policy]] | |||
|Lädt die aktive Kernel-Richtlinie | |||
|policycoreutils | |||
|- | |||
|[[mcstransd]] | |||
|Daemon, der Übersetzungen für Ebenen und Kategorien bereitstellt | |||
|mcstrans | |||
|- | |||
|[[newrole]] | |||
|Ändert Ihre Rolle, Ihren Typ oder Ihre Stufe; erfordert eine erneute Authentifizierung; geeignet für die Verwendung durch Benutzerdomänen | |||
|policycoreutils | |||
|- | |||
|[[runcon]] | |||
|Führt einen Befehl mit einem angegebenen SELinux-Kontext aus; führt keine erneute Authentifizierung durch; geeignet für die Verwendung in Skripten, um einen Dienst in einer anderen Domäne auszuführen | |||
|coreutils | |||
|- | |||
|[[secon]] | |||
|Zeigt den vollständigen Kontext oder dessen Komponenten für ein angegebenes Objekt (Datei, Prozess, Schlüssel) an | |||
|policycoreutils | |||
|- | |||
|[[sefcontext_compile]] | |||
|Kompiliert Dateikontxtkonfigurationen zu einer Binärversion für eine schnellere Suche | |||
|libselinux-utils | |||
|- | |||
|[[selinuxenabled]] | |||
|Prüft, ob SELinux derzeit aktiviert ist | |||
|libselinux-utils | |||
|- | |||
|[[semanage]] | |||
|Verwaltet verschiedene Aspekte von SELinux, darunter Port-, Schnittstellen- und Knoten-Labeling, persistente Dateikontexte und boolesche Einstellungen, autorisierte Rollen und Ebenen für SELinux-Benutzer, autorisierte SELinux-Benutzer und Ebenen für Seusers (Login- oder Linux-Benutzer), MLS-Übersetzungen und permissive Typen | |||
|selinux-python (Upstream) oder policycoreutils-python-utils (Fedora) | |||
|- | |||
|[[semodule]] | |||
|Einfügen, Löschen und Auflisten von SELinux-Richtlinienmodulen auf dem laufenden System | |||
|policycoreutils | |||
|- | |||
|[[sestatus]] | |||
|Abrufen verschiedener Informationen zum Laufzustand von SELinux, einschließlich Aktivierungsstatus, Enforcing/Permissive, Richtlinienname und Kontexte verschiedener wichtiger Prozesse und Dateien | |||
|policycoreutils | |||
|- | |||
|[[setenforce]] | |||
|den Enforcing-Status des Kernel-Access-Vector-Caches festlegen | |||
|libselinux-utils | |||
|- | |- | ||
|[[setroubleshoot]] | |||
|ein Daemon, der auf Zugriffsverweigerungen achtet und Vorschläge zu deren Behebung anbietet (verfügt über mehrere Frontends, darunter eine Gnome-Tray-Schnittstelle) | |||
|setroubleshoot-server (Fedora) | |||
|- | |- | ||
| || | |[[setsebool]] | ||
|Setzt einen oder mehrere SELinux-Booleans | |||
|policycoreutils | |||
|- | |- | ||
| || | |[[system-config-selinux]] | ||
|GUI zur Verwaltung von SELinux | |||
|selinux-gui (Upstream) oder policycoreutils-gui (Fedora) | |||
|} | |} | ||
| Zeile 74: | Zeile 326: | ||
==== Projekt ==== | ==== Projekt ==== | ||
==== Weblinks ==== | ==== Weblinks ==== | ||
# https://github.com/SELinuxProject/selinux/wiki/Tools | |||
<!-- | <!-- | ||
Aktuelle Version vom 31. März 2026, 23:03 Uhr
Werkzeuge
Neben den offiziellen SELinux-Werkzeugen existieren zahlreiche nützliche Werkzeuge, die das Arbeiten mit SELinux erleichtern
| Tool | Beschreibung |
|---|---|
| setroubleshoot | benachrichtigt über ein Task-Symbol über durchgesetzte Beschränkungen von Programmen und stellt auf Anfrage zusätzliche Informationen wie auch mögliche Lösungsvorschläge bereit, um das Problem zu beheben |
| SLIDE | ist eine IDE für die Entwicklung der Richtlinie, die in Form einer Eclipse-Erweiterung veröffentlicht wird |
| apol | ist für die Analyse von Richtlinien zuständig |
Analyse
Analysewerkzeuge dienen in erster Linie dazu, die Kernel-Richtlinie (entweder die auf der Festplatte gespeicherte Richtliniendatei oder die im Arbeitsspeicher des Kernels befindliche Richtlinie über /sys/fs/selinux/policy) auf bestimmte Kriterien hin zu analysieren, beispielsweise den Informationsfluss.
- Diese Werkzeuge bilden die Grundlage, auf der wir Aussagen über die Sicherheitseigenschaften eines SELinux-Systems treffen können.
- Sie werden auf Entwicklungssystemen benötigt, die zur Analyse einer Zielrichtlinie verwendet werden, und sind auf Produktionssystemen selten installiert.
| Name des Tools | Beschreibung | Paket |
|---|---|---|
| apol | führt zahlreiche Analysen der Zielrichtlinie durch, darunter Domänenübergänge, Informationsfluss, Standardabfragen, Dateisystemanalyse und so weiter | setools-gui |
| sechecker | konfigurationsgesteuerte automatisierte Richtlinienanalyse | setools-console |
| sediff | führt eine semantische Differenzanalyse zwischen zwei Richtlinien durch | setools-console |
| sedta | führt eine Domänenübergangsanalyse für eine Richtlinie durch | setools-console-analyses |
| seinfo | abfragt die Komponenten einer SELinux-Richtlinie | setools-console |
| seinfoflow | Durchführung einer Informationsflussanalyse für eine Richtlinie | setools-console-analyses |
| sesearch | Durchsuchen einer Richtliniendatei nach verschiedenen Richtlinienregeln oder Komponenten wie Zulassungsregeln, Symbolen usw. | setools-console |
Erstellungszeit
Werkzeuge für die Erstellungszeit werden beim Erstellen einer Richtlinie aus dem Quellcode in Module oder eine monolithische Kernel-Richtlinie verwendet.
- Sie sind auf Systemen erforderlich, die Richtlinien aus dem Quellcode erstellen sollen, einschließlich Produktionssystemen, die Tools wie audit2allow verwenden, um zur Laufzeit neue Richtlinienregeln hinzuzufügen.
- Auf typischen Endsystemen, die nicht von Entwicklern genutzt werden, sind sie nicht erforderlich.
| Tool-Name | Beschreibung | Paket |
|---|---|---|
| checkmodule | Kompilieren eines binären Richtlinienmoduls aus einer Modul-Quelldatei | checkpolicy |
| checkpolicy | Kompiliert eine Kernel-Richtlinie aus einer Richtlinien-Quelldatei | checkpolicy |
| semodule_package | Erstellt ein binäres Richtlinienpaket aus einem binären Modul und optional null oder mehr der Dateien file contexts, seusers, user_extra und/oder netfilter_contexts | semodule-utils (Upstream) oder policycoreutils (Fedora) |
| semodule_unpackage | Extrahieren des binären Policy-Moduls und optional der Datei „file contexts“ aus einem binären Policy-Paket | semodule-utils (Upstream) oder policycoreutils (Fedora) |
| secilc | Kompilieren einer binären Kernel-Policy aus einem Common Intermediate Language (CIL)-Policy-Modul | secilc |
Entwicklung
Entwicklungswerkzeuge werden beim Schreiben oder Debuggen von SELinux-Richtlinien verwendet und werden in der Regel während der Entwicklung und des Testens auf Entwicklungs- oder Endsystemen installiert.
- Einige Werkzeuge richten sich eher an typische Endbenutzer, während andere eher für erfahrene Kernel- oder Richtlinienentwickler gedacht sind.
- Beispielsweise kann audit2allow von typischen Endbenutzern verwendet werden, um Richtlinien aus Audit-Meldungen zu erstellen, während sedispol im Allgemeinen nur von Kernel- oder Richtlinienentwicklern genutzt wird, um bestimmte Komponenten einer Kernel-Richtlinie zu untersuchen.
| Werkzeugname | Beschreibung | Paket |
|---|---|---|
| audit2allow | Erzeugt Zulassungsregeln aus SELinux-AVC-Audit-Meldungen | selinux-python (Upstream) oder policycoreutils-python-utils (Fedora) |
| audit2why | Diagnose der Ursache von SELinux-AVC-Audit-Meldungen mittels Richtlinienanalyse | selinux-python (Upstream) oder policycoreutils-python-utils (Fedora) |
| dismod | Abfrage verschiedener Teile eines kompilierten Richtlinienmoduls oder Richtlinienpakets | checkpolicy (als sedismod in Fedora) |
| dispol | Abfrage verschiedener Teile einer kompilierten Kernel-Richtlinie | checkpolicy (als sedispol in Fedora) |
| getconlist | Auflistung aller SELinux-Kontexte, die für den angegebenen Benutzer vom aktuellen oder angegebenen Kontext aus erreichbar sind | libselinux-utils (als selinuxconlist in Fedora) |
| getdefaultcon | Anzeige des Standard-SELinux-Kontexts für den angegebenen Benutzer vom angegebenen Kontext aus | libselinux-utils (als selinuxdefcon in Fedora) |
| getpolicyload | Zeigt die maximale vom Kernel zum Laden unterstützte Richtlinienversion an | libselinux-utils |
| matchpathcon | Abfrage der aktiven Datei „file_contexts“, um zu ermitteln, wie ein bestimmter Pfad gekennzeichnet werden soll | libselinux-utils |
| selabel_compare | vergleicht zwei Label-Konfigurationsdateien | libselinux-utils |
| selabel_digest | berechnet Digests für eine Label-Konfiguration | libselinux-utils |
| selabel_get_digests_all_partial_matches | vergleicht das Verzeichnis-Digest-xattr mit dem Digest aus der Label-Konfiguration | libselinux-utils |
| selabel_lookup | Nachschlagen des Labels für einen bestimmten Schlüssel in einer Label-Konfiguration | libselinux-utils |
| selabel_lookup_best_match | Nachschlagen des am besten passenden Kontexts für einen Pfad mit mehreren Verknüpfungen | libselinux-utils |
| selabel_partial_match | Feststellen, ob eine Teilübereinstimmung für einen Pfad möglich ist | libselinux-utils |
| selinuxexeccon | Anzeige des SELinux-Kontexts, der für eine ausführbare Datei aus dem aktuellen oder angegebenen Kontext verwendet würde | libselinux-utils |
| selinux-polgengui | GUI zur Erzeugung von Richtlinien | selinux-gui (Upstream) oder policycoreutils-gui (Fedora) |
| selinux_check_access | prüft, ob die angegebene Berechtigung zulässig ist | libselinux-utils |
| semodule_expand | erweitert ein Basis-Policy-Modul zu einer Kernel-Policy | semodule-utils (Upstream) oder policycoreutils (Fedora) |
| semodule_link | eine Liste von Richtlinienmodulen miteinander verknüpfen | semodule-utils (Upstream) oder policycoreutils (Fedora) |
| sepolgen | ein Richtlinienmodul generieren | selinux-python (Upstream) oder policycoreutils-devel (Fedora) |
| sepolgen-ifgen | Erzeugt die Schnittstellendatei, die audit2allow verwendet, um Schnittstellen bei der Generierung von Policy-Modulen im refpolicy-Stil mit Regeln abzugleichen | selinux-python (Upstream) oder policycoreutils-devel (Fedora) |
| sepolicy | Frontend zum Überprüfen oder Generieren von Policies | selinux-python (Upstream) oder policycoreutils-devel (Fedora) |
| validatetrans | Überprüft einen Kontextwechsel auf Übereinstimmung mit der Richtlinie | libselinux-utils |
Neulabelung
Neulabelungs-Tools werden verwendet, um Dateien anhand verschiedener Arten von Eingaben neu zu labeln.
- Einige Tools nehmen einfach einen Kontext entgegen, während andere die aktive Datei „file_contexts“ auf dem System abfragen.
- Einige sind in der Lage, die Paketdaten der verwendeten Distribution zu überprüfen, um eine Liste der neu zu labelnenden Dateien zu erhalten.
- Nicht in dieser Liste enthalten ist das Init-Skript oder die systemd-Unit-Datei, die auf einigen Systemen verwendet wird, um ein Dateisystem bei Bedarf automatisch beim Systemstart neu zu kennzeichnen.
| Tool-Name | Beschreibung | Paket |
|---|---|---|
| chcon | Ändert den Kontext oder einen Teil eines Kontexts einer Datei | coreutils |
| chcat | Ändert die Kategorien einer Datei oder die autorisierten Kategorien für einen Benutzer | selinux-python (Upstream) oder policycoreutils-python-utils (Fedora) |
| fixfiles | Korrigiert Dateikennzeichnungen basierend auf aktiven policy file_contexts-Dateien | policycoreutils |
| rlpkg | Kennzeichnet Dateien neu basierend auf Gentoo-Paketen (Gentoo-spezifisch) | gentoo |
| restorecon | Stellt Dateien in den durch die file_contexts-Dateien festgelegten Kontexten wieder her | policycoreutils |
| restorecond | Daemon, der auf neu erstellte Dateien achtet und diese zur Laufzeit kennzeichnet | restorecond (Upstream) oder policycoreutils-restorecond (Fedora) |
| setfiles | Dateien basierend auf der file_contexts-Konfiguration neu kennzeichnen oder die Gültigkeit von file_contexts anhand der Binärrichtlinie überprüfen | policycoreutils |
Laufzeit
Laufzeit-Tools werden zur Laufzeit auf Endsystemen verwendet, um das Laufverhalten von SELinux zu ändern oder anzuzeigen.
- Einige sind möglicherweise nicht auf Endsystemen installiert, wie z. B. setroubleshootd (nur erforderlich, wenn Endbenutzer Benachrichtigungen über und Hilfe bei Richtlinienverweigerungen benötigen), system-config-selinux (nur erforderlich, wenn eine GUI zur Verwaltung von SELinux benötigt wird) und mctransd (nur erforderlich auf Systemen, die MCS/MLS-Konfigurationen zur Übersetzung von Labels in lesbare Form benötigen).
- Diese drei Werkzeuge sollten auf Systemen, die sie nicht benötigen, weggelassen werden.
| Tool-Name | Beschreibung | Paket |
|---|---|---|
| avcstat | liefert Statistiken zum Zugriffsvektor-Cache im Kernel, wie z. B. Anzahl der Suchvorgänge, Treffer und Fehltreffer | libselinux-utils |
| genhomedircon | Erzeugt Dateikontexte für Benutzer-Home-Verzeichnisse basierend auf Vorlagen-Dateikontexten (HOMEDIR, HOMEROOT usw.) | policycoreutils |
| getenforce | Ruft den Durchsetzungsstatus des Kernel-Zugriffsvektor-Caches ab | libselinux-utils |
| getsebool | Ruft den aktuellen Status eines SELinux-Booles im SELinux-Sicherheitsserver ab | libselinux-utils |
| load_policy | Lädt die aktive Kernel-Richtlinie | policycoreutils |
| mcstransd | Daemon, der Übersetzungen für Ebenen und Kategorien bereitstellt | mcstrans |
| newrole | Ändert Ihre Rolle, Ihren Typ oder Ihre Stufe; erfordert eine erneute Authentifizierung; geeignet für die Verwendung durch Benutzerdomänen | policycoreutils |
| runcon | Führt einen Befehl mit einem angegebenen SELinux-Kontext aus; führt keine erneute Authentifizierung durch; geeignet für die Verwendung in Skripten, um einen Dienst in einer anderen Domäne auszuführen | coreutils |
| secon | Zeigt den vollständigen Kontext oder dessen Komponenten für ein angegebenes Objekt (Datei, Prozess, Schlüssel) an | policycoreutils |
| sefcontext_compile | Kompiliert Dateikontxtkonfigurationen zu einer Binärversion für eine schnellere Suche | libselinux-utils |
| selinuxenabled | Prüft, ob SELinux derzeit aktiviert ist | libselinux-utils |
| semanage | Verwaltet verschiedene Aspekte von SELinux, darunter Port-, Schnittstellen- und Knoten-Labeling, persistente Dateikontexte und boolesche Einstellungen, autorisierte Rollen und Ebenen für SELinux-Benutzer, autorisierte SELinux-Benutzer und Ebenen für Seusers (Login- oder Linux-Benutzer), MLS-Übersetzungen und permissive Typen | selinux-python (Upstream) oder policycoreutils-python-utils (Fedora) |
| semodule | Einfügen, Löschen und Auflisten von SELinux-Richtlinienmodulen auf dem laufenden System | policycoreutils |
| sestatus | Abrufen verschiedener Informationen zum Laufzustand von SELinux, einschließlich Aktivierungsstatus, Enforcing/Permissive, Richtlinienname und Kontexte verschiedener wichtiger Prozesse und Dateien | policycoreutils |
| setenforce | den Enforcing-Status des Kernel-Access-Vector-Caches festlegen | libselinux-utils |
| setroubleshoot | ein Daemon, der auf Zugriffsverweigerungen achtet und Vorschläge zu deren Behebung anbietet (verfügt über mehrere Frontends, darunter eine Gnome-Tray-Schnittstelle) | setroubleshoot-server (Fedora) |
| setsebool | Setzt einen oder mehrere SELinux-Booleans | policycoreutils |
| system-config-selinux | GUI zur Verwaltung von SELinux | selinux-gui (Upstream) oder policycoreutils-gui (Fedora) |
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks