Wie man AppArmor in Ubuntu verwendet

Sie haben wahrscheinlich von AppArmor gehört, während Sie Ubuntu verwenden, aber da es sich nicht um eine Anwendung handelt, die im Anwendungsmenü angezeigt wird, und es auch keine grafische Form gibt, wissen manche möglicherweise nicht, was es tut und warum es für Ihr System wichtig ist. Kurz gesagt, AppArmor ist ein Sicherheitsmodul, das einzelne Programme auf eine Liste von Dateien und Berechtigungen beschränkt, damit sie Ihr System nicht durcheinanderbringen.
Lernen Sie den Unterschied zwischen SELinux und AppArmor kennen, um Ihr Linux-System abzusichern.
Inhaltsverzeichnis
- Was ist AppArmor?
- Wie AppArmor funktioniert
- Überprüfen Sie Ihren AppArmor-Status
- Finden von deaktivierten AppArmor-Profilen
- Aktivieren und Deaktivieren von AppArmor-Profilen
- Wie sieht ein AppArmor-Profil aus?
- Erstellen eigener Profile zur Einschränkung von Anwendungen
- Stoppen und Neustarten von AppArmor
- Häufig gestellte Fragen
Was ist AppArmor?
AppArmor ist ein System für die obligatorische Zugriffskontrolle (MAC), das Programme auf eine begrenzte Menge von Ressourcen beschränkt. Es beschränkt Programme auf eine Reihe von Dateien, Attributen und Berechtigungen, sodass sie nicht tief ins System eindringen und Chaos anrichten (es sei denn, sie erhalten die Erlaubnis dazu). Anstelle des UAC-Modells (User Account Control) von Windows, das die Kontrolle den Benutzern überlässt, bindet AppArmor die Zugriffskontrolleigenschaften an das Programm selbst.
Wie AppArmor funktioniert
AppArmor arbeitet auf Kernel-Ebene (sehen Sie sich diese Tipps an, wenn Sie Ihren eigenen Kernel kompilieren) und wird beim initialen Hochfahren geladen. AppArmor verwaltet die Berechtigungen über Profile: eine Reihe von Regeln, die festlegt, was das Programm tun und lassen kann.
Es gibt zwei Modi, in denen die Profile ausgeführt werden können: Durchsetzung und Beschwerde. Der Modus Durchsetzung ist eine strenge Durchsetzung der Richtlinie, die im Profil definiert ist, und meldet Versuche von Richtlinienverletzungen. Der Modus Beschwerde meldet nur die Versuche von Richtlinienverletzungen und erzwingt die Richtlinie nicht. Die meisten Profile werden im Modus Durchsetzung geladen, obwohl auch eine gute Anzahl von Drittanbieterprofilen im Modus Beschwerde geladen werden kann.
Überprüfen Sie Ihren AppArmor-Status
Wenn Sie Ubuntu 7.04 oder höher verwenden, ist AppArmor standardmäßig installiert und lädt sich beim Hochfahren Ihres Computers. Um den AppArmor-Status zu überprüfen, geben Sie den folgenden Befehl im Terminal ein:
sudo apparmor_statusDas Bild unten zeigt, was Sie sehen werden.

In meinem System können Sie sehen, dass 36 Profile im Durchsetzungsmodus geladen sind.
Finden von deaktivierten AppArmor-Profilen
AppArmor hat mehrere vorinstallierte Profile, von denen einige standardmäßig deaktiviert sind. Sie können diese im Ordner “/etc/apparmor.d/disable” überprüfen. In der neuesten Version von AppArmor können Sie sehen, dass das rsyslogd-Profil nicht aktiviert ist.

Dieses Profil ist standardmäßig deaktiviert, da Benutzer häufig Konfigurationsänderungen an rsyslogd vornehmen, die es mit AppArmor inkompatibel machen.
Tipp: Lernen Sie, wie Sie Ihren Ubuntu-Rechner remote mit Webmin verwalten können.
Aktivieren und Deaktivieren von AppArmor-Profilen
Während Sie mehrere Profile auf Ihrem System geladen haben können, kann jedes Profil einzeln aktiviert oder deaktiviert werden. Beispielsweise können Sie das zuvor erwähnte rsyslogd-Profil aktivieren. Folgen Sie den Anweisungen unten, um zu lernen, wie.
Öffnen Sie ein Terminal und geben Sie ein:
sudo apt install apparmor-utilsDas installiert die Werkzeuge, die benötigt werden, um die nachfolgenden Befehle in diesem Tutorial auszuführen. Um das Profil zu aktivieren, geben Sie ein:
sudo aa-enforce /etc/apparmor.d/usr.sbin.rsyslogdUm es wieder zu deaktivieren:
sudoln-s/etc/apparmor.d/usr.sbin.rsyslogd /etc/apparmor.d/disable/
sudo apparmor_parser -R/etc/apparmor.d/usr.sbin.rsyslogdWie sieht ein AppArmor-Profil aus?
Obwohl die AppArmor-Profile komplizierte Software zu sein scheinen, sind sie tatsächlich eine einfache Textdatei mit Dateipfaden, die angibt, auf welche Ordner und Verzeichnisse die Anwendung zugreifen kann. Sie können problemlos auf ein beliebiges Profil im Ordner “/etc/apparmor.d” doppelklicken, um es in Ihrem Texteditor zu öffnen.
Das Rsyslogd-Profil sieht wie das untenstehende Bild aus.

