So überprüfen Sie, ob ein AppArmor-Profil in Linux aktiv ist

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie den Status von AppArmor-Profilen auf einem Linux-System überprüfen können. AppArmor ist ein Sicherheitsmodul, das Profile verwendet, um die Aktionen von Anwendungen einzuschränken und so die System-Sicherheit zu erhöhen. Sie werden drei Methoden untersuchen, um festzustellen, ob AppArmor-Profile aktiv sind und wie sie konfiguriert sind.

Insbesondere werden Sie den Befehl aa-status verwenden, um die geladenen Profile und ihre Modi (enforce oder complain) aufzulisten, den Inhalt des Verzeichnisses /etc/apparmor.d untersuchen, um die verfügbaren Profildateien zu sehen, und den AppArmor-Status im Dateisystem /sys/kernel/security prüfen. Diese Schritte geben Ihnen ein umfassendes Verständnis davon, wie Sie den Betriebszustand von AppArmor überprüfen können.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/ls -.-> lab-558778{{"So überprüfen Sie, ob ein AppArmor-Profil in Linux aktiv ist"}} linux/cat -.-> lab-558778{{"So überprüfen Sie, ob ein AppArmor-Profil in Linux aktiv ist"}} linux/sudo -.-> lab-558778{{"So überprüfen Sie, ob ein AppArmor-Profil in Linux aktiv ist"}} linux/nano -.-> lab-558778{{"So überprüfen Sie, ob ein AppArmor-Profil in Linux aktiv ist"}} end

Auflisten von AppArmor-Profilen mit aa-status

In diesem Schritt lernen Sie, wie Sie die aktiven AppArmor-Profile auf Ihrem System mithilfe des Befehls aa-status auflisten können. AppArmor ist ein Sicherheitsmodul, das eine verpflichtende Zugriffskontrolle (mandatory access control, MAC) bietet, indem es Programme auf eine begrenzte Anzahl von Ressourcen beschränkt.

Stellen Sie sich AppArmor-Profile als Sicherheitsrichtlinien für bestimmte Anwendungen vor. Sie definieren, welche Dateien, Netzwerkressourcen und andere Systemfunktionen eine Anwendung zugreifen darf. Dies hilft, zu verhindern, dass bösartige Software oder kompromittierte Anwendungen weitreichende Schäden verursachen.

Um zu sehen, welche Profile derzeit geladen und 强制执行 (enforced) werden, öffnen Sie Ihr Terminal und geben Sie den folgenden Befehl ein:

sudo aa-status

Sie müssen sudo verwenden, da das Überprüfen des AppArmor-Status administrative Berechtigungen erfordert.

Nachdem Sie den Befehl ausgeführt haben, sehen Sie eine Ausgabe ähnlich der folgenden:

apparmor module is loaded.
...
profiles are loaded.
...
profiles are in enforce mode.
...
profiles are in complain mode.
...
processes are unconfined.
...

Die Ausgabe bietet eine Zusammenfassung des AppArmor-Status:

  • apparmor module is loaded: Zeigt an, dass das AppArmor-Kernelmodul aktiv ist.
  • profiles are loaded: Zeigt die Gesamtzahl der in den Kernel geladenen AppArmor-Profile an.
  • profiles are in enforce mode: Listet Profile auf, die das Verhalten der zugehörigen Anwendungen aktiv einschränken. Wenn eine Anwendung versucht, etwas zu tun, das von ihrem enforced-Profile nicht erlaubt ist, wird die Aktion blockiert und eine Protokollmeldung erstellt.
  • profiles are in complain mode: Listet Profile auf, die das Verhalten der zugehörigen Anwendungen überwachen, aber keine Einschränkungen 强制执行 (enforce). Wenn eine Anwendung versucht, etwas zu tun, das von ihrem complain-Profile nicht erlaubt ist, wird die Aktion erlaubt, aber eine Protokollmeldung erstellt. Dieser Modus ist nützlich für die Entwicklung und das Testen von Profilen.
  • processes are unconfined: Zeigt die Anzahl der laufenden Prozesse an, die derzeit nicht von einem AppArmor-Profil verwaltet werden.

Das Verständnis der Ausgabe von aa-status ist der erste Schritt bei der Verwaltung von AppArmor und dem Verständnis der Sicherheitslage Ihres Systems.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Überprüfen von Profilen in /etc/apparmor.d

Im vorherigen Schritt haben Sie mit aa-status eine Liste der geladenen AppArmor-Profile gesehen. Jetzt wollen wir untersuchen, wo diese Profile im Dateisystem gespeichert sind.

AppArmor-Profile befinden sich normalerweise im Verzeichnis /etc/apparmor.d/. Dieses Verzeichnis enthält die Profildateien, die einfache Textdateien sind, welche die Regeln für jede eingeschränkte Anwendung definieren.

Um den Inhalt dieses Verzeichnisses aufzulisten, verwenden Sie den Befehl ls:

