NAS-Speicher mit einer Kapazität von einigen Dutzend Terabyte, wie sie sich für mittelständische Anwender eignen, nimmt die ADMIN-Redaktion in der Ausgabe ... (mehr)

Profile editieren

Tomoyo Linux bringt von Haus aus bereits ein paar fertige Profile mit. Der Profile-Editor zeigt sie an, wenn man zunächst per [w] in sein Auswahlmenü und dann weiter mit [p] in den »Profile Editor« wechselt ( Abbildung 5 ). Jedes Profil bekommt eine Nummer von 0 bis 255 zugewiesen. Der Profile Editor zeigt in der ersten Spalte die Zeilennummern an, die Profil-Nummer steht immer links vom Bindestrich. In Abbildung 5 gibt es vier Profile von 0 bis 3. Ab der Tomoyo-Version 2.3 existieren für jedes Profil bis zu drei Einträge. Das Profil mit der Nummer 0 ist typischerweise mit folgenden drei Zeilen vertreten:

Abbildung 5: Standardmäßig bringt Tomoyo Linux vier Profile mit.
Abbildung 6: Unter Tomoyo 2.2 besteht ein Profil noch aus vier Einträgen.
0-COMMENT=disabled
0-CONFIG={ mode=disabled grant_log=yes reject_log=yes }
0-PREFERENCE={ max_audit_log=1024 max_learning_entry=2048 }

Hinter »COMMENT=« steht ein Name oder eine Beschreibung des Profils. In diesem Fall heißt es schlicht »disabled« .

Tomoyo-Linux kann alle Aktionen einer Domain gestatten, die verbotenen Aktionen abblocken oder sich in einem Lernmodus alle gerade von der Domain durchgeführten Aktionen als erlaubt notieren. Was Tomoyo davon machen soll, steht hinter »CONFIG=« in den geschweiften Klammern. Ein »mode=disabled« winkt beispielsweise später alle Aktionen der Domain einfach durch. Tabelle 3 listet alle weiteren Arbeitsmodi auf. Hinter »mode=« folgen noch ein paar weitere Parameter, die das Log-Verhalten von Tomoyo steuern (mehr dazu im Kasten "Horch, was kommt von draußen rein" ).

Tabelle 3

Die Arbeitsmodi von Tomoyo Linux

Wert hinter »mode=«

Auswirkung

disabled

Erlaubt alle Aktionen.

learning

Aktiviert den Lernmodus (lässt also alle Aktionen zu und fügt sie gleich als erlaubt dem Regelwerk hinzu).

permissive

Erlaubt alle Aktionen, auch wenn sie die Regeln verletzen.

enforcing

Blockt eine Aktion, wenn sie eine Regel verletzt.

Horch, was kommt von draußen rein

Ab Tomoyo 2.4 gehört der Daemon »tomoyo-auditd« zum Lieferumfang. Er protokolliert auf Wunsch alle akzeptierten und/oder zurückgewiesenen Aktionen eines Programms. Auf diese Weise kann man einem Prozess in Ruhe auf die Finger schauen und die Protokolle gleichzeitig als Grundlage für weitere Einschränkungen heranziehen. Programmierer können damit gleichzeitig das Verhalten ihrer Eigenentwicklungen unter die Lupe nehmen.

Welche Aktionen der Daemon protokolliert, legen die beiden Parameter »grant_log« und »reject_log« in der »CONFIG« -Zeile eines jeden Profils fest. Steht dort »grant_log=yes« , reicht Tomoyo alle vom Profil akzeptierten Aktionen an den Daemon weiter, bei »reject_log=yes« gilt das auch für die blockierten Aktionen.

»tomoyo-auditd« muss man entweder als Benutzer root per Hand starten oder das Programm »/usr/sbin/tomoyo-audit« der »/etc/rc.local« (beziehungsweise »/etc/rc.d/boot.local« in Open Suse) hinzufügen. Ein fertiges Startskript fehlt leider, eine Konfigurationsdatei für Distributionen mit »systemd« findet man immerhin in der Tomoyo-Dokumentation [5] .

Die zu protokollierenden Aktionen stellt Tomoyo Linux über »/sys/kernel/security/tomoyo/audit« bereit. Wohin der Daemon diese Informationen schreiben soll, bestimmt seine Konfigurationsdatei »/etc/tomoyo/tools/auditd.conf« . Sie ist gut dokumentiert und selbst erklärend. Standardmäßig verwirft der Daemon alle von Tomoyo akzeptierten Aktionen (genauer gesagt wandern sie nach »/dev/null« ), während die übrigen Informationen in einzelnen Log-Dateien unter »/var/log/tomoyo/« landen.

Abschließend darf man noch ein paar Feineinstellungen in den geschweiften Klammern hinter »PREFERENCES« vornehmen. Unter Tomoyo Linux 2.4 und 2.5 nennt »max_audit_log=« die maximale Anzahl der Audit-Logs, die sich der Kernel merkt, während »max_learning_entry=« die Anzahl der Aktionen vorgibt, die Tomoyo im Lernmodus höchstens an das Profil anhängt. Unter Tomoyo Linux 2.3 hat »max_entry« die gleiche Bedeutung wie »max_learning_entry« . Verletzt ein Prozess eine Regel, legt ihn Tomoyo 2.3 die hinter »enforcing_penalty« angegebene Zeit schlafen.

Komplizierter mit Debian

Eine Ausnahme bildet Tomoyo Linux 2.2, wie es etwa noch Debian 6 einsetzt. Dort ist jedes Profil mit gleich vier Einträgen vertreten ( Abbildung 6 ). Wie bei den Nachfolgerversionen gibt es auch hier zunächst eine »COMMENT« -Zeile. Hinter »MAC_FOR_FILE=« steht der Arbeitsmodus, erlaubt sind dabei wieder die Werte aus Tabelle 3 . »MAX_ACCEPT_ENTRY=« legt die Anzahl der Aktionen fest, die sich Tomoyo im Lernmodus höchstens merkt. Steht schließlich noch »TOMOYO_VERBOSE=« auf »enabled« protokolliert Tomoyo alle Regelverstöße im Syslog.

In der Praxis reichen die vier vorgegebenen Profile normalerweise aus. Wer dennoch eigene erstellen möchte oder muss, drückt [a] und gibt die Nummer des neuen Profils ein. Der Profile Editor erstellt jetzt ein neues Profil mit Standardwerten. Doch Vorsicht: Ein so angelegtes Profil bleibt bis zum Neustart erhalten (vorausgesetzt man hat die Konfiguration nicht gespeichert, dazu später noch mehr). Um eine Zeile zu verändern, steuert man sie an, drückt [s] und gibt dann den neuen Parameter ein beziehungsweise editiert die angezeigte Zeile.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023