Apparmor Profilaufbau: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 32: | Zeile 32: | ||
*Programme, die eine dieser Dateien benötigen, benötigen normalerweise auch andere Dateien, die in der Abstraktionsdatei aufgeführt sind. | *Programme, die eine dieser Dateien benötigen, benötigen normalerweise auch andere Dateien, die in der Abstraktionsdatei aufgeführt sind. | ||
*Abstraktionen finden Sie in /etc/apparmor.d/abstractions. | *Abstraktionen finden Sie in /etc/apparmor.d/abstractions. | ||
| + | =Tunables= | ||
| + | *Das Tunables-Verzeichnis (/etc/apparmor.d/tunables) enthält globale Variablendefinitionen. | ||
| + | *Bei Verwendung in einem Profil erweitern sich diese Variablen auf einen Wert, der geändert werden kann, ohne das gesamte Profil zu ändern. | ||
| + | *Fügen Sie alle Tunables-Definitionen, die für jedes Profil verfügbar sein sollten, zu /etc/apparmor.d/tunables/global hinzu. | ||
Version vom 16. Januar 2023, 18:38 Uhr
- Eine Profil-Datei ist dabei prinzipiell wie folgt aufgebaut:
#include <tunables/global>
/pfad/zur/anwendung {
#include <abstractions/base>
[...]
capability sys_admin,
[...]
# Kommentar
/usr/lib/gconv/** r,
/proc/meminfo r,
/bin/basename rmix,
[...]
}
- Mit dem Befehl #include können andere (grundlegende) Regelsätze eingebunden werden.
- In allen Profilen ist grundsätzlich die Datei /etc/apparmor.d/tunables/global mit #include eingebunden, die wiederum weitere Dateien aus diesem Verzeichnis enthält, in denen u.a. Variablen wie @{HOME} (für alle Homeverzeichnisse) oder @{PROC} (für das Verzeichnis /proc/) definiert sind.
- Nach der Angabe des Pfades zur Anwendung, für die das Profil erstellt ist, stehen sämtliche Regeln innerhalb von geschweiften Klammern. Jede Zeile endet mit einem Komma - mit Ausnahme von Kommentaren, #include-Anweisungen, mit denen sogenannten abstractions eingebunden werden, und Kind-Profile (näheres dazu weiter unten).
- Mit dem Befehl capability XYZ werden grundlegende Eigenschaften/Merkmale definiert. Siehe dazu die entsprechende Manpage 🇬🇧 sowie Capability rules 🇬🇧.
- /PFAD/ZU/DATEI OPTION setzt die Berechtigungen für das jeweilige Verzeichnis bzw. die jeweilige Hilfsanwendung. Dabei ist die Verwendung des Jokers * erlaubt, zwei ** bedeuten "inkl. aller Unterverzeichnisse" (extended globbing). Beispiele dazu:
Abstractions
- Abstraktionen sind Einschlüsse, die nach allgemeinen Anwendungsaufgaben gruppiert sind.
- Diese Aufgaben umfassen den Zugriff auf Authentifizierungsmechanismen, Zugriff auf Namensdienstroutinen, allgemeine Grafikanforderungen und Systemabrechnung.
- Dateien, die in diesen Abstraktionen aufgelistet sind, sind spezifisch für die benannte Aufgabe.
- Programme, die eine dieser Dateien benötigen, benötigen normalerweise auch andere Dateien, die in der Abstraktionsdatei aufgeführt sind.
- Abstraktionen finden Sie in /etc/apparmor.d/abstractions.
Tunables
- Das Tunables-Verzeichnis (/etc/apparmor.d/tunables) enthält globale Variablendefinitionen.
- Bei Verwendung in einem Profil erweitern sich diese Variablen auf einen Wert, der geändert werden kann, ohne das gesamte Profil zu ändern.
- Fügen Sie alle Tunables-Definitionen, die für jedes Profil verfügbar sein sollten, zu /etc/apparmor.d/tunables/global hinzu.