Der Befehl erwartet von Ihnen die Angabe des Programms für das ein Profil erzeugt werden soll. Sie müssen dieses Programm, wie gewohnt, mit seinem kompletten Pfad eingeben. Genprof prüft dann zunächst, ob dieses Programm von einem Profil geschützt werden darf. Bestimmte Programme sind von dem Schutz durch AppArmor ausgenommen, da dadurch das gesamte System instabil werden kann. Diese Programme werden in der Konfigurationsdatei /etc/apparmor/logprof.conf definiert (siehe 10.4.1).
Anschließend prüft dieser Befehl, welches Protokollsystem aktuell für die Verarbeitung der AppArmor-Meldungen zuständig ist. Falls die AppArmor-Meldungen von dem Syslog verarbeitet und in der Datei /var/log/messages gespeichert werden, erzeugt genprof eine Markierung in dieser Datei:
kernel GenProf: <MD5-Pruefsumme des Datums>Erfolgt die Protokollierung über den Auditd-Daemon, so liest genprof den letzten Eintrag in dem Protokoll, um später die neu hinzugefügten Meldungen erkennen zu können.
Als nächstes prüft dieser Befehl, ob für das zu analysierende Programm bereits ein Profil existiert. Ist dies nicht der Fall, erzeugt der Befehl zunächst mit Hilfe des Kommandos autodep ein Basisprofil. Das Profil wird dann mit complain in den Lernmodus geschaltet und Sie werden aufgefordert nun das Programm, für das genprof das Profil erzeugen soll, zu benutzen (siehe 10.1).
|
|
Sobald alle Meldungen abgearbeitet und alle Fragen von Ihnen beantwortet wurden, erzeugt Genprof das neue Profil, lädt es und versetzt es wieder in den Lernmodus. Sie können nun das Programm weiter verwenden und erneut den Scan durchführen, um neue Zugriffe in das Profil aufzunehmen. Wenn Sie fertig sind, beenden Sie Genprof mit Finish. Genprof wird nun das Profil in den Enforce-Modus schalten. Alle Zugriffe, die Sie nicht erlaubt haben, werden nun von AppArmor unterbunden.
Natürlich können Sie zu jedem späteren Zeitpunkt die Anpassung des Profils wiederaufnehmen. Dazu starten Sie wieder Genprof für das betroffenen Programm. Zugriffe, die bisher nicht erlaubt waren, aber von dem Programm benötigt werden, können dann wieder mit Genprof dem Profil hinzugefügt werden.
Ralf Spenneberg 2007-11-13