ls /etc/apparmor.d/

Sie werden eine Liste von Dateien und Verzeichnissen sehen. Jede Datei in diesem Verzeichnis (die nicht in einem Unterverzeichnis wie abstractions oder tunables liegt) repräsentiert normalerweise ein bestimmtes AppArmor-Profil für eine Anwendung.

Beispielausgabe:

bootchartd             usr.sbin.tcpdump
...

Diese Dateinamen entsprechen oft dem Pfad des ausführbaren Programms, das sie einschränken sollen. Beispielsweise ist usr.sbin.tcpdump das Profil für den Befehl /usr/sbin/tcpdump.

Sie können den Inhalt einer Profildatei mit einem Texteditor wie nano anzeigen. Schauen wir uns das Profil für usr.sbin.tcpdump an. Geben Sie den folgenden Befehl ein:

nano /etc/apparmor.d/usr.sbin.tcpdump

Dadurch wird die Profildatei im nano-Editor geöffnet. Sie werden Zeilen sehen, die Dateizugriffsregeln, Netzwerkberechtigungen und andere Einschränkungen definieren. Sorgen Sie sich nicht darum, jede Zeile sofort zu verstehen; das Ziel ist es nur, die Struktur einer Profildatei zu sehen.

Um nano zu verlassen, drücken Sie Strg + X. Wenn Sie Änderungen vorgenommen haben, wird es Sie fragen, ob Sie speichern möchten. Drücken Sie N für Nein und dann Enter, um zu bestätigen.

Das Untersuchen der Dateien in /etc/apparmor.d/ gibt Ihnen Einblicke in die spezifischen Sicherheitsrichtlinien, die auf verschiedene Anwendungen auf Ihrem System angewendet werden.

Klicken Sie auf Weiter, um fortzufahren.

Überprüfen des AppArmor-Status in /sys/kernel/security

Neben dem Befehl aa-status können Sie den Status von AppArmor auch direkt über das /sys-Dateisystem überprüfen. Das /sys-Dateisystem bietet eine Schnittstelle zu Kerneldatenstrukturen und enthält Informationen über Sicherheitsmodule wie AppArmor.

Das relevante Verzeichnis für den AppArmor-Status innerhalb von /sys ist /sys/kernel/security/apparmor/.

Lassen Sie uns den Inhalt dieses Verzeichnisses auflisten, um zu sehen, welche Informationen verfügbar sind:

ls /sys/kernel/security/apparmor/

Sie werden Dateien und Verzeichnisse sehen, die Details über den AppArmor-Zustand liefern, wie z. B. geladene Profile, Richtlinienregeln und das Enforcement-Status (Durchsetzungsstatus).

Beispielausgabe:

features  profiles  policy  revision  ...

Eine besonders nützliche Datei ist profiles. Sie können ihren Inhalt mit dem Befehl cat anzeigen:

cat /sys/kernel/security/apparmor/profiles

Diese Datei listet die derzeit geladenen AppArmor-Profile und ihren Status auf (z. B. enforce (Durchsetzung), complain (Meldung) oder unconfined (unbeschränkt)). Die Ausgabe ist ähnlich der Liste der Profile, die Sie mit aa-status gesehen haben, aber es ist eine direkte Ansicht des Kernel-Zustands.

Beispielausgabe:

/usr/sbin/tcpdump (enforce)
...

Das Überprüfen des Verzeichnisses /sys/kernel/security/apparmor/ und seiner Dateien bietet eine tiefergehende Möglichkeit, den AppArmor-Status zu verstehen und kann für das Debugging oder eine fortgeschrittene Analyse hilfreich sein.

Sie haben nun drei verschiedene Methoden gelernt, um den Status und die Existenz von AppArmor-Profilen auf einem Linux-System zu überprüfen.

Klicken Sie auf Weiter, um das Lab abzuschließen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie überprüfen können, ob ein AppArmor-Profil in Linux aktiv ist. Sie haben begonnen, indem Sie den Befehl aa-status mit sudo verwendet haben, um die geladenen AppArmor-Profile aufzulisten und ihren Status zu verstehen, einschließlich der Frage, ob sie im enforce- (Durchsetzung) oder complain-Modus (Meldung) sind. Dieser Befehl bietet einen schnellen Überblick über den Zustand des AppArmor-Moduls und die Anzahl der Profile, die Prozesse aktiv verwalten.

Das Lab hat auch behandelt, wie Sie das Verzeichnis /etc/apparmor.d untersuchen können, um die verfügbaren AppArmor-Profildateien anzuzeigen, die die Sicherheitsrichtlinien für verschiedene Anwendungen darstellen. Schließlich haben Sie gelernt, wie Sie den Pfad /sys/kernel/security untersuchen können, um die Anwesenheit und den Status des AppArmor-Kernel-Moduls im Sicherheitsframework des Systems zu bestätigen.