Erstellen eigener Profile zur Einschränkung von Anwendungen
Ubuntu macht bereits einen ziemlich guten Job, um Sie zu schützen, aber wenn Sie eine benutzerdefinierte Anwendung einschränken möchten, die nicht durch Ubuntu geschützt ist, können Sie Ihr eigenes AppArmor-Profil erstellen, um die Anwendung zu sperren. Dies ist besonders nützlich auf einem Server, wo Anwendungen im Hintergrund laufen können.
Hinweis: Bevor Sie Ihre eigenen Profile erstellen, ist es am besten, zunächst die vorhandene AppArmor-Profilbibliothek zu überprüfen, um zu sehen, ob das Profil für Ihre Anwendung verfügbar ist. Sie können auch apparmor-profiles installieren, um eine zusätzliche Liste von Profilen zu erhalten.
Führen Sie den folgenden Befehl aus, um mit dem Profiling zu beginnen:
sudo aa-genprof /path/to/application/path/to/application ist der Datei-Pfad zur Anwendung, die Sie profilieren möchten. Der Standardanwendungsordner ist “/usr/bin”, könnte jedoch je nach Anwendung und Installationsmethode, z. B. “/snap/bin”, anders sein.

Lassen Sie das Terminal laufen und starten Sie die Anwendung, die Sie profilieren möchten. In diesem Beispiel benutze ich Krita. Nutzen Sie die Anwendung wie gewohnt.
Für jede Aktion, die Sie in der Anwendung ausführen, kehren Sie zum Terminal zurück und drücken Sie Shift + S, um es nach Änderungen scannen zu lassen.

Von hier aus können Sie den Pfad sehen, auf den die Anwendung zugreift, und die Schwere der Aktion. Wählen Sie “Erlauben (A)” oder “Verweigern (D)” für die Aktion.
Fahren Sie so mit den restlichen Aktionen fort, die in der Anwendung ausgeführt wurden. Um das beste Ergebnis zu erzielen, ist es am besten, wenn Sie Ihre Aktionsliste im Voraus planen, bevor Sie mit dem Profilieren beginnen.
Zuletzt, wenn Sie fertig sind, drücken Sie Shift + F, um das Profiling abzuschließen und Shift + S, um das Profil zu speichern.
Sobald erstellt, wird das Profil im Ordner “/etc/apparmor.d” gespeichert und im Durchsetzungsmodus geladen.
Profile bearbeiten
Um Ihr neu erstelltes Profil zu bearbeiten, verwenden Sie den folgenden Befehl:
sudo aa-logprof /etc/apparmor.d/In diesem Fall sollten ` den Namen des neuen Profils darstellen, das erstellt wurde, als Sie den Befehlaa-genprof` zuvor verwendet haben. AppArmor wird die Logeinträge scannen und es Ihnen ermöglichen, Änderungen am Profil vorzunehmen. ## Stoppen und Neustarten von AppArmor Wenn Sie aus irgendeinem Grund AppArmor stoppen müssen, können Sie dies einfach tun mit: sudo service apparmor stop Sie können bestätigen, dass es gestoppt wurde, indem Sie den Status mit diesem Befehl überprüfen: systemctl status apparmor
Und um AppArmor wieder zu starten: sudo service apparmor restart Wenn Sie den Status erneut überprüfen, sehen Sie ein grünes Licht, das anzeigt, dass AppArmor läuft.
Wenn Sie Ihren eigenen Server betreiben, sehen Sie sich diese Tipps an, um Ihren Linux-Server abzusichern. ## Häufig gestellte Fragen ### Warum deaktiviert AppArmor rsyslog standardmäßig? rsyslog ist konfigurierbare Software, die das Systemprotokoll verwaltet, einschließlich des Empfangs, der Umwandlung und der Lieferung von Protokollnachrichten an verschiedene Ziele. Sein AppArmor-Profil, “usr.sbin.rsyslogd”, ist enthalten, aber standardmäßig deaktiviert. Laut dem Canonical-Ingenieur Jamie Strandboge geschieht dies, weil rsyslog so hochgradig konfigurierbar ist, dass das Profil möglicherweise nicht immer richtig funktioniert. ### Was ist der Unterschied zwischen den AppArmor-Versionen 2 und 3? AppArmor 3.x ist die neueste Version von AppArmor und wurde am 1. Oktober 2020 veröffentlicht. Anders als AppArmor 2.x, das sehr alt ist und um 2007 veröffentlicht wurde, stellt AppArmor 3.x eine große Erweiterung dar. Es scheint, dass es keine aktive Entwicklung mehr auf der 2.x-Serie geben wird. Die neueste Version 2.13.6 wurde im Dezember 2020 veröffentlicht, und AppArmor 2.14 wird auf der Entwicklungswebsite als “abgebrochen” aufgelistet. AppArmor 3.0.7 wurde am 9. August 2022 veröffentlicht. ### Wenn ich AppArmor habe, benötige ich dann noch ein Antivirenprogramm? Ja, Sie benötigen auch ein Antivirenprogramm, selbst wenn Sie AppArmor ausgeführt haben. Die beiden führen völlig unterschiedliche Operationen aus und ergänzen sich gegenseitig. Es ist gut, ein Antivirenprogramm auf Ubuntu zu haben, auch wenn Linux-Systeme weniger von Malware-Erstellern ins Visier genommen werden. Was sind binäre Blobs und warum sind sie ein Sicherheitsrisiko? Lernen Sie die Antwort und wie Linux-Libre Ihnen besseren Schutz bieten kann als das normale Linux. Alle Screenshots von Brandon Li.