3.4. Erstellen von Novell AppArmor-Profilen mit der Befehlszeilenschnittstelle

Novell AppArmor bietet die Möglichkeit, Ihre Systemsicherheit mithilfe einer Befehlszeilenschnittstelle anstatt der grafischen Benutzeroberfläche zu verwalten und zu konfigurieren.

3.4.1. Prüfen des AppArmor-Modulstatus

Das AppArmor-Modul kann sich in einem von drei Status befinden:

Unloaded (Entladen)

Das AppArmor-Modul ist nicht in den Kernel geladen.

Running (Wird ausgeführt)

Das AppArmor-Modul ist in den Kernel geladen und setzt Novell AppArmor-Programmrichtlinien durch.

Gestoppt

Das AppArmor-Modul ist in den Kernel geladen, aber es werden keine Programmrichtlinien durchgesetzt.

Sie können ermitteln, in welchem der drei Status sich das AppArmor-Modul befindet, indem Sie /sys/kernel/security/apparmor/profiles überprüfen. Wenn cat /sys/kernel/security/apparmor/profiles eine Liste mit Profilen meldet, wird Novell AppArmor ausgeführt. Wenn sie leer ist und keinen Wert zurückgibt, wird AppArmor angehalten. Wenn die Datei nicht existiert, wird AppArmor entladen.

Das AppArmor-Modul kann mit den Linux-Modul-Standardbefehlen wie modprobe, insmod, lsmod und rmmod geladen und entladen werden, jedoch wird diese Methode nicht empfohlen. Stattdessen wird empfohlen, Novell AppArmor durch das Skript rcapparmor zu verwalten, das die folgenden Operationen ausführen kann:

rcapparmor start

Das Verhalten unterscheidet sich abhängig vom Status des AppArmor-Moduls. Wenn es entladen war, lädt start das Modul und startet es, wodurch es den Status "running" (wird ausgeführt) erhält. Wenn es angehalten war, veranlasst start das Modul, die Novell AppArmor-Profile neu zu scannen, die sich gewöhnlich in /etc/apparmor.d befinden, und setzt das Modul in den Status "running" (wird ausgeführt). Wenn das Modul bereits ausgeführt wurde, meldet start eine Warnung und ergreift keine Aktion.

rcapparmor stop

Hält das AppArmor-Modul an (falls es ausgeführt wurde), indem alle Profile aus dem Kernel-Speicher entfernt werden, und deaktiviert damit effektiv alle Zugriffskontrollen und setzt das Modul in den Status "stopped" (gestoppt). Wenn das AppArmor-Modul entladen oder bereits gestoppt war, versucht stop die Profile erneut zu entladen, aber es erfolgt keine Aktion.

rcapparmor restart

Veranlasst das AppArmor-Modul, die Profile erneut zu überprüfen, die sich gewöhnlich in /etc/apparmor.d befinden, ohne die Einschränkung von laufenden Prozessen aufzuheben, neue Profile hinzuzufügen und etwaige Profile zu entfernen, die aus /etc/apparmor.d gelöscht wurden.

rcapparmor kill

Entfernt das AppArmor-Modul bedingungslos aus dem Kernel. Dieser Vorgang beeinträchtigt die Sicherheit, da das Entladen von Modulen aus dem Linux-Kernel nicht sicher ist. Dieser Befehl wird nur für Fehlersuche und Notfälle zur Verfügung gestellt, in denen das Modul eventuell entfernt werden muss.

[Note]Anmerkung

Novell AppArmor ist ein leistungsstarkes System zur Zugriffskontrolle und es ist möglich, dass Sie sich aus Ihrem eigenen Rechner so weit aussperren, dass Sie ihn von Rettungsmedien (wie CD 1 von SUSE Linux) neu starten müssen, um wieder die Kontrolle zu erhalten.

Stellen Sie zur Vermeidung eines solchen Problems stets sicher, dass Sie beim Neustart des AppArmor-Moduls über eine laufende, uneinge­schränkte root-Anmeldung auf dem Rechner verfügen, der konfiguriert wird. Wenn Sie Ihr System so sehr beschädigen, dass keine Anmeldungen mehr möglich sind (beispielsweise durch Beschädigen des Profils, das mit dem SSH-Daemon verbunden ist), können Sie den Schaden beheben, indem Sie Ihre laufende root-Eingabe-Aufforderung verwenden und das AppArmor-Modul neu starten.

3.4.2. Erstellen von Novell AppArmor-Profilen

Die Profildefinitionen des AppArmor-Moduls werden im Verzeichnis /etc/apparmor.d/ als Klartext-Dateien gespeichert.

[Warning]Warnung

