Apparmor Profilaufbau: Unterschied zwischen den Versionen

Aus Xinux Wiki
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.