18.4. Die Konfiguration des Audit

Alle Konfigurationsdateien für das Sicherheits-Audit finden sich unter /etc/security. Die folgenden Dateien müssen vorhanden sein, bevor der Audit-Daemon gestartet wird:

Warnung:

Audit-Konfigurationsdateien sollten vorsichtig gewartet und bearbeitet werden, da Fehler in der Konfiguration zu falscher Aufzeichnung von Ereignissen führen könnten.

18.4.1. Ereignis-Auswahlausdrücke

Auswahlausdrücke werden an einigen Stellen der Audit-Konfiguration benützt, um zu bestimmen, welche Ereignisse auditiert werden sollen. Die Ausdrücke enthalten eine Liste der Ereignisklassen, welche verglichen werden sollen, jede mit einem Präfix, welches anzeigt, ob verglichene Datensätze akzeptiert oder ignoriert werden sollen und optional, um anzuzeigen, ob der Eintrag beabsichtigt, erfolgreiche oder fehlgeschlagene Operationen zu vergleichen. Auswahlausdrücke werden von links nach rechts ausgewertet und zwei Ausdrücke werden durch Aneinanderhängen miteinander kombiniert.

Die folgende Liste enthält die Standard-Ereignisklassen für das Audit und ist in audit_class festgehalten:

  • all – all – Vergleiche alle Ereignisklassen.

  • ad – administrative – Administrative Aktionen ausgeführt auf dem System als Ganzes.

  • ap – application – Aktionen definiert für Applikationen.

  • cl – file close – Audit-Aufrufe für den Systemaufruf close.

  • ex – exec – Ausführung des Audit-Programms. Auditierung von Befehlszeilen-Argumenten und Umgebungsvariablen wird gesteuert durch audit_control(5) mittels der argv und envv-Parametergemäss der Richtlinien-Einstellungen.

  • fa – file attribute access – Auditierung des Zugriffs auf Objektattribute wie stat(1), pathconf(2) und ähnlichen Ereignissen.

  • fc – file create – Audit-Ereignisse, bei denen eine Datei als Ergebnis angelegt wird.

  • fd – file delete – Audit-Ereignisse, bei denen Dateilöschungen vorkommen.

  • fm – file attribute modify – Audit-Ereignisse, bei welchen Dateiattribute geändert werden, wie chown(8), chflags(1), flock(2) etc.

  • fr – file read – Audit-Ereignisse, bei denen Daten gelesen oder Dateien zum lesen geöffnet werden usw.

  • fw – file write – Audit-Ereignisse, bei welchen Daten geschrieben oder Dateien geschrieben oder verändert werden usw.

  • io – ioctl – Nutzung des Systemaufrufes ioctl(2) durch Audit.

  • ip – ipc – Auditierung verschiedener Formen von Inter-Prozess-Kommunikation einschliesslich POSIX-Pipes und System V IPC-Operationen.

  • lo – login_logout – Audit-Ereignisse betreffend login(1) und logout(1), welche auf dem System auftreten.

  • na – non attributable – Auditierung nicht-attributierbarer Ereignisse (Ereignisse, die nicht auf einen bestimmten Benutzer zurückgeführt werden können).

  • no – invalid class – Kein Abgleich von Audit-Ereignissen.

  • nt – network – Audit-Ereignisse in Zusammenhang mit Netzwerkaktivitäten wie z.B. connect(2) und accept(2).

  • ot – other – Auditierung verschiedener Ereignisse.

  • pc – process – Auditierung von Prozess-Operationen wie exec(3) und exit(3).

Diese Ereignisklassen können angepasst werden durch Modifizierung der Konfigurationsdateien audit_class und audit_event.

Jede Audit-Klasse in dieser Liste ist kombiniert mit einem Präfix, welches anzeigt, ob erfolgreiche/gescheiterte Operationen abgebildet werden, und ob der Eintrag den Abgleich hinzufügt oder entfernt für die Klasse und den Typ.

  • (none) Kein Präfix, sowohl erfolgreiche als auch gescheiterte Vorkommen eines Ereignisses werden auditiert.

  • + Auditiere nur erfolgreiche Ereignisse in dieser Klasse.

  • - Auditiere nur gescheiterte Operationen in dieser Klasse.

  • ^ Auditiere weder erfolgreiche noch gescheiterte Ereignisse in dieser Klasse.

  • ^+ Auditiere keine erfolgreichen Ereignisse in dieser Klasse.

  • ^- Auditiere keine gescheiterten Ereignisse in dieser Klasse.

