So erstellen Sie AppArmor-Profile zum Sperren von Programmen auf Ubuntu
AppArmor sperrt Programme auf Ihrem Ubuntu-System und gewährt ihnen nur die Berechtigungen, die sie für den normalen Gebrauch benötigen - besonders nützlich für Serversoftware, die möglicherweise gefährdet ist. AppArmor enthält einfache Tools, mit denen Sie andere Anwendungen sperren können.
AppArmor ist standardmäßig in Ubuntu und einigen anderen Linux-Distributionen enthalten. Ubuntu enthält AppArmor mit mehreren Profilen. Sie können jedoch auch eigene AppArmor-Profile erstellen. Die Dienstprogramme von AppArmor können die Ausführung eines Programms überwachen und Sie beim Erstellen eines Profils unterstützen.
Bevor Sie ein eigenes Profil für eine Anwendung erstellen, sollten Sie das Paket apparmor-profiles in den Ubuntu-Repositorys überprüfen, um festzustellen, ob bereits ein Profil für die Anwendung existiert, die Sie einschränken möchten.
Erstellen und Ausführen eines Testplans
Sie müssen das Programm ausführen, während AppArmor es beobachtet, und alle normalen Funktionen durchlaufen. Grundsätzlich sollten Sie das Programm wie gewohnt verwenden: Starten Sie das Programm, stoppen Sie es, laden Sie es neu und verwenden Sie alle Funktionen. Sie sollten einen Testplan erstellen, der die Funktionen ausführt, die das Programm ausführen muss.
Bevor Sie Ihren Testplan durchlaufen, starten Sie ein Terminal und führen Sie die folgenden Befehle aus, um aa-genprof zu installieren und auszuführen:
sudo apt-get install apparmor-utils
Sudo aa-genprof / Pfad / zu / binär
Lassen Sie aa-genprof im Terminal laufen, starten Sie das Programm und führen Sie den oben erstellten Testplan durch. Je umfassender Ihr Testplan ist, desto weniger Probleme treten später auf.
Nachdem Sie Ihren Testplan ausgeführt haben, kehren Sie zum Terminal zurück und drücken Sie die Taste S Taste, um das Systemprotokoll auf AppArmor-Ereignisse zu prüfen.
Für jedes Ereignis werden Sie aufgefordert, eine Aktion auszuwählen. Unten sehen wir zum Beispiel, dass / usr / bin / man, das wir profiliert haben, / usr / bin / tbl ausgeführt hat. Wir können auswählen, ob / usr / bin / tbl die Sicherheitseinstellungen von / usr / bin / man übernehmen soll, ob es mit einem eigenen AppArmor-Profil ausgeführt werden soll oder ob es im unbeschränkten Modus ausgeführt werden soll.
Bei einigen anderen Aktionen werden verschiedene Eingabeaufforderungen angezeigt. Hier erlauben wir den Zugriff auf / dev / tty, ein Gerät, das das Terminal darstellt
Am Ende des Vorgangs werden Sie aufgefordert, Ihr neues AppArmor-Profil zu speichern.
Aktivieren des Beschwerdungsmodus und Optimieren des Profils
Nachdem Sie das Profil erstellt haben, setzen Sie es in den Reklamationsmodus, in dem AppArmor die durchzuführenden Aktionen nicht einschränkt, sondern protokolliert stattdessen alle Einschränkungen, die andernfalls auftreten würden:
Sudo aa-beklagen / Pfad / zu / binär
Verwenden Sie das Programm eine Zeit lang normal. Führen Sie nach der normalen Verwendung im Reklamationsmodus den folgenden Befehl aus, um Ihre Systemprotokolle auf Fehler zu prüfen und das Profil zu aktualisieren:
Sudo aa-logprof
Verwenden des Erzwingungsmodus zum Sperren der Anwendung
Nachdem Sie Ihr AppArmor-Profil optimiert haben, aktivieren Sie den Modus "Durchsetzen", um die Anwendung zu sperren:
Sudo aa-Durchsetzung / Pfad / zu / binär
Möglicherweise möchten Sie das ausführen Sudo aa-logprof Befehl in der Zukunft, um Ihr Profil zu optimieren.
AppArmor-Profile sind reine Textdateien, sodass Sie sie in einem Texteditor öffnen und von Hand anpassen können. Die oben genannten Dienstprogramme führen Sie jedoch durch den Prozess.