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.
Audit-Konfigurationsdateien sollten vorsichtig gewartet und bearbeitet werden, da Fehler in der Konfiguration zu falscher Aufzeichnung von Ereignissen führen könnten.
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:
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.
Die audit_control
-Datei legt eine
Anzahl Vorgabewerte fest. Beim Betrachten des Inhaltes der
Datei sehen wir Folgendes:
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.
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.
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>.