Alle Dateien im Verzeichnis /etc/apparmor.d/ werden als Profile interpretiert und geladen. Das Umbenennen von Dateien in diesem Verzeichnis ist keine wirksame Methode, um das Laden von Profilen zu verhindern. Sie müssen Profile aus diesem Verzeichnis entfernen, um sie wirksam zu verwalten.

Sie können einen Texteditor wie vim verwenden, um auf diese Profile zuzugreifen und sie zu ändern. Die folgenden Optionen enthalten ausführliche Schritte für die Erstellung von Profilen:

Verwenden Sie vim, um Ihr Profil anzuzeigen und zu bearbeiten, indem Sie "vim" in ein Terminalfenster eingeben. Wenn Sie beim Bearbeiten eines Novell AppArmor-Profils in vim Syntaxfarben aktivieren möchten, verwenden Sie die Befehle :syntax on und dann :set syntax=apparmor. Weitere Informationen zu vim und Syntaxfarben finden Sie unter Abschnitt 3.5.3.8, „apparmor.vim“ (↑ Novell AppArmor 2.0-Administrationshandbuch ).

[Note]Anmerkung

Nachdem Sie ein Profil geändert haben, verwenden Sie den Befehl rcapparmor restart, der im vorigen Abschnitt beschrieben ist. Dieser Befehl veranlasst Novell AppArmor, die Profile erneut zu lesen. Eine detaillierte Beschreibung der Syntax dieser Dateien finden Sie in Kapitel 3, Erstellen von Novell AppArmor-Profilen (↑ Novell AppArmor 2.0-Administrationshandbuch ).

3.4.3. Hinzufügen oder Erstellen von Novell AppArmor-Profilen

Sie können ein Novell AppArmor-Profil für eine Anwendung hinzufügen oder erstellen und abhängig von Ihren Anforderungen eine systemweite Profilerstellung oder Einzelprofilerstellung verwenden.

Einzelprofilerstellung

Geeignet für Profile von kleinen Anwendungen mit endlicher Laufzeit, etwa Benutzer-Client-Anwendungen wie Mail-Clients. Informationen finden Sie in Abschnitt 3.5.1, „Einzelprofilerstellung“ (↑ Novell AppArmor 2.0-Administrationshandbuch ).

Systemweite Profilerstellung

Geeignet für Profile, die gleichzeitig für eine große Anzahl an Programmen gelten oder für Anwendungen, die mehrere Tage, Wochen oder über Neustarts hinweg ablaufen, beispielsweise Netzwerkserver-Anwendungen wie Webserver und Mail­server. Abschnitt 3.5.2, „Systemweite Profilerstellung“ (↑ Novell AppArmor 2.0-Administrationshandbuch ).

3.4.4. Bearbeiten von Novell AppArmor-Profilen

Die folgenden Schritte beschreiben die Vorgehensweise für die Bearbeitung eines Novell AppArmor-Profils. Für ein besseres Verständnis der Bestandteile eines Profils siehe Abschnitt 3.1, „Profilkomponenten und Syntax“ (↑ Novell AppArmor 2.0-Administrationshandbuch ).

  1. Wenn Sie derzeit nicht als root angemeldet sind, geben Sie su in ein Ter­minalfenster ein.

  2. Geben Sie das root-Passwort ein, wenn Sie dazu aufgefordert werden.

  3. Um in das Verzeichnis zu wechseln, geben Sie cd /etc/apparmor.d/ ein.

  4. Geben Sie ls ein, um alle aktuell installierten Profile aufzulisten.

  5. Öffnen Sie das zu bearbeitende Profil in einem Texteditor, z. B. vim.

  6. Nehmen Sie die erforderlichen Änderungen vor und speichern Sie dann das Profil.

  7. Starten Sie Novell AppArmor neu, indem Sie rcapparmor restart in ein Terminalfenster eingeben.

3.4.5. Löschen von Novell AppArmor-Profilen

Die folgenden Schritte beschreiben die Vorgehensweise für das Löschen eines Novell AppArmor-Profils.

  1. Wenn Sie derzeit nicht als root angemeldet sind, geben Sie su in ein Ter­minalfenster ein.

  2. Geben Sie das root-Passwort ein, wenn Sie dazu aufgefordert werden.

  3. Um in das Novell AppArmor-Verzeichnis zu wechseln, geben Sie cd /etc/apparmor.d/ ein.

  4. Geben Sie ls ein, um alle aktuell installierten Novell AppArmor-Profile aufzulisten.

  5. Löschen Sie das bestehende Profil mit rm profilename.

  6. Starten Sie Novell AppArmor neu, indem Sie rcapparmor restart in ein Terminalfenster eingeben.