Run igor(1) on this chapter. Bump revision number.

This commit is contained in:
Bjoern Heidotting 2016-06-22 21:36:33 +00:00
parent c12d5c1d7b
commit c8fc051112
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48982

View file

@ -5,7 +5,7 @@
$FreeBSD$ $FreeBSD$
$FreeBSDde: de-docproj/books/handbook/audit/chapter.xml,v 1.14 2012/02/16 20:28:26 bcr Exp $ $FreeBSDde: de-docproj/books/handbook/audit/chapter.xml,v 1.14 2012/02/16 20:28:26 bcr Exp $
basiert auf: r44395 basiert auf: r48529
--> -->
<!-- Need more documentation on praudit, auditreduce, etc. Plus more info <!-- Need more documentation on praudit, auditreduce, etc. Plus more info
on the triggers from the kernel (log rotation, out of space, etc). on the triggers from the kernel (log rotation, out of space, etc).
@ -13,19 +13,41 @@ 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 some coverage of integrating MAC with Event auditing and perhaps discussion
on how some companies or organizations handle auditing and auditing on how some companies or organizations handle auditing and auditing
requirements. --> requirements. -->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="audit"> <chapter xmlns="http://docbook.org/ns/docbook"
<info><title>Security Event Auditing</title> xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="audit">
<info>
<title>Security Event Auditing</title>
<authorgroup> <authorgroup>
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Geschrieben von </contrib></author> <author>
<author><personname><firstname>Robert</firstname><surname>Watson</surname></personname></author> <personname>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
</personname>
<contrib>Geschrieben von </contrib>
</author>
<author>
<personname>
<firstname>Robert</firstname>
<surname>Watson</surname>
</personname>
</author>
</authorgroup> </authorgroup>
<authorgroup> <authorgroup>
<author><personname><firstname>Daniel</firstname><surname>Seuffert</surname></personname><contrib>Übersetzt von </contrib></author> <author>
<personname>
<firstname>Daniel</firstname>
<surname>Seuffert</surname>
</personname>
<contrib>Übersetzt von </contrib>
</author>
</authorgroup> </authorgroup>
</info> </info>
<sect1 xml:id="audit-synopsis"> <sect1 xml:id="audit-synopsis">
<title>Einleitung</title> <title>Einleitung</title>
@ -40,17 +62,17 @@ requirements. -->
konfigurierbare Aufzeichnung einer Vielzahl von konfigurierbare Aufzeichnung einer Vielzahl von
sicherheitsrelevanten Systemereignissen einschliesslich sicherheitsrelevanten Systemereignissen einschliesslich
Benutzereingaben, Konfigurationsänderungen sowie Datei- und Benutzereingaben, Konfigurationsänderungen sowie Datei- und
Netzwerkzugriffen. Diese Log-Datensätze können Netzwerkzugriffen. Diese Log-Datensätze können
unschätzbar wertvoll sein für direkte unschätzbar wertvoll sein für direkte
Systemüberwachung, Einbruchserkennung und Systemüberwachung, Einbruchserkennung und
Post-Mortem-Analyse. &os; implementiert &sun;s öffentlich Post-Mortem-Analyse. &os; implementiert &sun;s öffentlich
zugängliches Basic Security Module (<acronym>BSM</acronym>) zugängliches Basic Security Module (<acronym>BSM</acronym>)
Application Programming Interface (<acronym>API</acronym>) und Application Programming Interface (<acronym>API</acronym>) und
Dateiformat, und kann mit den Audit-Implementierungen von Dateiformat, und kann mit den Audit-Implementierungen von
&sun; &solaris; und &apple; &macos; X zusammenarbeiten.</para> &sun; &solaris; und &apple; &macos; X zusammenarbeiten.</para>
<para>Dieses Kapitel konzentriert sich auf die Installation <para>Dieses Kapitel konzentriert sich auf die Installation
und Konfiguration des Ereignis-Auditings. Es erklärt und Konfiguration des Ereignis-Auditings. Es erklärt
Audit-Richtlinien und stellt ein Beispiel einer Audit-Richtlinien und stellt ein Beispiel einer
Audit-Konfiguration vor.</para> Audit-Konfiguration vor.</para>
@ -84,7 +106,8 @@ requirements. -->
<listitem> <listitem>
<para>Mit den grundlegenden Mechanismen der <para>Mit den grundlegenden Mechanismen der
Kernel-Konfiguration und -Kompilierung vertraut sein (<xref linkend="kernelconfig"/>).</para> Kernel-Konfiguration und -Kompilierung vertraut sein (<xref
linkend="kernelconfig"/>).</para>
</listitem> </listitem>
<listitem> <listitem>
@ -110,10 +133,10 @@ requirements. -->
Extremfall pro Woche um mehrere Gigabyte anwachsen. Extremfall pro Woche um mehrere Gigabyte anwachsen.
Administratoren sollten daher den benötigten Plattenplatz in Administratoren sollten daher den benötigten Plattenplatz in
Verbindung mit umfangreichen Audit-Konfigurationen Verbindung mit umfangreichen Audit-Konfigurationen
berücksichtigen. So kann es wünschenswert sein, ein eigenes berücksichtigen. So kann es wünschenswert sein, ein eigenes
Dateisystem für <filename>/var/audit</filename> einzusetzen, damit Dateisystem für <filename>/var/audit</filename> einzusetzen,
andere Dateisysteme nicht betoffen sind, wenn das Dateisystem damit andere Dateisysteme nicht betoffen sind, wenn das
des Audit voll läuft.</para> Dateisystem des Audit voll läuft.</para>
</warning> </warning>
</sect1> </sect1>
@ -127,33 +150,32 @@ requirements. -->
<listitem> <listitem>
<para><emphasis>event</emphasis>: ein auditierbares Ereignis <para><emphasis>event</emphasis>: ein auditierbares Ereignis
ist jedes Ereignis, das mit dem Audit-Subsystem ist jedes Ereignis, das mit dem Audit-Subsystem
aufgezeichnet werden kann. Beispiele für aufgezeichnet werden kann. Beispiele für
sicherheitsrelevante Systemereignisse sind etwa das Anlegen sicherheitsrelevante Systemereignisse sind etwa das Anlegen
von Dateien, das Erstellen einer Netzwerkverbindung oder von Dateien, das Erstellen einer Netzwerkverbindung oder
eine Benutzeranmeldung. Ereignisse sind entweder eine Benutzeranmeldung. Ereignisse sind entweder
<quote>attributierbar</quote>, können also zu einen <quote>attributierbar</quote>, können also zu einen
authentifizierten Benutzer zurückverfolgt werden, oder authentifizierten Benutzer zurückverfolgt werden, oder
sind <quote>nicht-attributierbar</quote>. Nicht-attributierbare Ereignisse erfolgen sind <quote>nicht-attributierbar</quote>.
daher vor der Authentifizierung im Anmeldeprozess Nicht-attributierbare Ereignisse erfolgen daher vor der
(beispielsweise die Eingabe eines falschen Passworts).</para> Authentifizierung im Anmeldeprozess (beispielsweise die
Eingabe eines falschen Passworts).</para>
</listitem> </listitem>
<listitem> <listitem>
<para><emphasis>class</emphasis>: benannte Zusammenstellungen <para><emphasis>class</emphasis>: benannte Zusammenstellungen
von zusammengehörenden Ereignissen, die in von zusammengehörenden Ereignissen, die in
Auswahl-Ausdrücken benutzt werden. Auswahl-Ausdrücken benutzt werden. Häufig genutzte Klassen
Häufig genutzte Klassen von Ereignissen schließen von Ereignissen schließen <quote>file creation</quote> (fc,
<quote>file creation</quote> (fc, Anlegen von Dateien), Anlegen von Dateien), <quote>exec</quote> (ex, Ausführung)
<quote>exec</quote> (ex, Ausführung) und und <quote>login_logout</quote> (lo, Anmeldung-Abmeldung)
<quote>login_logout</quote> (lo, Anmeldung-Abmeldung)
ein.</para> ein.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><emphasis>record</emphasis>: ein <para><emphasis>record</emphasis>: ein Audit-Logeintrag, der
Audit-Logeintrag, der ein Sicherheitsereignis ein Sicherheitsereignis enthält. Jeder Datensatz enthält
enthält. Jeder Datensatz enthält einen einen Ereignistyp, Informationen über den Gegenstand
Ereignistyp, Informationen über den Gegenstand
(Benutzer), welcher die Aktion durchführt, Datums- und (Benutzer), welcher die Aktion durchführt, Datums- und
Zeitinformationen, Informationen über jedes Objekt oder Zeitinformationen, Informationen über jedes Objekt oder
Argument sowie den Zustand hinsichtlich Erfolg oder Argument sowie den Zustand hinsichtlich Erfolg oder
@ -161,48 +183,44 @@ requirements. -->
</listitem> </listitem>
<listitem> <listitem>
<para><emphasis>trail</emphasis>: eine Log-Datei bestehend aus einer Reihe von <para><emphasis>trail</emphasis>: eine Log-Datei bestehend aus
Audit-Datensätzen, die Sicherheitsereignisse einer Reihe von Audit-Datensätzen, die Sicherheitsereignisse
beschreiben. Pfade sind in grober beschreiben. Pfade sind in grober zeitlicher Reihenfolge
zeitlicher Reihenfolge bezüglich des Zeitpunktes, bezüglich des Zeitpunktes, an welchem ein Ereignis beendet
an welchem ein Ereignis beendet wurde. Nur authorisierte wurde. Nur authorisierte Prozesse dürfen Datensätze zum
Prozesse dürfen Datensätze zum Audit-Pfad Audit-Pfad hinzufügen.</para>
hinzufügen.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><emphasis>selection expression</emphasis>: eine <para><emphasis>selection expression</emphasis>: eine
Zeichenkette, welche eine Liste von Zeichenkette, welche eine Liste von Präfixen und
Präfixen und Audit-Ereignisklassennamen enthält, Audit-Ereignisklassennamen enthält, um Ereignisse
um Ereignisse abzugleichen.</para> abzugleichen.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><emphasis>preselection</emphasis>: der Prozess, durch <para><emphasis>preselection</emphasis>: der Prozess, durch
den das System erkennt, welche Ereignisse den das System erkennt, welche Ereignisse von Interesse für
von Interesse für den Administrator sind, um die den Administrator sind, um die Erzeugung von Datensätze zu
Erzeugung von Datensätze zu verhindern, welche nicht verhindern, welche nicht von Belang sind. Die Konfiguration
von Belang sind. Die Konfiguration der Vorauswahl benutzt der Vorauswahl benutzt eine Reihe von Auswahl-Ausdrücken, um
eine Reihe von Auswahl-Ausdrücken, um zu erkennen, zu erkennen, welche Klassen von Ereignissen für welche
welche Klassen von Ereignissen für welche Benutzer Benutzer aufgezeichnet werden sollen sowie globale
aufgezeichnet werden sollen sowie globale Einstellungen, Einstellungen, welche sowohl auf authorisierte als auch
welche sowohl auf authorisierte unauthorisierte Prozesse angewendet werden.</para>
als auch unauthorisierte Prozesse angewendet werden.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><emphasis>reduction</emphasis>: Die Reduzierung ist <para><emphasis>reduction</emphasis>: Die Reduzierung ist der
der Prozess, durch den Datensätze von bestehenden Prozess, durch den Datensätze von bestehenden Audit-Pfaden
Audit-Pfaden ausgewählt werden für Speicherung, ausgewählt werden für Speicherung, Ausdruck oder Analyse.
Ausdruck oder Analyse. Ebenso der Prozess, durch den Ebenso der Prozess, durch den unerwünschte Datensätze aus
unerwünschte Datensätze aus dem Audit-Pfad dem Audit-Pfad entfernt werden. Mittels Reduzierung können
entfernt werden. Mittels Reduzierung können
Administratoren Richtlinien für die Speicherung von Administratoren Richtlinien für die Speicherung von
Audit-Daten vorgeben. Zum Beispiel können Audit-Daten vorgeben. Zum Beispiel können ausführliche
ausführliche Audit-Pfade für einen Monat Audit-Pfade für einen Monat gespeichert werden, um danach
gespeichert werden, um danach den Pfad für den Pfad für archivarische Zwecke auf die
archivarische Zwecke auf die Anmeldeinformationen Anmeldeinformationen zu reduzieren.</para>
zu reduzieren.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect1> </sect1>
@ -231,173 +249,175 @@ requirements. -->
<sect2> <sect2>
<title>Ereignis-Auswahlausdrücke</title> <title>Ereignis-Auswahlausdrücke</title>
<para>Auswahlausdrücke werden an einigen Stellen <para>Auswahlausdrücke werden an einigen Stellen der
der Audit-Konfiguration benützt, um zu bestimmen, Audit-Konfiguration benützt, um zu bestimmen, welche
welche Ereignisse auditiert werden sollen. Die Ausdrücke Ereignisse auditiert werden sollen. Die Ausdrücke enthalten
enthalten eine Liste der Ereignisklassen, welche verglichen eine Liste der Ereignisklassen, welche verglichen werden
werden sollen. Auswahlausdrücke werden von links nach sollen. Auswahlausdrücke werden von links nach rechts
rechts ausgewertet und zwei Ausdrücke werden durch ausgewertet und zwei Ausdrücke werden durch Aneinanderhängen
Aneinanderhängen miteinander kombiniert.</para> miteinander kombiniert.</para>
<para><xref linkend="event-selection"/> fasst die <para><xref linkend="event-selection"/> fasst die
Audit-Ereignisklassen zusammen:</para> Audit-Ereignisklassen zusammen:</para>
<table xml:id="event-selection" frame="none" pgwide="1"> <table xml:id="event-selection" frame="none" pgwide="1">
<title>Audit-Ereignisklassen</title> <title>Audit-Ereignisklassen</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
<row> <row>
<entry>Name der Klasse</entry> <entry>Name der Klasse</entry>
<entry>Beschreibung</entry> <entry>Beschreibung</entry>
<entry>Aktion</entry> <entry>Aktion</entry>
</row> </row>
</thead> </thead>
<tbody> <tbody>
<row> <row>
<entry>all</entry> <entry>all</entry>
<entry>all</entry> <entry>all</entry>
<entry>Vergleicht alle Ereisnisklassen.</entry> <entry>Vergleicht alle Ereisnisklassen.</entry>
</row> </row>
<row> <row>
<entry>aa</entry> <entry>aa</entry>
<entry>authentifizierung und autorisierung</entry> <entry>authentifizierung und autorisierung</entry>
<entry></entry> <entry></entry>
</row> </row>
<row> <row>
<entry>ad</entry> <entry>ad</entry>
<entry>administrative</entry> <entry>administrative</entry>
<entry>Administrative Aktionen, ausgeführt auf dem System <entry>Administrative Aktionen, ausgeführt auf dem
als Ganzes.</entry> System als Ganzes.</entry>
</row> </row>
<row> <row>
<entry>ap</entry> <entry>ap</entry>
<entry>application</entry> <entry>application</entry>
<entry>Aktionen definiert für Applikationen.</entry> <entry>Aktionen definiert für Applikationen.</entry>
</row> </row>
<row> <row>
<entry>cl</entry> <entry>cl</entry>
<entry>file close</entry> <entry>file close</entry>
<entry>Audit-Aufrufe für den Systemaufruf <entry>Audit-Aufrufe für den Systemaufruf
<function>close</function>.</entry> <function>close</function>.</entry>
</row> </row>
<row> <row>
<entry>ex</entry> <entry>ex</entry>
<entry>exec</entry> <entry>exec</entry>
<entry>Ausführung des Audit-Programms. Auditierung von <entry>Ausführung des Audit-Programms. Auditierung von
Befehlszeilen-Argumenten und Umgebungsvariablen wird Befehlszeilen-Argumenten und Umgebungsvariablen wird
gesteuert durch &man.audit.control.5; mittels der gesteuert durch &man.audit.control.5; mittels der
<literal>argv</literal> und <literal>argv</literal> und
<literal>envv</literal>-Parameter gemäß der <literal>envv</literal>-Parameter gemäß der
<literal>Richtlinien</literal>-Einstellungen.</entry> <literal>Richtlinien</literal>-Einstellungen.</entry>
</row> </row>
<row> <row>
<entry>fa</entry> <entry>fa</entry>
<entry>file attribute access</entry> <entry>file attribute access</entry>
<entry>Auditierung des Zugriffs auf Objektattribute wie <entry>Auditierung des Zugriffs auf Objektattribute wie
&man.stat.1; und &man.pathconf.2;.</entry> &man.stat.1; und &man.pathconf.2;.</entry>
</row> </row>
<row> <row>
<entry>fc</entry> <entry>fc</entry>
<entry>file create</entry> <entry>file create</entry>
<entry>Audit-Ereignisse, bei denen eine Datei als <entry>Audit-Ereignisse, bei denen eine Datei als
Ergebnis angelegt wird.</entry> Ergebnis angelegt wird.</entry>
</row> </row>
<row> <row>
<entry>fd</entry> <entry>fd</entry>
<entry>file delete</entry> <entry>file delete</entry>
<entry>Audit-Ereignisse, bei denen Dateilöschungen <entry>Audit-Ereignisse, bei denen Dateilöschungen
vorkommen.</entry> vorkommen.</entry>
</row> </row>
<row> <row>
<entry>fm</entry> <entry>fm</entry>
<entry>file attribute modify</entry> <entry>file attribute modify</entry>
<entry>Audit-Ereignisse, bei denen Dateiattribute geändert <entry>Audit-Ereignisse, bei denen Dateiattribute
werden, wie &man.chown.8;, &man.chflags.1; und geändert werden, wie &man.chown.8;, &man.chflags.1;
&man.flock.2;.</entry> und &man.flock.2;.</entry>
</row> </row>
<row> <row>
<entry>fr</entry> <entry>fr</entry>
<entry>file read</entry> <entry>file read</entry>
<entry>Audit-Ereignisse, bei denen Daten gelesen oder <entry>Audit-Ereignisse, bei denen Daten gelesen oder
Dateien zum lesen geöffnet werden.</entry> Dateien zum lesen geöffnet werden.</entry>
</row> </row>
<row> <row>
<entry>fw</entry> <entry>fw</entry>
<entry>file write</entry> <entry>file write</entry>
<entry>Audit-Ereignisse, bei denen Daten geschrieben oder <entry>Audit-Ereignisse, bei denen Daten geschrieben
Dateien geschrieben oder verändert werden.</entry> oder Dateien geschrieben oder verändert
</row> werden.</entry>
</row>
<row> <row>
<entry>io</entry> <entry>io</entry>
<entry>ioctl</entry> <entry>ioctl</entry>
<entry>Nutzung des Systemaufrufes <entry>Nutzung des Systemaufrufes
<function>ioctl</function> durch Audit.</entry> <function>ioctl</function> durch Audit.</entry>
</row> </row>
<row> <row>
<entry>ip</entry> <entry>ip</entry>
<entry>ipc</entry> <entry>ipc</entry>
<entry>Auditierung verschiedener Formen von <entry>Auditierung verschiedener Formen von
Inter-Prozess-Kommunikation einschließlich POSIX-Pipes Inter-Prozess-Kommunikation einschließlich POSIX-Pipes
und System V <acronym>IPC</acronym>-Operationen.</entry> und System V
</row> <acronym>IPC</acronym>-Operationen.</entry>
</row>
<row> <row>
<entry>lo</entry> <entry>lo</entry>
<entry>login_logout</entry> <entry>login_logout</entry>
<entry>Audit-Ereignisse von &man.login.1; und <entry>Audit-Ereignisse von &man.login.1; und
&man.logout.1;.</entry> &man.logout.1;.</entry>
</row> </row>
<row> <row>
<entry>na</entry> <entry>na</entry>
<entry>non attributable</entry> <entry>non attributable</entry>
<entry>Auditierung nicht-attributierbarer <entry>Auditierung nicht-attributierbarer
Ereignisse.</entry> Ereignisse.</entry>
</row> </row>
<row> <row>
<entry>no</entry> <entry>no</entry>
<entry>invalid class</entry> <entry>invalid class</entry>
<entry>Kein Abgleich von Audit-Ereignissen.</entry> <entry>Kein Abgleich von Audit-Ereignissen.</entry>
</row> </row>
<row> <row>
<entry>nt</entry> <entry>nt</entry>
<entry>network</entry> <entry>network</entry>
<entry>Audit-Ereignisse in Zusammenhang mit <entry>Audit-Ereignisse in Zusammenhang mit
Netzwerkaktivitäten wie &man.connect.2; und Netzwerkaktivitäten wie &man.connect.2; und
&man.accept.2;</entry> &man.accept.2;</entry>
</row> </row>
<row> <row>
<entry>ot</entry> <entry>ot</entry>
<entry>other</entry> <entry>other</entry>
<entry>Auditierung verschiedener Ereignisse.</entry> <entry>Auditierung verschiedener Ereignisse.</entry>
</row> </row>
<row> <row>
<entry>pc</entry> <entry>pc</entry>
<entry>process</entry> <entry>process</entry>
<entry>Auditierung von Prozess-Operationen wie <entry>Auditierung von Prozess-Operationen wie
&man.exec.3; und &man.exit.3;.</entry> &man.exec.3; und &man.exit.3;.</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</table> </table>
<para>Diese Ereignisklassen können angepasst werden durch <para>Diese Ereignisklassen können angepasst werden durch
@ -413,48 +433,48 @@ requirements. -->
zusammen.</para> zusammen.</para>
<table xml:id="event-prefixes" frame="none" pgwide="1"> <table xml:id="event-prefixes" frame="none" pgwide="1">
<title>Präfixe für Audit-Ereignisklassen</title> <title>Präfixe für Audit-Ereignisklassen</title>
<tgroup cols="2"> <tgroup cols="2">
<thead> <thead>
<row> <row>
<entry>Präfix</entry> <entry>Präfix</entry>
<entry>Aktion</entry> <entry>Aktion</entry>
</row> </row>
</thead> </thead>
<tbody> <tbody>
<row> <row>
<entry>+</entry> <entry>+</entry>
<entry>Auditiert erfolgreiche Ereignisse in dieser <entry>Auditiert erfolgreiche Ereignisse in dieser
Klasse.</entry> Klasse.</entry>
</row> </row>
<row> <row>
<entry>-</entry> <entry>-</entry>
<entry>Auditiert fehlgeschlagene Ereignisse in dieser <entry>Auditiert fehlgeschlagene Ereignisse in dieser
Klasse.</entry> Klasse.</entry>
</row> </row>
<row> <row>
<entry>^</entry> <entry>^</entry>
<entry>Auditiert weder erfolgreiche noch fehlgeschlagene <entry>Auditiert weder erfolgreiche noch fehlgeschlagene
Ereignisse.</entry> Ereignisse.</entry>
</row> </row>
<row> <row>
<entry>^+</entry> <entry>^+</entry>
<entry>Auditiert keine erfolgreichen Ereignisse in dieser <entry>Auditiert keine erfolgreichen Ereignisse in
Klasse.</entry> dieser Klasse.</entry>
</row> </row>
<row> <row>
<entry>^-</entry> <entry>^-</entry>
<entry>Auditiert keine fehlgeschlagenen Ereignisse in <entry>Auditiert keine fehlgeschlagenen Ereignisse in
dieser Klasse.</entry> dieser Klasse.</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</table> </table>
<para>Wenn kein Präfix vorhanden ist, werden sowohl erfolgreiche <para>Wenn kein Präfix vorhanden ist, werden sowohl erfolgreiche
@ -541,14 +561,14 @@ expire-after:10M</programlisting>
<para>Die Option <option>dir</option> wird genutzt, um eines <para>Die Option <option>dir</option> wird genutzt, um eines
oder mehrere Verzeichnisse festzulegen, in welchen oder mehrere Verzeichnisse festzulegen, in welchen
Audit-Protokolle gespeichert werden. Gibt es mehrere Audit-Protokolle gespeichert werden. Gibt es mehrere
Verzeichniseinträge, werden diese in der Verzeichniseinträge, werden diese in der angegebenen
angegebenen Reihenfolge genutzt, bis sie jeweils Reihenfolge genutzt, bis sie jeweils gefüllt sind. Es ist
gefüllt sind. Es ist üblich, Audit so zu üblich, Audit so zu konfigurieren, dass die Audit-Logs auf
konfigurieren, dass die Audit-Logs auf einem dedizierten einem dedizierten Dateisystem abgelegt werden, um
Dateisystem abgelegt werden, um Wechselwirkungen zwischen Wechselwirkungen zwischen dem Audit-Subsystem und anderen
dem Audit-Subsystem und anderen Subsystemen zu verhindern, Subsystemen zu verhindern, falls das Dateisystem voll
falls das Dateisystem voll läuft.</para> läuft.</para>
<para>Ist die Option <option>dist</option> auf <para>Ist die Option <option>dist</option> auf
<literal>on</literal> oder <literal>yes</literal> gesetzt, <literal>on</literal> oder <literal>yes</literal> gesetzt,
@ -556,11 +576,10 @@ expire-after:10M</programlisting>
<filename>/var/audit/dist</filename> erstellt.</para> <filename>/var/audit/dist</filename> erstellt.</para>
<para>Das <option>flags</option>-Feld legt die systemweite <para>Das <option>flags</option>-Feld legt die systemweite
Standard-Vorauswahl-Maske für attributierbare (direkt Standard-Vorauswahl-Maske für attributierbare (direkt einem
einem Benutzer zuordenbare) Ereignisse fest. Im Benutzer zuordenbare) Ereignisse fest. Im obigen Beispiel
obigen Beispiel werden alle gescheiterten und erfolgreichen werden alle gescheiterten und erfolgreichen Anmelde- und
Anmelde- und Abmelde-Ereignisse für alle Benutzer Abmelde-Ereignisse für alle Benutzer aufgezeichnet.</para>
aufgezeichnet.</para>
<para>Die Option <option>minfree</option> definiert den <para>Die Option <option>minfree</option> definiert den
minimalen Prozentsatz an freiem Plattenplatz für das minimalen Prozentsatz an freiem Plattenplatz für das
@ -573,12 +592,12 @@ expire-after:10M</programlisting>
aufgezeichnet werden sollen, wie beispielsweise aufgezeichnet werden sollen, wie beispielsweise
Anmeldeprozesse, Authentifizierung und Autorisierung.</para> Anmeldeprozesse, Authentifizierung und Autorisierung.</para>
<para>Die Option <option>policy</option> legt eine durch Kommata <para>Die Option <option>policy</option> legt eine durch
getrennte Liste von policy-Flags fest, welche verschiedene Kommata getrennte Liste von policy-Flags fest, welche
Aspekte des Audit-Verhaltens steuern. Der Flag verschiedene Aspekte des Audit-Verhaltens steuern. Der Flag
<literal>cnt</literal> zeigt an, dass das System trotz eines <literal>cnt</literal> zeigt an, dass das System trotz eines
Audit-Fehlers weiterlaufen soll (dieses Flag wird dringend Audit-Fehlers weiterlaufen soll (dieses Flag wird dringend
empfohlen). Ein anderes, häufig genutztes Flag ist empfohlen). Ein anderes, häufig genutztes Flag ist
<literal>argv</literal>, welches dazu führt, dass <literal>argv</literal>, welches dazu führt, dass
Befehlszeilen-Argumente für den Systemauruf Befehlszeilen-Argumente für den Systemauruf
&man.execve.2; als Teil der Befehlsausführung &man.execve.2; als Teil der Befehlsausführung
@ -586,8 +605,8 @@ expire-after:10M</programlisting>
<para>Die <option>filesz</option>-Option spezifiziert die <para>Die <option>filesz</option>-Option spezifiziert die
maximale Größe der Audit-Datei, bevor sie automatisch maximale Größe der Audit-Datei, bevor sie automatisch
beendet und rotiert wird. Der Wert <literal>0</literal> beendet und rotiert wird. Der Wert <literal>0</literal>
setzt die automatische Log-Rotation ausser Kraft. Falls die setzt die automatische Log-Rotation ausser Kraft. Falls die
angeforderte Dateigröße unterhalb des Minimums von 512K angeforderte Dateigröße unterhalb des Minimums von 512K
ist, dann wird die Angabe verworfen und ein Log-Hinweis wird ist, dann wird die Angabe verworfen und ein Log-Hinweis wird
erzeugt.</para> erzeugt.</para>
@ -601,7 +620,7 @@ expire-after:10M</programlisting>
<para>Die <filename>audit_user</filename>-Datei erlaubt es dem <para>Die <filename>audit_user</filename>-Datei erlaubt es dem
Administrator, weitere Audit-Erfordernisse für bestimmte Administrator, weitere Audit-Erfordernisse für bestimmte
Benutzer festzulegen. Jede Zeile konfiguriert das Auditing Benutzer festzulegen. Jede Zeile konfiguriert das Auditing
für einen Benutzer über zwei Felder: für einen Benutzer über zwei Felder:
<literal>alwaysaudit</literal> gibt eine Ansammlung von <literal>alwaysaudit</literal> gibt eine Ansammlung von
Ereignissen vor, welche immer für diesen Benutzer Ereignissen vor, welche immer für diesen Benutzer
@ -613,14 +632,14 @@ expire-after:10M</programlisting>
<filename>audit_user</filename>-Datei zeichnet <filename>audit_user</filename>-Datei zeichnet
Anmelde/Abmelde-Ereignisse, erfolgreiche Anmelde/Abmelde-Ereignisse, erfolgreiche
Befehlsausführungen für den Benutzer Befehlsausführungen für den Benutzer
<systemitem class="username">root</systemitem>, Anlegen von Dateien und <systemitem class="username">root</systemitem>, Anlegen von
erfolgreiche Befehlsausführungen für den Benutzer Dateien und erfolgreiche Befehlsausführungen für den
<systemitem class="username">www</systemitem> auf. Falls die Benutzer <systemitem class="username">www</systemitem> auf.
voreingestellte <filename>audit_control</filename> benutzt wird, dann ist Falls die voreingestellte <filename>audit_control</filename>
der Eintrag <literal>lo</literal> für <systemitem benutzt wird, dann ist der Eintrag <literal>lo</literal> für
class="username">root</systemitem> überflüssig und <systemitem class="username">root</systemitem> überflüssig
Anmelde/Abmelde-Ereignisse werden für <systemitem und Anmelde/Abmelde-Ereignisse werden für <systemitem
class="username">www</systemitem> ebenfalls class="username">www</systemitem> ebenfalls
aufgezeichnet.</para> aufgezeichnet.</para>
<programlisting>root:lo,+ex:no <programlisting>root:lo,+ex:no
@ -632,39 +651,38 @@ www:fc,+ex:no</programlisting>
<sect1 xml:id="audit-administration"> <sect1 xml:id="audit-administration">
<title>Audit-Trails</title> <title>Audit-Trails</title>
<para>Weil Audit-Trails werden im binären
<acronym>BSM</acronym>-Format gespeichert werden, gibt es
verschiedene Werkzeuge, um derartige Dateien zu ändern oder sie
in Textdateien zu konvertieren. Der Befehl
<command>praudit</command> wandelt alle Pfad-Dateien in ein
einfaches Textformat um. Der Befehl
<command>auditreduce</command> kann genutzt werden, um die
Pfad-Dateien für Analyse, Ausdruck, Archivierung oder andere
Zwecke zu reduzieren. Eine Reihe von Auswahl-Parametern werden
von &man.auditreduce.1; unterstützt, einschliesslich
Ereignistyp, Ereignisklasse, Benutzer, Datum und Uhrzeit des
Ereignisses und den Dateipfad oder das Objekt, mit dem
gearbeitet wurde.</para>
<para>Weil Audit-Trails werden im binären <para>Der folgende Befehl schreibt den gesamten Inhalt einer
<acronym>BSM</acronym>-Format gespeichert werden, gibt es angegebenen Audit-Protokolldatei in eine Textdatei:</para>
verschiedene Werkzeuge, um derartige Dateien zu ändern oder
sie in Textdateien zu konvertieren. Der
Befehl <command>praudit</command> wandelt alle Pfad-Dateien in
ein einfaches Textformat um. Der Befehl
<command>auditreduce</command> kann genutzt werden, um die
Pfad-Dateien für Analyse, Ausdruck, Archivierung oder andere
Zwecke zu reduzieren. Eine Reihe von Auswahl-Parametern
werden von &man.auditreduce.1; unterstützt,
einschliesslich Ereignistyp, Ereignisklasse, Benutzer, Datum
oder Uhrzeit des Ereignisses und den Dateipfad oder das
Objekt, mit dem gearbeitet wurde.</para>
<para>Der folgende Befehl schreibt den gesamten Inhalt einer <screen>&prompt.root; <userinput>praudit /var/audit/<replaceable>AUDITFILE</replaceable></userinput></screen>
angegebenen Audit-Protokolldatei in eine Textdatei:</para>
<screen>&prompt.root; <userinput>praudit /var/audit/<replaceable>AUDITFILE</replaceable></userinput></screen> <para><replaceable>AUDITFILE</replaceable> ist hier die zu
schreibende Protokolldatei.</para>
<para><replaceable>AUDITFILE</replaceable> ist hier die zu <para>Audit-Pfade bestehen aus einer Reihe von Datensätzen, die
schreibende Protokolldatei.</para> wiederum aus Kürzeln (token) gebildet werden, die von
&man.praudit.1; 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>
<para>Audit-Pfade bestehen aus einer Reihe von Datensätzen, die <programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
wiederum aus Kürzeln (token) gebildet werden, die von
&man.praudit.1; 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 exec arg,finger,doug
path,/usr/bin/finger path,/usr/bin/finger
attribute,555,root,wheel,90,24918,104944 attribute,555,root,wheel,90,24918,104944
@ -672,67 +690,66 @@ subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
return,success,0 return,success,0
trailer,133</programlisting> trailer,133</programlisting>
<para>Dieser Audit stellt einen erfolgreichen <para>Dieser Audit stellt einen erfolgreichen
<literal>execve</literal>-Aufruf dar, in welchem der Befehl <literal>execve</literal>-Aufruf dar, in welchem der Befehl
<literal>finger doug</literal> ausgeführt wurde. <literal>finger doug</literal> ausgeführt wurde.
<literal>exec arg</literal> enthält die Befehlszeile, <literal>exec arg</literal> enthält die Befehlszeile,
welche die Shell an den Kernel weiterleitet. Das Kürzel welche die Shell an den Kernel weiterleitet. Das Kürzel
<literal>path</literal> enthält den Pfad zur <literal>path</literal> enthält den Pfad zur
ausführbaren Datei (wie vom Kernel wahrgenommen). Das ausführbaren Datei (wie vom Kernel wahrgenommen). Das
Kürzel <literal>attribute</literal> beschreibt die Kürzel <literal>attribute</literal> beschreibt die
Binärdatei und enthält den Datei-Modus, der genutzt Binärdatei und enthält den Datei-Modus, der genutzt
werden kann, um zu bestimmen, ob setuid auf die Applikation werden kann, um zu bestimmen, ob setuid auf die Applikation
angewendet wurde. Das Kürzel <literal>subject</literal> angewendet wurde. Das Kürzel <literal>subject</literal>
speichert die Audit-Benutzer-ID, effektive Benutzer-ID und speichert die Audit-Benutzer-ID, effektive Benutzer-ID und
Gruppen-ID, wirkliche Benutzer-ID und Grppen-ID, Process-ID, Gruppen-ID, wirkliche Benutzer-ID und Grppen-ID, Process-ID,
Session- ID, Port-ID und Anmelde-Adresse. Beachten Sie, dass Session- ID, Port-ID und Anmelde-Adresse. Beachten Sie, dass
Audit-Benutzer-ID und wirkliche Benutzer-ID abweichen, da der Audit-Benutzer-ID und wirkliche Benutzer-ID abweichen, da der
Benutzer <systemitem class="username">robert</systemitem> zum Benutzer <systemitem class="username">robert</systemitem> zum
Benutzer <systemitem class="username">root</systemitem> wurde, Benutzer <systemitem class="username">root</systemitem> wurde,
bevor er diesen Befehl ausführte, aber er wird auditiert mit bevor er diesen Befehl ausführte, aber er wird auditiert mit
dem ursprünglich authentifizierten Benutzer. Das Kürzel dem ursprünglich authentifizierten Benutzer. Das Kürzel
<literal>return</literal> zeigt die erfolgreiche Ausführung an <literal>return</literal> zeigt die erfolgreiche Ausführung an
und <literal>trailer</literal> schließt den Datensatz und <literal>trailer</literal> schließt den Datensatz ab.</para>
ab.</para>
<para>Die Ausgabe im <acronym>XML</acronym>-Format wird <para>Die Ausgabe im <acronym>XML</acronym>-Format wird ebenfalls
ebenfalls unterstützt und kann über die Option unterstützt und kann über die Option <option>-x</option>
<option>-x</option> ausgewählt werden.</para> ausgewählt werden.</para>
<para>Da Audit-Protokolldateien sehr groß sein können, kann mit <para>Da Audit-Protokolldateien sehr groß sein können, kann mit
Hilfe von <command>auditreduce</command> auch nur eine Hilfe von <command>auditreduce</command> auch nur eine
Teilmenge der Datensätze ausgewählt werden. Dieses Beispiel Teilmenge der Datensätze ausgewählt werden. Dieses Beispiel
selektiert alle Datensätze des Benutzers <systemitem selektiert alle Datensätze des Benutzers <systemitem
class="username">trhodes</systemitem> aus der Datei class="username">trhodes</systemitem> aus der Datei
<filename>AUDITFILE</filename>:</para> <filename>AUDITFILE</filename>:</para>
<screen>&prompt.root; <userinput>auditreduce -u <replaceable>trhodes</replaceable> /var/audit/<replaceable>AUDITFILE</replaceable> | praudit</userinput></screen> <screen>&prompt.root; <userinput>auditreduce -u <replaceable>trhodes</replaceable> /var/audit/<replaceable>AUDITFILE</replaceable> | praudit</userinput></screen>
<para>Mitglieder der Gruppe <systemitem <para>Mitglieder der Gruppe <systemitem
class="groupname">audit</systemitem> sind berechtigt, class="groupname">audit</systemitem> sind berechtigt,
Audit-Pfade in <filename>/var/audit</filename> zu lesen. In Audit-Pfade in <filename>/var/audit</filename> zu lesen. In
der Voreinstellung ist diese Gruppe leer, daher kann nur der der Voreinstellung ist diese Gruppe leer, daher kann nur der
Benutzer <systemitem class="username">root</systemitem> die Benutzer <systemitem class="username">root</systemitem> die
Audit-Pfade lesen. Benutzer können der Gruppe <systemitem Audit-Pfade lesen. Benutzer können der Gruppe <systemitem
class="groupname">audit</systemitem> hinzugefügt werden, um class="groupname">audit</systemitem> hinzugefügt werden, um
Rechte für Audit-Reviews zu gewähren. Da die Rechte für Audit-Reviews zu gewähren. Da die Fähigkeit,
Fähigkeit, Inhalte von Audit-Protokolldateien zu verfolgen, Inhalte von Audit-Protokolldateien zu verfolgen, tiefgreifende
tiefgreifende Einblicke in das Verhalten von Benutzern und Einblicke in das Verhalten von Benutzern und Prozessen
Prozessen erlaubt, wird empfohlen, dass die Gewährung von erlaubt, wird empfohlen, dass die Gewährung von Rechten für
Rechten für Audit-Reviews mit Bedacht erfolgt.</para> Audit-Reviews mit Bedacht erfolgt.</para>
<sect2> <sect2>
<title>Aktive Überwachung mittles Audit-Pipes</title> <title>Aktive Überwachung mittles Audit-Pipes</title>
<para>Audit-Pipes sind nachgebildete (geklonte) <para>Audit-Pipes sind nachgebildete (geklonte) Pseudo-Geräte,
Pseudo-Geräte, welche es Applikationen erlauben, die welche es Applikationen erlauben, die laufenden
laufenden Audit-Datensätze anzuzapfen. Dies ist vorrangig für Audit-Datensätze anzuzapfen. Dies ist vorrangig für Autoren
Autoren von Intrusion Detection Software und von Intrusion Detection Software und
Systemüberwachungsprogrammen von Bedeutung. Allerdings ist das Systemüberwachungsprogrammen von Bedeutung. Allerdings ist
Audit-Pipe-Gerät ein angenehmer Weg für den Administrator, das Audit-Pipe-Gerät ein angenehmer Weg für den Administrator,
aktive Überwachung zu gestatten, ohne Gefahr von Problemen aktive Überwachung zu gestatten, ohne Gefahr von Problemen
durch Besitzerrechte der Audit-Pfad-Datei oder Unterbrechung durch Besitzerrechte der Audit-Pfad-Datei oder Unterbrechung
des Stroms von Ereignissen durch Log-Rotation. Um den des Stroms von Ereignissen durch Log-Rotation. Um den
laufenden Audit-Ereignisstrom zu verfolgen, geben Sie laufenden Audit-Ereignisstrom zu verfolgen, geben Sie
folgendes ein:</para> folgendes ein:</para>
@ -740,25 +757,24 @@ trailer,133</programlisting>
<para>In der Voreinstellung kann nur der Benutzer <para>In der Voreinstellung kann nur der Benutzer
<systemitem class="username">root</systemitem> auf die <systemitem class="username">root</systemitem> auf die
Audit-Pipe-Geräte-Knotenpunkte zugreifen. Um sie allen Audit-Pipe-Geräte-Knotenpunkte zugreifen. Um sie allen
Mitgliedern der Gruppe <systemitem class="groupname">audit</systemitem> Mitgliedern der Gruppe <systemitem
zugänglich zu machen, fügen Sie eine class="groupname">audit</systemitem> zugänglich zu machen,
<literal>devfs</literal>-Regel in fügen Sie eine <literal>devfs</literal>-Regel in
<filename>/etc/devfs.rules</filename> hinzu:</para> <filename>/etc/devfs.rules</filename> hinzu:</para>
<programlisting>add path 'auditpipe*' mode 0440 group audit</programlisting> <programlisting>add path 'auditpipe*' mode 0440 group audit</programlisting>
<para>Lesen Sie &man.devfs.rules.5; für weitere <para>Lesen Sie &man.devfs.rules.5; für weitere Informationen,
Informationen, wie das devfs-Dateisystem konfiguriert wie das devfs-Dateisystem konfiguriert wird.</para>
wird.</para>
<warning> <warning>
<para>Es ist sehr leicht, Rückmeldungszyklen von <para>Es ist sehr leicht, Rückmeldungszyklen von
Audit-Ereignissen hervorzurufen, in welcher das Betrachten Audit-Ereignissen hervorzurufen, in welcher das Betrachten
des Resultates eines Audit-Ereignisses in die Erzeugung von des Resultates eines Audit-Ereignisses in die Erzeugung von
mehr Audit-Ereignissen mündet. Wenn zum Beispiel der gesamte mehr Audit-Ereignissen mündet. Wenn zum Beispiel der
Netzwerk-<acronym>I/O</acronym> auditiert wird, während gesamte Netzwerk-<acronym>I/O</acronym> auditiert wird,
<command>praudit</command> in einer während <command>praudit</command> in einer
<acronym>SSH</acronym>-Sitzung gestartet wurde, dann wird <acronym>SSH</acronym>-Sitzung gestartet wurde, dann wird
ein kontinuierlicher, mächtiger Strom von Audit-Ereignissen ein kontinuierlicher, mächtiger Strom von Audit-Ereignissen
erzeugt, da jedes ausgegebene Ereignis wiederum neue erzeugt, da jedes ausgegebene Ereignis wiederum neue
@ -777,22 +793,22 @@ trailer,133</programlisting>
Audit-Daemon &man.auditd.8; verwaltet. Administratoren Audit-Daemon &man.auditd.8; verwaltet. Administratoren
sollten nicht versuchen, &man.newsyslog.conf.5; oder andere sollten nicht versuchen, &man.newsyslog.conf.5; oder andere
Werkzeuge zu benutzen, um Audit-Protokolldateien direkt zu Werkzeuge zu benutzen, um Audit-Protokolldateien direkt zu
rotieren. Stattdessen sollte <command>audit</command> benutzt rotieren. Stattdessen sollte <command>audit</command> benutzt
werden, um die Auditierung zu werden, um die Auditierung zu beenden, das Audit-System neu zu
beenden, das Audit-System neu zu konfigurieren und eine konfigurieren und eine Log-Rotation durchzuführen. Der
Log-Rotation durchzuführen. Der folgende Befehl veranlasst den folgende Befehl veranlasst den Audit-Daemon, eine neue
Audit-Daemon, eine neue Protokolldatei anzulegen und dem Protokolldatei anzulegen und dem Kernel zu signalisieren, die
Kernel zu signalisieren, die neue Datei zu nutzen. Die alte neue Datei zu nutzen. Die alte Datei wird beendet und
Datei wird beendet und umbenannt. Ab diesem Zeitpunkt kann umbenannt. Ab diesem Zeitpunkt kann sie vom Administrator
sie vom Administrator bearbeitet werden:</para> bearbeitet werden:</para>
<screen>&prompt.root; <userinput>audit -n</userinput></screen> <screen>&prompt.root; <userinput>audit -n</userinput></screen>
<para>Falls der &man.auditd.8;-Daemon gegenwärtig nicht läuft, <para>Falls der &man.auditd.8;-Daemon gegenwärtig nicht läuft,
wird dieser Befehl scheitern und eine Fehlermeldung wird wird dieser Befehl scheitern und eine Fehlermeldung wird
ausgegeben.</para> ausgegeben.</para>
<para>Das Hinzufügen der folgenden Zeile in <para>Durch das Hinzufügen der folgenden Zeile in
<filename>/etc/crontab</filename> wird die Log-Rotation alle <filename>/etc/crontab</filename> wird die Log-Rotation alle
zwölf Stunden durchgeführt:</para> zwölf Stunden durchgeführt:</para>
@ -802,15 +818,15 @@ trailer,133</programlisting>
<filename>/etc/crontab</filename> gespeichert wird.</para> <filename>/etc/crontab</filename> gespeichert wird.</para>
<para>Die automatische Rotation der Audit-Pfad-Datei in <para>Die automatische Rotation der Audit-Pfad-Datei in
Abhängigkeit von der Dateigröße ist möglich Abhängigkeit von der Dateigröße ist möglich durch die Angabe
durch die Angabe der Option <option>filesz</option> in der Option <option>filesz</option> in
<filename>audit_control</filename>. Dieser Vorgang ist in <filename>audit_control</filename>. Dieser Vorgang ist in
<xref linkend="audit-auditcontrol"/> beschrieben.</para> <xref linkend="audit-auditcontrol"/> beschrieben.</para>
<para>Da Audit-Pfad-Dateien sehr groß werden können, <para>Da Audit-Pfad-Dateien sehr groß werden können,
ist es oft wünschenswert, Pfade zu komprimieren oder ist es oft wünschenswert, Pfade zu komprimieren oder
anderweitig zu archivieren, sobald sie vom Audit-Daemon anderweitig zu archivieren, sobald sie vom Audit-Daemon
geschlossen wurden. Das Skript geschlossen wurden. Das Skript
<filename>audit_warn</filename> kann genutzt werden, um <filename>audit_warn</filename> kann genutzt werden, um
angepasste Aktionen für eine Vielzahl von audit-bezogenen angepasste Aktionen für eine Vielzahl von audit-bezogenen
Ereignissen auszuführen, einschliesslich der sauberen Ereignissen auszuführen, einschliesslich der sauberen