Apparmor Funktionsweise
Zur Navigation springen
Zur Suche springen
Grundsätzliches
- App Armor ist auch ein System zur Umsetzung von Mandatory Access Control.
- AppArmor ergänzt, die standardmäßige Discretionary Access Control (DAC), anstatt sie zu ersetzen.
- Daher ist es unmöglich, einem Prozess mehr Privilegien zu gewähren, als er ursprünglich hatte.
- Ubuntu, SUSE und eine Reihe anderer Distributionen verwenden es standardmäßig.
- Es unterscheidet für jede einzelne Datei, ob der erbetene Zugriff erlaubt ist oder nicht..
- Ganz gleich welcher Benutzer den Zugriff auf ein bestimmtes Objekt anfragt – er hat aus Sicht von App Armor exakt die gleichen Rechte wie alle anderen Benutzer auch.
- Das einzige Kriterium, das für App Armor überhaupt eine Rolle bei der Entscheidung spielt, ob es den Zugriff auf ein Objekt erlaubt, ist dessen Pfad im System.
Profile
- Die Regeln für dieses Spiel sind in so genannten Profiles definiert: Ein App-Armor-Profil legt die Zugriffsregeln für Programme im System fest.
- Ein App-Armor-Profil für den Daemon »sshd« könnte zum Beispiel festlegen, dass dieses Programm auf die Datei »/etc/ssh/sshd_config« lesend zugreifen darf.
- Führt Systemd das Programm »sshd« dann beim Systemstart tatsächlich aus, überprüft App Armor, dessen Systemaufrufe.
- Es winkt sie durch oder blockiert sie, wenn der Daemon auf Ressourcen zugreifen will, die ihm nicht erlaubt wurden.
- Die Profildateien liegen im Klartext-Format alle im Verzeichnis »/etc/ apparmor.d«.
- Dort liest ein Hilfsprogramm sie aus und lädt sie beim Start des Systems in den laufenden Kernel.
- Das hat aus Sicht des Nutzers den Vorteil, dass es sehr einfach ist, zusätzliche App-Armor-Profile hinzuzufügen.
- Tatsächlich genügt es, ein syntaktisch korrektes File in den genannten Ordner zu platzieren.
- Anschließend den Befehl »aa-enforce Programm« als Benutzer Root auf der Kommandozeile aufzurufen.
- Programm ist dabei durch den Namen des Programms zu ersetzen, auf den sich das App-Armor-Profil beziehen soll.
- Und das war es dann auch schon: Ab sofort schaut App Armor dem genannten Binary genau auf die Finger.
Konfiguration
- Jeder Richtlinienverstoß löst eine Meldung im Systemprotokoll aus.
- AppArmor kann so konfiguriert werden, dass Benutzer mit Warnungen zu Verstößen in Echtzeit benachrichtigt werden, die auf dem Desktop angezeigt werden.
Wie komme ich an Profile
- Profile generieren lassen.
- Profile manuell schreiben.
- Profile von anderen benutzen und gegebenenfalls anpassen.