Das FreeBSD-Handbuch
Zurück | Kapitel 17. Security Event Auditing | Weiter

# 17.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:

- `audit_class` - Enthält die Definitionen der Audit-Klassen.

- `audit_control` - Steuert Teile des Audit-Subsystems wie Audit-Klassen, minimaler Plattenplatz auf dem Audit-Log-Datenträger, maximale Größe des Audit-Pfades usw.

- `audit_event` - Wörtliche Namen und Beschreibungen von System-Audit-Ereignissen sowie eine Liste, welche Klassen welches Ereignis aufzeichnen.

- `audit_user` - Benutzerspezifische Audit-Erfordernisse, welche mit den globalen Vorgaben bei der Anmeldung kombiniert werden.

- `audit_warn` - Ein anpassbares Shell-Skript, welches von auditd benutzt wird, um Warnhinweise in aussergewöhnlichen Situationen zu erzeugen, z.B. wenn der Platz für die Audit-Datensätze knapp wird oder wenn die Datei des Audit-Pfades rotiert wurde.

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

## 17.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

## 17.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.

### 17.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.

### 17.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

Zurück | Zum Anfang | Weiter
Installation der Audit-Unterstützung | Nach oben | Administration des Audit-Subsystems

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>.