Debian AppArmor-Tutorial

AppArmor ist ein Sicherheitsmechanismus für Linux-Software, der sehr effektiv und benutzerfreundlich ist. AppArmor ist eine Kernverbesserung, die die Programme auf bestimmte Ressourcen beschränkt. Es verbindet die Zugriffskontrolleigenschaften mit den Programmen statt mit Benutzern. AppArmor schützt das Linux-Betriebssystem und die Apps vor zahlreichen Angriffen, indem es die Sicherheitsrichtlinien implementiert, die allgemein als AppArmor-Profil bezeichnet werden. Das AppArmor-Profil besteht aus einfachen Textdateien. Bei der Definition des Dateizugriffs können sowohl Dateiglobbing als auch absolute Pfade angewendet werden.

Wir haben zwei Funktionsmodi von AppArmor: Durchsetzen und Beschweren. Der AppArmor-Produktionsstatus ist standardmäßig im erzwungenen Modus, aber der Beschwerdemodus ist nützlich, um Verstöße zu protokollieren und einen Regelsatz basierend auf tatsächlichen Betriebsmustern zu definieren. Im Gegensatz dazu ist AppArmor eine Komponente des Frameworks und eine Add-on-Funktion, die hinzugefügt, geändert, deaktiviert oder deinstalliert werden kann. In diesem Tutorial werden wir die Implementierung von AppArmor untersuchen, um mehr Details darüber zu erfahren.

Installation von AppArmor in Debian

AppArmor ist im Debian-Betriebssystem bereits eingerichtet und geladen. Es nutzt die Profile der Anwendung, die das Programm benötigt, um die Dateien und Berechtigungen zu bestimmen. Einige Dienstprogramme installieren ihre Profile, während das AppArmor-profiles-Paket weitere Profile enthält. Der Befehl apt wird verwendet, um die Apparmor-Utils „audit“ im Debian-Betriebssystem zu installieren, was im folgenden Bild dargestellt ist. Wir können die „audit“-Dienstprogramme aus dem Befehl entfernen, wenn wir die Tools zum Erstellen der Profile nicht benötigen. Beachten Sie, dass wir diesen Befehl als Root ausführen.

Aktivieren von AppArmor in Debian

Jetzt ist das AppArmor-Dienstprogramm zum Generieren eines Profils installiert. Wir aktivieren die AppArmor Linux-Sicherheitsmodule über die Linux-Kernel-Befehlszeile. Wir befolgen die folgenden Schritte, um AppArmor im Debian-Betriebssystem zu aktivieren:

Schritt 1: Erstellen Sie das Verzeichnis.

mkdir -p /etc/default/grub.d

Schritt 2: Generieren Sie die Datei „ /etc/default/grub.d/apparmor.cfg“ und speichern Sie den Inhalt, den wir im Folgenden wiedergeben:

echo ‚GRUB_CMDLINE_LINUX_DEFAULT=“$GRUB_CMDLINE_LINUX_DEFAULT apparmor=1 security=apparmor“‚ \

| sudo tee /etc/default/grub.d/apparmor.cfg

Schritt 3: Aktualisieren Sie „grub“ mit der Berechtigung des Befehls sudo.

sudo update-grub

Schritt 4: Starten Sie das Debian-Betriebssystem neu. Sobald der Neustart abgeschlossen ist, können wir überprüfen, ob der Status von AppArmor aktiviert ist oder nicht, indem wir den folgenden Befehl ausführen. Es gibt „Y“ zurück, was „Ja“ anzeigt, da AppArmor im Debian-System aktiviert ist:

cat /sys/module/apparmor/parameters/enabled

Schritt 5: Verwenden Sie den Befehl, um den aktuellen Status jedes AppArmor-Profils abzurufen, das für Anwendungen und Prozesse geladen wird. In der folgenden Abbildung können wir die Moduskonformität jedes geladenen Profils sehen. Die Ausgabe zeigt, dass „43“ Profile als AppArmor-Profile geladen werden und die „25“ Profile von AppArmor standardmäßig im Erzwingungsmodus sind. Es gibt zwei Modi der AppArmor-Profile – einige befinden sich im Erzwingungsmodus und andere im Beschwerdemodus. Wir können den Ausführungsmodus für jedes definierte Profil ändern.

sudo aa-status

Ändern des AppArmor-Profils in Debian

Wie bereits erwähnt, können die Modi von den angegebenen Modi des AppArmor-Profils umgeschaltet werden. Das bedeutet, dass der Durchsetzungsmodus durch den Beschwerdemodus ersetzt werden kann und umgekehrt. Wir haben ein AppArmor-Profil als „dhclient“, das sich in einem erzwungenen Modus befindet. Auf den Beschwerdemodus kann durch Ausführen des folgenden Befehls zugegriffen werden. Die Ausgabe zeigt die Meldung an, dass der dhclient in den Beschwerdemodus versetzt wird:

