aboutsummaryrefslogtreecommitdiff
path: root/de_DE.ISO8859-1/books/handbook/audit/chapter.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/audit/chapter.sgml')
-rw-r--r--de_DE.ISO8859-1/books/handbook/audit/chapter.sgml840
1 files changed, 0 insertions, 840 deletions
diff --git a/de_DE.ISO8859-1/books/handbook/audit/chapter.sgml b/de_DE.ISO8859-1/books/handbook/audit/chapter.sgml
deleted file mode 100644
index db87fe7759..0000000000
--- a/de_DE.ISO8859-1/books/handbook/audit/chapter.sgml
+++ /dev/null
@@ -1,840 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
-<!--
- The FreeBSD Documentation Project
- The FreeBSD German Documentation Project
-
- $FreeBSD$
- $FreeBSDde: de-docproj/books/handbook/audit/chapter.sgml,v 1.14 2012/02/16 20:28:26 bcr Exp $
- basiert auf: 1.36
--->
-
-<!-- Need more documentation on praudit, auditreduce, etc. Plus more info
-on the triggers from the kernel (log rotation, out of space, etc).
-And the /dev/audit special file if we choose to support that. Could use
-some coverage of integrating MAC with Event auditing and perhaps discussion
-on how some companies or organizations handle auditing and auditing
-requirements. -->
-
-<chapter id="audit">
- <chapterinfo>
- <authorgroup>
- <author>
- <firstname>Tom</firstname>
- <surname>Rhodes</surname>
- <contrib>Geschrieben von </contrib>
- </author>
- <author>
- <firstname>Robert</firstname>
- <surname>Watson</surname>
- </author>
- </authorgroup>
- <authorgroup>
- <author>
- <firstname>Daniel</firstname>
- <surname>Seuffert</surname>
- <contrib>Übersetzt von </contrib>
- </author>
- </authorgroup>
- </chapterinfo>
-
- <title>Security Event Auditing</title>
-
- <sect1 id="audit-synopsis">
- <title>Einleitung</title>
-
- <indexterm><primary>AUDIT</primary></indexterm>
- <indexterm>
- <primary>Security Event Auditing</primary>
- <see>MAC</see>
- </indexterm>
-
- <para>Das &os;-Betriebssystem unterstützt
- ein feingranuliertes Sicherheits-Auditing.
- Ereignis-Auditing erlaubt die
- zuverlässige, feingranulierte und konfigurierbare
- Aufzeichnung einer Vielzahl von sicherheitsrelevanten
- Systemereignissen einschliesslich Benutzereingaben,
- Konfigurationsänderungen sowie Datei- und
- Netzwerkzugriffen. Diese Log-Datensätze können
- unschätzbar wertvoll sein für direkte
- Systemüberwachung, Einbruchserkennung und
- Post-Mortem-Analyse. &os; implementiert &sun;s öffentlich
- zugängliche <acronym>BSM</acronym> API und Dateiformat. Die
- &os;-Implementierung kann mit den Audit-Implementierungen von
- &sun; &solaris; und &apple; &macos; X zusammenarbeiten.</para>
-
- <para>Dieses Kapitel konzentriert sich auf die Installation
- und Konfiguration des Ereignis-Auditings. Es erklärt
- Audit-Richtlinien und stellt ein Beispiel einer
- Audit-Konfiguration vor.</para>
-
- <para>Nach dem Lesen dieses Kapitels werden Sie
- Folgendes wissen:</para>
-
- <itemizedlist>
- <listitem>
- <para>Was Ereignis-Auditing ist und wie es arbeitet.</para>
- </listitem>
-
- <listitem>
- <para>Wie man Ereignis-Auditing in &os; für Benutzer
- und Prozesse konfiguriert.</para>
- </listitem>
-
- <listitem>
- <para>Wie man den Audit-Pfad mittels Audit-Reduktion und
- Revisionswerkzeugen überprüft.</para>
- </listitem>
- </itemizedlist>
-
- <para>Vor dem Lesen dieses Kapitels sollten Sie:</para>
-
- <itemizedlist>
- <listitem>
- <para>Sowohl &unix; als auch &os;-Basismechanismen
- beherrschen (<xref linkend="basics"/>).</para>
- </listitem>
-
- <listitem>
- <para>Mit den grundlegenden Mechanismen der
- Kernel-Konfiguration und -Kompilierung vertraut sein (<xref
- linkend="kernelconfig"/>).</para>
- </listitem>
-
- <listitem>
- <para>Mit den Maßnahmen zur Sicherung von &os;
- vertraut sein (<xref linkend="security"/>).</para>
- </listitem>
- </itemizedlist>
-
- <warning>
- <para>Die Audit-Funktionalität in &os; besitzt die
- Einschränkungen, dass zur Zeit nicht alle
- sicherheitsrelevanten System-Ereignisse auditierbar sind und
- dass einige Anmelde-Mechanismen, wie z.B. X11-basierte
- Bildschirm-Manager und Daemonen von Drittanbietern, das
- Auditing für Benutzeranmeldungen nicht korrekt
- konfigurieren.</para>
-
- <para>Das Sicherheits-Auditing ist in der Lage, sehr
- detaillierte Log-Dateien von Systemaktivitäten zu
- erzeugen. Auf einem ausgelasteten System kann die Pfad-Datei
- sehr groß werden, wenn sie für hohe Auflösung
- konfiguriert ist, und im Extremfall pro Woche um mehrere
- Gigabyte anwachsen. Administratoren sollten daher den
- benötigten Plattenplatz in Verbindung mit umfangreichen
- Audit-Konfigurationen berücksichtigen. So kann es
- wünschenswert sein, ein eigenes
- Dateisystem für <filename>/var/audit</filename>
- einzusetzen, damit andere Dateisysteme nicht betoffen sind,
- wenn das Dateisystem des Audit voll läuft.</para>
- </warning>
- </sect1>
-
- <sect1 id="audit-inline-glossary">
- <title>Schlüsselbegriffe</title>
-
- <para>Vor dem Lesen dieses Kapitels müssen einige
- Audit-bezogene Schlüsselbegriffe erläutert
- werden:</para>
-
- <itemizedlist>
- <listitem>
- <para><emphasis>event</emphasis>: Ein auditierbares Ereignis
- ist ein Ereignis, das mit dem Audit-Subsystem
- aufgezeichnet werden kann. Beispiele für
- sicherheitsrelevante Systemereignisse sind etwa das Anlegen
- von Dateien, das Erstellen einer Netzwerkverbindung oder
- eine Benutzeranmeldung. Ereignisse sind entweder
- <quote>attributierbar</quote>, können also zu einen
- authentifizierten Benutzer zurückverfolgt werden, oder
- sind <quote>nicht-attributierbar</quote>, falls dies nicht
- möglich ist. Nicht-attributierbare Ereignisse erfolgen
- daher vor der Authentifizierung im Anmeldeprozess
- (beispielsweise die Eingabe eines falschen Passworts).</para>
- </listitem>
-
- <listitem>
- <para><emphasis>class</emphasis>: Ereignisklassen sind
- benannte Zusammenstellungen von zusammengehörenden
- Ereignissen und werden in Auswahl-Ausdrücken benutzt.
- Häufig genutzte Klassen von Ereignissen schließen
- <quote>file creation</quote> (fc, Anlegen von Dateien),
- <quote>exec</quote> (ex, Ausführung) und
- <quote>login_logout</quote> (lo, Anmeldung-Abmeldung)
- ein.</para>
- </listitem>
-
- <listitem>
- <para><emphasis>record</emphasis>: Ein Datensatz ist ein
- Audit-Logeintrag, welcher ein Sicherheitsereignis
- enthält. Jeder Datensatz enthält einen
- Ereignistyp, Informationen über den Gegenstand
- (Benutzer), welcher die Aktion durchführt, Datums- und
- Zeitinformationen, Informationen über jedes Objekt oder
- Argument sowie den Zustand hinsichtlich Erfolg oder
- Scheitern der Operation.</para>
- </listitem>
-
- <listitem>
- <para><emphasis>trail</emphasis>: Ein Audit-Pfad (audit
- trail) oder eine Log-Datei besteht aus einer Reihe von
- Audit-Datensätzen, die Sicherheitsereignisse
- beschreiben. Normalerweise sind die Pfade in grober
- zeitlicher Reihenfolge bezüglich des Zeitpunktes,
- an welchem ein Ereignis beendet wurde. Nur authorisierte
- Prozesse dürfen Datensätze zum Audit-Pfad
- hinzufügen.</para>
- </listitem>
-
- <listitem>
- <para><emphasis>selection expression</emphasis>: Ein
- Auswahlausdruck ist eine Zeichenkette, welche eine Liste von
- Präfixen und Audit-Ereignisklassennamen enthält,
- um Ereignisse abzugleichen.</para>
- </listitem>
-
- <listitem>
- <para><emphasis>preselection</emphasis>: Die Vorauswahl ist
- der Prozess, durch den das System erkennt, welche Ereignisse
- von Interesse für den Administrator sind, um die
- Erzeugung von Datensätze zu verhindern, welche nicht
- von Belang sind. Die Konfiguration der Vorauswahl benutzt
- eine Reihe von Auswahl-Ausdrücken, um zu erkennen,
- welche Klassen von Ereignissen für welche Benutzer
- aufgezeichnet werden sollen sowie globale Einstellungen,
- welche sowohl auf authorisierte
- als auch unauthorisierte Prozesse angewendet werden.</para>
- </listitem>
-
- <listitem>
- <para><emphasis>reduction</emphasis>: Die Reduzierung ist
- der Prozess, durch den Datensätze von bestehenden
- Audit-Pfaden ausgewählt werden für Speicherung,
- Ausdruck oder Analyse. Ebenso der Prozess, durch den
- unerwünschte Datensätze aus dem Audit-Pfad
- entfernt werden. Mittels Reduzierung können
- Administratoren Richtlinien für die Speicherung von
- Audit-Daten vorgeben. Zum Beispiel können
- ausführliche Audit-Pfade für einen Monat
- gespeichert werden, um danach den Pfad für
- archivarische Zwecke auf die Anmeldeinformationen
- zu reduzieren.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 id="audit-install">
- <title>Installation der Audit-Unterstützung</title>
-
- <para>Die Unterstützung des Ereignis-Auditings für den
- Benutzerbereich wird bereits als Teil des Basissystems installiert.
- Die Audit-Unterstützung ist bereits im &os;-Standardkernel
- enthalten, jedoch müssen Sie die folgende Zeile explizit in
- Ihre Kernelkonfigurationsdatei aufnehmen und den Kernel neu bauen:</para>
-
- <programlisting>options AUDIT</programlisting>
-
- <para>Bauen und installieren Sie den Kernel wie in
- <xref linkend="kernelconfig"/> beschrieben ist.</para>
-
- <para>Nachdem der Kernel mit Audit-Unterstützung
- gebaut und installiert ist und das System neu gestartet wurde,
- aktivieren Sie den Audit-Daemon
- durch das Einfügen der folgenden Zeile in die Datei
- &man.rc.conf.5;:</para>
-
- <programlisting>auditd_enable="YES"</programlisting>
-
- <para>Die Audit-Unterstützung kann nun durch einen
- Neustart des Systems oder durch das manuelle Starten
- des Audit-Daemon aktiviert werden:</para>
-
- <programlisting>/etc/rc.d/auditd start</programlisting>
- </sect1>
-
- <sect1 id="audit-config">
- <title>Die Konfiguration des Audit</title>
-
- <para>Alle Konfigurationsdateien für das Sicherheits-Audit
- finden sich unter
- <filename class="directory">/etc/security</filename>.
- Die folgenden Dateien müssen vorhanden sein, bevor
- der Audit-Daemon gestartet wird:</para>
-
- <itemizedlist>
- <listitem>
- <para><filename>audit_class</filename>&nbsp;&ndash;&nbsp;Enthält
- die Definitionen der Audit-Klassen.</para>
- </listitem>
-
- <listitem>
- <para><filename>audit_control</filename>&nbsp;&ndash;&nbsp;Steuert
- Teile des Audit-Subsystems wie Audit-Klassen, minimaler
- Plattenplatz auf dem Audit-Log-Datenträger, maximale
- Größe des Audit-Pfades usw.</para>
- </listitem>
-
- <listitem>
- <para><filename>audit_event</filename>&nbsp;&ndash;&nbsp;Wörtliche
- Namen und Beschreibungen von System-Audit-Ereignissen sowie
- eine Liste, welche Klassen welches Ereignis
- aufzeichnen.</para>
- </listitem>
-
- <listitem>
- <para><filename>audit_user</filename>&nbsp;&ndash;&nbsp;Benutzerspezifische
- Audit-Erfordernisse, welche mit den globalen Vorgaben bei
- der Anmeldung kombiniert werden.</para>
- </listitem>
-
- <listitem>
- <para><filename>audit_warn</filename>&nbsp;&ndash;&nbsp;Ein
- anpassbares Shell-Skript, welches von
- <application>auditd</application> 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.</para>
- </listitem>
- </itemizedlist>
-
- <warning>
- <para>Audit-Konfigurationsdateien sollten vorsichtig gewartet und
- bearbeitet werden, da Fehler in der Konfiguration zu falscher
- Aufzeichnung von Ereignissen führen könnten.</para>
- </warning>
-
- <sect2>
- <title>Ereignis-Auswahlausdrücke</title>
-
- <para>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.</para>
-
- <para>Die folgende Liste enthält die
- Standard-Ereignisklassen für das Audit und ist in
- <filename>audit_class</filename> festgehalten:</para>
-
- <itemizedlist>
- <listitem>
- <para><literal>all</literal>&nbsp;&ndash;&nbsp;<emphasis>all</emphasis>&nbsp;&ndash;&nbsp;Vergleiche
- alle Ereignisklassen.</para>
- </listitem>
-
- <listitem>
- <para><literal>ad</literal>&nbsp;&ndash;&nbsp;<emphasis>administrative</emphasis>&nbsp;&ndash;&nbsp;Administrative
- Aktionen ausgeführt auf dem System als Ganzes.</para>
- </listitem>
-
- <listitem>
- <para><literal>ap</literal>&nbsp;&ndash;&nbsp;<emphasis>application</emphasis>&nbsp;&ndash;&nbsp;Aktionen
- definiert für Applikationen.</para>
- </listitem>
-
- <listitem>
- <para><literal>cl</literal>&nbsp;&ndash;&nbsp;<emphasis>file
- close</emphasis>&nbsp;&ndash;&nbsp;Audit-Aufrufe für
- den Systemaufruf <function>close</function>.</para>
- </listitem>
-
- <listitem>
- <para><literal>ex</literal>&nbsp;&ndash;&nbsp;<emphasis>exec</emphasis>&nbsp;&ndash;&nbsp;Ausführung
- des Audit-Programms. Auditierung von
- Befehlszeilen-Argumenten und Umgebungsvariablen wird
- gesteuert durch &man.audit.control.5; mittels der
- <literal>argv</literal> und
- <literal>envv</literal>-Parametergemäss der
- <literal>Richtlinien</literal>-Einstellungen.</para>
- </listitem>
-
- <listitem>
- <para><literal>fa</literal>&nbsp;&ndash;&nbsp;<emphasis>file
- attribute access</emphasis>&nbsp;&ndash;&nbsp;Auditierung
- des Zugriffs auf Objektattribute wie &man.stat.1;,
- &man.pathconf.2; und ähnlichen Ereignissen.</para>
- </listitem>
-
- <listitem>
- <para><literal>fc</literal>&nbsp;&ndash;&nbsp;<emphasis>file
- create</emphasis>&nbsp;&ndash;&nbsp;Audit-Ereignisse,
- bei denen eine Datei als Ergebnis angelegt wird.</para>
- </listitem>
-
- <listitem>
- <para><literal>fd</literal>&nbsp;&ndash;&nbsp;<emphasis>file
- delete</emphasis>&nbsp;&ndash;&nbsp;Audit-Ereignisse,
- bei denen Dateilöschungen vorkommen.</para>
- </listitem>
-
- <listitem>
- <para><literal>fm</literal>&nbsp;&ndash;&nbsp;<emphasis>file
- attribute modify</emphasis>&nbsp;&ndash;&nbsp;Audit-Ereignisse,
- bei welchen Dateiattribute geändert werden, wie
- &man.chown.8;, &man.chflags.1;, &man.flock.2; etc.</para>
- </listitem>
-
- <listitem>
- <para><literal>fr</literal>&nbsp;&ndash;&nbsp;<emphasis>file
- read</emphasis>&nbsp;&ndash;&nbsp;Audit-Ereignisse, bei
- denen Daten gelesen oder Dateien zum lesen geöffnet
- werden usw.</para>
- </listitem>
-
- <listitem>
- <para><literal>fw</literal>&nbsp;&ndash;&nbsp;<emphasis>file write</emphasis>&nbsp;&ndash;&nbsp;Audit-Ereignisse,
- bei welchen Daten geschrieben oder Dateien geschrieben
- oder verändert werden usw.</para>
- </listitem>
-
- <listitem>
- <para><literal>io</literal>&nbsp;&ndash;&nbsp;<emphasis>ioctl</emphasis>&nbsp;&ndash;&nbsp;Nutzung
- des Systemaufrufes &man.ioctl.2; durch Audit.</para>
- </listitem>
-
- <listitem>
- <para><literal>ip</literal>&nbsp;&ndash;&nbsp;<emphasis>ipc</emphasis>&nbsp;&ndash;&nbsp;Auditierung
- verschiedener Formen von Inter-Prozess-Kommunikation
- einschliesslich POSIX-Pipes und System V
- <acronym>IPC</acronym>-Operationen.</para>
- </listitem>
-
- <listitem>
- <para><literal>lo</literal>&nbsp;&ndash;&nbsp;<emphasis>login_logout</emphasis>&nbsp;&ndash;&nbsp;Audit-Ereignisse
- betreffend &man.login.1; und &man.logout.1;, welche auf
- dem System auftreten.</para>
- </listitem>
-
- <listitem>
- <para><literal>na</literal>&nbsp;&ndash;&nbsp;<emphasis>non
- attributable</emphasis>&nbsp;&ndash;&nbsp;Auditierung
- nicht-attributierbarer Ereignisse (Ereignisse, die nicht auf
- einen bestimmten Benutzer zurückgeführt werden
- können).</para>
- </listitem>
-
- <listitem>
- <para><literal>no</literal>&nbsp;&ndash;&nbsp;<emphasis>invalid
- class</emphasis>&nbsp;&ndash;&nbsp;Kein Abgleich von
- Audit-Ereignissen.</para>
- </listitem>
-
- <listitem>
- <para><literal>nt</literal>&nbsp;&ndash;&nbsp;<emphasis>network</emphasis>&nbsp;&ndash;&nbsp;Audit-Ereignisse
- in Zusammenhang mit Netzwerkaktivitäten wie
- z.B. &man.connect.2; und &man.accept.2;.</para>
- </listitem>
-
- <listitem>
- <para><literal>ot</literal>&nbsp;&ndash;&nbsp;<emphasis>other</emphasis>&nbsp;&ndash;&nbsp;Auditierung
- verschiedener Ereignisse.</para>
- </listitem>
-
- <listitem>
- <para><literal>pc</literal>&nbsp;&ndash;&nbsp;<emphasis>process</emphasis>&nbsp;&ndash;&nbsp;Auditierung
- von Prozess-Operationen wie &man.exec.3; und
- &man.exit.3;.</para>
- </listitem>
- </itemizedlist>
-
- <para>Diese Ereignisklassen können angepasst werden durch
- Modifizierung der Konfigurationsdateien
- <filename>audit_class</filename> und
- <filename>audit_event</filename>.</para>
-
- <para>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.</para>
-
- <itemizedlist>
- <listitem>
- <para>(none) Kein Präfix, sowohl erfolgreiche als
- auch gescheiterte Vorkommen eines Ereignisses werden
- auditiert.</para>
- </listitem>
-
- <listitem>
- <para><literal>+</literal> Auditiere nur erfolgreiche
- Ereignisse in dieser Klasse.</para>
- </listitem>
-
- <listitem>
- <para><literal>-</literal> Auditiere nur gescheiterte
- Operationen in dieser Klasse.</para>
- </listitem>
-
- <listitem>
- <para><literal>^</literal> Auditiere weder erfolgreiche
- noch gescheiterte Ereignisse in dieser Klasse.</para>
- </listitem>
-
- <listitem>
- <para><literal>^+</literal> Auditiere keine erfolgreichen
- Ereignisse in dieser Klasse.</para>
- </listitem>
-
- <listitem>
- <para><literal>^-</literal> Auditiere keine gescheiterten
- Ereignisse in dieser Klasse.</para>
- </listitem>
- </itemizedlist>
-
- <para>Das folgende Beispiel einer Auswahl-Zeichenkette
- wählt erfolgreiche und gescheiterte
- Anmelde/Abmelde-Ereignisse aus, aber nur erfolgreich beendete
- Ausführungs-Ereignisse:</para>
-
- <programlisting>lo,+ex</programlisting>
- </sect2>
-
- <sect2>
- <title>Konfigurationsdateien</title>
-
- <para>In den meisten Fällen müssen Administratoren
- nur zwei Dateien ändern, wenn sie das Audit-System
- konfigurieren: <filename>audit_control</filename> und
- <filename>audit_user</filename>. Die erste Datei steuert
- systemweite Audit-Eigenschaften und -Richtlinien; die zweite
- Datei kann für die Feinanpassung der Auditierung von
- Benutzern verwendet werden.</para>
-
- <sect3 id="audit-auditcontrol">
- <title>Die <filename>audit_control</filename>-Datei</title>
-
- <para>Die <filename>audit_control</filename>-Datei legt eine
- Anzahl Vorgabewerte fest. Beim Betrachten des Inhaltes der
- Datei sehen wir Folgendes:</para>
-
- <programlisting>dir:/var/audit
-flags:lo
-minfree:20
-naflags:lo
-policy:cnt
-filesz:0</programlisting>
-
- <para>Die Option <option>dir</option> 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.</para>
-
- <para>Das <option>flags</option>-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.</para>
-
- <para>Die Option <option>minfree</option> 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.</para>
-
- <para>Die <option>naflags</option>-Option bestimmt diejenigen
- Audit-Klassen, für die nicht-attributierbare Ereignisse
- aufgezeichnet werden sollen (beispielsweise Anmeldeprozesse
- und System-Daemonen.</para>
-
- <para>Die Option <option>policy</option> legt eine durch Kommata
- getrennte Liste von policy-Flags fest, welche verschiedene
- Aspekte des Audit-Verhaltens steuern. Der vorgegebene Flag
- <literal>cnt</literal> zeigt an, dass das System trotz eines
- Audit-Fehlers weiterlaufen soll (dieses Flag wird dringend
- angeraten). Ein anderes, häufig genutztes Flag ist
- <literal>argv</literal>, welches dazu führt, dass
- Befehlszeilen-Argumente für den Systemauruf
- &man.execve.2; als Teil der Befehlsausführung
- aufgezeichnet werden.</para>
-
- <para>Die <option>filesz</option>-Option spezifiziert die
- maximale Größe in Bytes, welche eine
- Audit-Pfad-Datei wachsen darf, bevor sie automatisch beendet
- und rotiert wird. Die Standardvorgabe <literal>0</literal>
- 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.</para>
- </sect3>
-
- <sect3 id="audit-audituser">
- <title>Die Datei <filename>audit_user</filename></title>
-
- <para>Die <filename>audit_user</filename>-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 <literal>alwaysaudit</literal>, welches eine Ansammlung
- von Ereignissen vorgibt, welche immer für diesen Benutzer
- aufgezeichnet werden. Das zweite Feld
- <literal>neveraudit</literal> legt eine Menge an Ereignissen
- fest, die niemals für diesen Benutzer auditiert werden
- sollen.</para>
-
- <para>Das folgende Beispiel einer
- <filename>audit_user</filename>-Datei zeichnet
- Anmelde/Abmelde-Ereignisse, erfolgreiche
- Befehlsausführungen für den Benutzer
- <username>root</username>, Anlegen von Dateien und
- erfolgreiche Befehlsausführungen für den Benutzer
- <username>www</username> auf. Falls das Beispiel zusammen
- mit der vorstehend als Beispiel gezeigten Datei
- <filename>audit_control</filename> benutzt wird, dann ist
- der Eintrag <literal>lo</literal> für Benutzer
- <username>root</username> überflüssig und
- Anmelde/Abmelde-Ereignisse werden für den Benutzer
- <username>www</username> ebenfalls aufgezeichnet.</para>
-
- <programlisting>root:lo,+ex:no
-www:fc,+ex:no</programlisting>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 id="audit-administration">
- <title>Administration des Audit-Subsystems</title>
-
- <sect2>
- <title>Audit-Pfade betrachten</title>
-
- <para>Audit-Pfade werden im binären BSM-Format
- gespeichert, daher benötigen Sie spezielle Werkzeuge, um
- derartige Dateien zu ändern oder Sie in Textdateien zu
- konvertieren. Der
- Befehl &man.praudit.1; wandelt alle Pfad-Dateien in ein
- einfaches Textformat um. Der Befehl &man.auditreduce.1; kann
- genutzt werden, um die Pfad-Dateien für Analyse,
- Ausdruck, Archivierung oder andere Zwecke zu reduzieren.
- <command>auditreduce</command> unterstützt eine Reihe von
- Auswahl-Parametern einschliesslich Ereignistyp,
- Ereignisklasse, Benutzer, Datum oder Uhrzeit des Ereignisses und
- den Dateipfad oder das Objekt, mit dem gearbeitet
- wurde.</para>
-
- <para>Das Dienstprogramm <command>praudit</command> schreibt
- zum Beispiel den gesamten Inhalt einer angegebenen
- Audit-Protokolldatei in eine simple Textdatei:</para>
-
- <screen>&prompt.root; <userinput>praudit /var/audit/AUDITFILE</userinput></screen>
-
- <para><filename><replaceable>AUDITFILE</replaceable></filename>
- ist hier die zu schreibende Protokolldatei.</para>
-
- <para>Audit-Pfade bestehen aus einer Reihe von Datensätzen,
- die wiederum aus Kürzeln (token) gebildet werden, die von
- <command>praudit</command> fortlaufend zeilenweise ausgegeben
- werden. Jedes Kürzel ist von einem bestimmten Typ, z.B.
- enthält <literal>header</literal> einen
- audit-Datensatz-Header oder <literal>path</literal>
- enthält einen Dateipfad von einer Suche. Hier ein
- Beispiel eines <literal>execve</literal>-Ereignisses:</para>
-
- <programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
-exec arg,finger,doug
-path,/usr/bin/finger
-attribute,555,root,wheel,90,24918,104944
-subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
-return,success,0
-trailer,133</programlisting>
-
- <para>Dieser Audit stellt einen erfolgreichen
- <literal>execve</literal>-Aufruf dar, in welchem der Befehl
- <literal>finger doug</literal> ausgeführt wurde. Das
- Kürzel des Argumentes enthält die Befehlszeile,
- welche die Shell an den Kernel weiterleitet. Das Kürzel
- <literal>path</literal> enthält den Pfad zur
- ausführbaren Datei (wie vom Kernel wahrgenommen). Das
- Kürzel <literal>attribute</literal> beschreibt die
- Binärdatei (insbesondere den Datei-Modus, der genutzt
- werden kann, um zu bestimmen, ob setuid auf die Applikation
- angewendet wurde). Das Kürzel <literal>subject</literal>
- beschreibt den untergeordneten Prozess und speichert daher in
- Aufeinanderfolge Audit-Benutzer-ID, effektive Benutzer-ID und
- Gruppen-ID, wirkliche Benutzer-ID und Grppen-ID, Process-ID,
- Session- ID, Port-ID und Anmelde-Adresse. Beachten Sie, dass
- Audit-Benutzer-ID und wirkliche Benutzer-ID abweichen: Der Benutzer
- <username>robert</username> wurde zum Benutzer
- <username>root</username>, bevor er diesen Befehl
- ausführte, aber er wird auditiert mit dem
- ursprünglich authentifizierten Benutzer. Schließlich zeigt
- das Kürzel <literal>return</literal> die erfolgreiche
- Ausführung an und <literal>trailer</literal> schließt
- den Datensatz ab.</para>
-
- <para><command>praudit</command> unterstützt auch
- die Ausgabe im XML-Format (die sie über die Option
- <option>-x</option> auswählen können).</para>
- </sect2>
-
- <sect2>
- <title>Audit-Pfade reduzieren</title>
-
- <para>Da Audit-Protokolldateien sehr groß sein können,
- wird ein Administrator höchstwahrscheinlich eine Auswahl
- an Datensätzen verwenden, wie z.B. alle Datensätze
- zu einem bestimmten Benutzer:</para>
-
- <screen>&prompt.root; <userinput>auditreduce -u trhodes /var/audit/AUDITFILE | praudit</userinput></screen>
-
- <para>Dies wird alle Audit-Datensätze des Benutzers
- <username>trhodes</username> auswählen, die in der
- Datei
- <filename><replaceable>AUDITFILE</replaceable></filename>
- gespeichert sind.</para>
- </sect2>
-
- <sect2>
- <title>Delegation von Rechten für Audit-Reviews</title>
-
- <para>Mitglieder der Gruppe <groupname>audit</groupname> haben
- die Erlaubnis, Audit-Pfade in <filename>/var/audit</filename>
- zu lesen; standardmässig ist diese Gruppe leer, daher
- kann nur der Benutzer <username>root</username> die Audit-Pfade
- lesen. Benutzer können der Gruppe
- <groupname>audit</groupname> hinzugefügt werden, um
- Rechte für Audit-Reviews zu gewähren. Da die
- Fähigkeit, Inhalte von Audit-Protokolldateien zu verfolgen,
- tiefgreifende Einblicke in das Verhalten von Benutzern und
- Prozessen erlaubt, wird empfohlen, dass die Gewährung von
- Rechten für Audit-Reviews mit Bedacht erfolgt.</para>
- </sect2>
-
- <sect2>
- <title>Aktive Überwachung mittles Audit-Pipes</title>
-
- <para>Audit-Pipes sind nachgebildete (geklonte)
- Pseudo-Geräte im Dateisystem des Gerätes, welche es
- Applikationen erlauben, die laufenden Audit-Datensätze
- anzuzapfen. Dies ist vorrangig für Autoren von Intrusion
- Detection Software und Systemüberwachungsprogrammen von
- Bedeutung. Allerdings ist für den Administrator das
- Audit-Pipe-Gerät ein angenehmer Weg, aktive
- Überwachung zu gestatten, ohne Gefahr von Problemen durch
- Besitzerrechte der Audit-Pfad-Datei oder Unterbrechung des
- Stroms von Ereignissen durch Log-Rotation. Um den laufenden
- Audit-Ereignisstrom zu verfolgen, geben Sie bitte folgende
- Befehlszeile ein:</para>
-
- <screen>&prompt.root; <userinput>praudit /dev/auditpipe</userinput></screen>
-
- <para>In der Voreinstellung kann nur der Benutzer
- <username>root</username> auf die
- Audit-Pipe-Geräte-Knotenpunkte zugreifen. Um sie allen
- Mitgliedern der Gruppe <groupname>audit</groupname>
- zugänglich zu machen, fügen Sie eine
- <literal>devfs</literal>-Regel in
- <filename>devfs.rules</filename> hinzu:</para>
-
- <programlisting>add path 'auditpipe*' mode 0440 group audit</programlisting>
-
- <para>Lesen Sie &man.devfs.rules.5; für weitere
- Informationen, wie das devfs-Dateisystem konfiguriert
- wird.</para>
-
- <warning>
- <para>Es ist sehr leicht, Rückmeldungszyklen von
- Audit-Ereignissen hervorzurufen, in welcher das Betrachten
- des Resultates eines Audit-Ereignisses in die Erzeugung von
- mehr Audit-Ereignissen mündet. Wenn zum Beispiel der
- gesamte Netzwerk-I/O auditiert wird, während
- &man.praudit.1; in einer SSH-Sitzung gestartet wurde, dann
- wird ein kontinuierlicher, mächtiger Strom von
- Audit-Ereignissen erzeugt, da jedes ausgegebene Ereignis
- wiederum neue Ereignisse erzeugt. Es ist anzuraten,
- <command>praudit</command> an einem Audit-Pipe-Gerät
- nur von Sitzungen anzuwenden (ohne feingranuliertes
- I/O-Auditing), um dies zu vermeiden.</para>
- </warning>
- </sect2>
-
- <sect2>
- <title>Rotation von Audit-Pfad-Dateien</title>
-
- <para>Audit-Pfade werden nur vom Kernel geschrieben und nur
- vom Audit-Daemon <application>auditd</application> verwaltet.
- Administratoren sollten nicht versuchen, &man.newsyslog.conf.5;
- oder andere Werkzeuge zu benutzen, um Audit-Protokolldateien
- direkt zu rotieren. Stattdessen sollte das
- <command>audit</command> Management-Werkzeug benutzt werden,
- um die Auditierung zu beenden, das Audit-System neu zu
- konfigurieren und eine Log-Rotation durchzuführen. Der
- folgende Befehl veranlasst den Audit-Daemon, eine neue
- Protokolldatei anzulegen und dem Kernel zu signalisieren, die
- neue Datei zu nutzen. Die alte Datei wird beendet und
- umbenannt. Ab diesem Zeitpunkt kann sie vom Administrator
- bearbeitet werden.</para>
-
- <screen>&prompt.root; <userinput>audit -n</userinput></screen>
-
- <warning>
- <para>Falls der <application>auditd</application>-Daemon
- gegenwärtig nicht läuft, wird dieser Befehl scheitern
- und eine Fehlermeldung wird ausgegeben.</para>
- </warning>
-
- <para>Das Hinzufügen der folgenden Zeile in
- <filename>/etc/crontab</filename> wird die Log-Rotation alle
- zwölf Stunden durch &man.cron.8; erzwingen:</para>
-
- <programlisting>0 */12 * * * root /usr/sbin/audit -n</programlisting>
-
- <para>Die Änderung wird wirksam, sobald Sie die neue
- <filename>/etc/crontab</filename> gespeichert haben.</para>
-
- <para>Die automatische Rotation der Audit-Pfad-Datei in
- Abhängigkeit von der Dateigröße ist möglich
- durch die Angabe der Option <option>filesz</option> in
- &man.audit.control.5;. Dieser Vorgang ist im Abschnitt
- Konfigurationsdateien dieses Kapitels beschrieben.</para>
- </sect2>
-
- <sect2>
- <title>Komprimierung von Audit-Pfaden</title>
-
- <para>Da Audit-Pfad-Dateien sehr groß werden können,
- ist es oft wünschenswert, Pfade zu komprimieren oder
- anderweitig zu archivieren, sobald sie vom Audit-Daemon
- geschlossen wurden. Das Skript
- <filename>audit_warn</filename> kann genutzt werden, um
- angepasste Aktionen für eine Vielzahl von audit-bezogenen
- Ereignissen auszuführen, einschliesslich der sauberen
- Beendigung von Audit-Pfaden, wenn diese geschlossen werden.
- Zum Beispiel kann man die folgenden Zeilen in das
- <filename>audit_warn</filename>-Skript aufnehmen, um
- Audit-Pfade beim Beenden zu komprimieren:</para>
-
- <programlisting>#
-# Compress audit trail files on close.
-#
-if [ "$1" = closefile ]; then
- gzip -9 $2
-fi</programlisting>
-
- <para>Andere Archivierungsaktivitäten können das
- Kopieren zu einem zentralen Server, die Löschung der alten
- Pfad-Dateien oder die Reduzierung des alten Audit-Pfades durch
- Entfernung nicht benötigter Datensätze
- einschliessen. Das Skript wird nur dann ausgeführt, wenn
- die Audit-Pfad-Dateien sauber beendet wurden, daher wird es
- nicht auf Pfaden laufen, welche durch ein unsauberes Herunterfahren
- des Systems nicht beendet wurden.</para>
- </sect2>
- </sect1>
-</chapter>