Das folgende Beispiel einer Auswahl-Zeichenkette wählt erfolgreiche und gescheiterte Anmelde/Abmelde-Ereignisse aus, aber nur erfolgreich beendete Ausführungs-Ereignisse:

lo,+ex

18.4.2. Konfigurationsdateien

In den meisten Fällen müssen Administratoren nur zwei Dateien ändern, wenn sie das Audit-System konfigurieren: audit_control und audit_user. Die erste Datei steuert systemweite Audit-Eigenschaften und -Richtlinien; die zweite Datei kann für die Feinanpassung der Auditierung von Benutzern verwendet werden.

18.4.2.1. Die audit_control-Datei

Die audit_control-Datei legt eine Anzahl Vorgabewerte fest. Beim Betrachten des Inhaltes der Datei sehen wir Folgendes:

dir:/var/audit
flags:lo
minfree:20
naflags:lo
policy:cnt
filesz:0

Die Option dir wird genutzt, um eines oder mehrere Verzeichnisse festzulegen, in welchen Audit-Protokolle gespeichert werden. Gibt es mehrere Verzeichniseinträge, werden diese in der angegebenen Reihenfolge genutzt, bis sie jeweils gefüllt sind. Es ist üblich, Audit so zu konfigurieren, dass die Audit-Logs auf einem dedizierten Dateisystem abgelegt werden, um Wechselwirkungen zwischen dem Audit-Subsystem und anderen Subsystemen zu verhindern, falls das Dateisystem voll läuft.

Das flags-Feld legt die systemweite Standard-Vorauswahl-Maske für attributierbare (direkt einem Benutzer zuordenbare) Ereignisse fest. Im obigen Beispiel werden alle gescheiterten und erfolgreichen Anmelde- und Abmelde-Ereignisse für alle Benutzer aufgezeichnet.

Die Option minfree definiert den minimalen Prozentsatz an freiem Plattenplatz für das Dateisystem, in welchem der Audit-Pfad abgespeichert wird. Wenn diese Schwelle überschritten ist, wird ein Warnhinweis erzeugt. Das obige Beispiel legt den minimalen freien Platz auf zwanzig Prozent fest.

Die naflags-Option bestimmt diejenigen Audit-Klassen, für die nicht-attributierbare Ereignisse aufgezeichnet werden sollen (beispielsweise Anmeldeprozesse und System-Daemonen.

Die Option policy legt eine durch Kommata getrennte Liste von policy-Flags fest, welche verschiedene Aspekte des Audit-Verhaltens steuern. Der vorgegebene Flag cnt zeigt an, dass das System trotz eines Audit-Fehlers weiterlaufen soll (dieses Flag wird dringend angeraten). Ein anderes, häufig genutztes Flag ist argv, welches dazu führt, dass Befehlszeilen-Argumente für den Systemauruf execve(2) als Teil der Befehlsausführung aufgezeichnet werden.

Die filesz-Option spezifiziert die maximale Größe in Bytes, welche eine Audit-Pfad-Datei wachsen darf, bevor sie automatisch beendet und rotiert wird. Die Standardvorgabe 0 setzt die automatische Log-Rotation ausser Kraft. Falls die angeforderte Dateigröße größer Null und gleichzeitig unterhalb des Minimums von 512K ist, dann wird die Angabe verworfen und ein Log-Hinweis wird erzeugt.

18.4.2.2. Die Datei audit_user

Die audit_user-Datei erlaubt es dem Administrator, weitere Audit-Erfordernisse für bestimmte Benutzer festzulegen. Jede Zeile konfiguriert das Auditing für einen Benutzer über zwei Felder: Das erste Feld ist alwaysaudit, welches eine Ansammlung von Ereignissen vorgibt, welche immer für diesen Benutzer aufgezeichnet werden. Das zweite Feld neveraudit legt eine Menge an Ereignissen fest, die niemals für diesen Benutzer auditiert werden sollen.

Das folgende Beispiel einer audit_user-Datei zeichnet Anmelde/Abmelde-Ereignisse, erfolgreiche Befehlsausführungen für den Benutzer root, Anlegen von Dateien und erfolgreiche Befehlsausführungen für den Benutzer www auf. Falls das Beispiel zusammen mit der vorstehend als Beispiel gezeigten Datei audit_control benutzt wird, dann ist der Eintrag lo für Benutzer root überflüssig und Anmelde/Abmelde-Ereignisse werden für den Benutzer www ebenfalls aufgezeichnet.

root:lo,+ex:no
www:fc,+ex:no

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.