sudo aa-complain /sbin/dhclient

Um den Beschwerdemodus wieder in einen Erzwingungsmodus zu ändern, haben wir einen Befehl, um dies zu erreichen. Der Befehl verwendet das Schlüsselwort „enforce“ mit dem dhclient-Profil.

sudo aa-enforce /sbin/dhclient

Darüber hinaus lautet der Konfigurationspfad für den Ausführungsmodus /etc/apparmor.d/* für alle AppArmor-Profile. Wir können den Ausführungsmodus aller AppArmor-Profile in den Beschwerdemodus versetzen, indem wir den folgenden Sudo-Befehl im Terminal anwenden:

sudo aa-complain /etc/apparmor.d/*

Mit dem folgenden Befehl können wir auch den Pfad des Ausführungsmodus für alle Profile von AppArmor auf den Erzwingungsmodus festlegen:

sudo aa-enforce /etc/apparmor.d/*

Erstellen eines neuen AppArmor-Profils in Debian

Um ein neues Profil einzurichten, müssen wir die Anwendungen ermitteln, die Sicherheit erfordern, aber keinem anderen AppArmor-Profil zugeordnet sind. Es gibt mehrere Befehle zum Erstellen der AppArmor-Profile. Aber wir verwenden den Befehl „aa-confined“, um die Profile aufzulisten, die nicht eingeschränkt sind. Die Ausgabe gibt an, dass ein Prozess nicht auf irgendwelche Profile beschränkt ist, während die anderen drei Prozesse standardmäßig auf drei Profile im erzwungenen Modus beschränkt sind.

sudo aa-unconfined

Jetzt erstellen wir das AppArmor-Profil „NetworkManager“, das nicht eingeschränkt ist. Hierzu nutzen wir den Befehl „aa-genprof“ und geben damit den Namen des unlimitierten Profils an. Das generierte Profil ist im erzwungenen Modus standardmäßig leer. Durch Drücken der Taste „F“ wird der Erstellungsprozess des Profils beendet.

sudo aa-genprof NetworkManager

Wir können ihren Inhalt ändern, indem wir die folgende Datei ändern, da es für dieses Profil, das die Einschränkungen für das Programm festlegt, keine solchen definierten Einschränkungen gibt. Das „NetworkManager“-Profil wird nun aktualisiert, wie im Debian-Terminal angezeigt:

sudo cat /etc/apparmor.d/usr.sbin.NetworkManager

Neuladen der AppArmor-Profile in Debian

Die AppArmor-Profile, die wir zuvor erstellt und geändert haben, sollten neu geladen werden. Um jedes aktive AppArmor-Profil neu zu laden, führen Sie den folgenden Befehl aus:

sudo systemctl apparmor.service neu laden

Als nächstes können mit dem angegebenen Befehl die geladenen Profile von AppArmor angezeigt werden. Wir können sehen, dass das erstellte NetworkManager-Profil in der Ausgabe mit dem erzwungenen Modus erwähnt wird.

sudo cat /sys/kernel/security/apparmor/profiles

Deaktivieren von AppArmor in Debian

Die AppArmor-Anwendung darf nicht deaktiviert werden, da es sich um eine Sicherheitsfunktion handelt. Wenn wir AppArmor deaktivieren oder von unserem System entfernen, müssen wir diesen Befehlen folgen. Zuerst stoppen wir die AppArmor-Dienste mit systemctl:

sudo systemctl apparmor stoppen

Danach verwenden wir einen weiteren Befehl, der die Ausführung von AppArmor beim Systemstart deaktiviert:

sudo systemctl apparmor deaktivieren

Der nächste ausgeführte Befehl verwendet apt, um das AppArmor-Paket und die Abhängigkeiten vom System zu entfernen.

sudo apt remove –assume-yes –purge apparmor

Abschluss

In diesem Debian AppArmor-Artikel haben wir die Möglichkeiten untersucht, mit den AppArmor-Profilen zu arbeiten. Wir haben den Installationsbefehl für die AppArmor-Profile gelernt. Nach der Installation haben wir AppArmor im Debian-System aktiviert. Anschließend haben wir die Modi vorhandener Profile von AppArmor geändert. Wir haben außerdem ein neues Profil erstellt, das nicht auf die AppArmor-Profile beschränkt ist. Der AppArmor kann auch mithilfe der spezifischen Deaktivierungsbefehle, die im letzten Teil dieses Tutorials ausgeführt werden, deaktiviert oder vom System entfernt werden.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen