diff options
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/audit/chapter.sgml')
-rw-r--r-- | de_DE.ISO8859-1/books/handbook/audit/chapter.sgml | 840 |
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> – Enthält - die Definitionen der Audit-Klassen.</para> - </listitem> - - <listitem> - <para><filename>audit_control</filename> – 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> – 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> – Benutzerspezifische - Audit-Erfordernisse, welche mit den globalen Vorgaben bei - der Anmeldung kombiniert werden.</para> - </listitem> - - <listitem> - <para><filename>audit_warn</filename> – 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> – <emphasis>all</emphasis> – Vergleiche - alle Ereignisklassen.</para> - </listitem> - - <listitem> - <para><literal>ad</literal> – <emphasis>administrative</emphasis> – Administrative - Aktionen ausgeführt auf dem System als Ganzes.</para> - </listitem> - - <listitem> - <para><literal>ap</literal> – <emphasis>application</emphasis> – Aktionen - definiert für Applikationen.</para> - </listitem> - - <listitem> - <para><literal>cl</literal> – <emphasis>file - close</emphasis> – Audit-Aufrufe für - den Systemaufruf <function>close</function>.</para> - </listitem> - - <listitem> - <para><literal>ex</literal> – <emphasis>exec</emphasis> – 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> – <emphasis>file - attribute access</emphasis> – Auditierung - des Zugriffs auf Objektattribute wie &man.stat.1;, - &man.pathconf.2; und ähnlichen Ereignissen.</para> - </listitem> - - <listitem> - <para><literal>fc</literal> – <emphasis>file - create</emphasis> – Audit-Ereignisse, - bei denen eine Datei als Ergebnis angelegt wird.</para> - </listitem> - - <listitem> - <para><literal>fd</literal> – <emphasis>file - delete</emphasis> – Audit-Ereignisse, - bei denen Dateilöschungen vorkommen.</para> - </listitem> - - <listitem> - <para><literal>fm</literal> – <emphasis>file - attribute modify</emphasis> – 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> – <emphasis>file - read</emphasis> – Audit-Ereignisse, bei - denen Daten gelesen oder Dateien zum lesen geöffnet - werden usw.</para> - </listitem> - - <listitem> - <para><literal>fw</literal> – <emphasis>file write</emphasis> – Audit-Ereignisse, - bei welchen Daten geschrieben oder Dateien geschrieben - oder verändert werden usw.</para> - </listitem> - - <listitem> - <para><literal>io</literal> – <emphasis>ioctl</emphasis> – Nutzung - des Systemaufrufes &man.ioctl.2; durch Audit.</para> - </listitem> - - <listitem> - <para><literal>ip</literal> – <emphasis>ipc</emphasis> – Auditierung - verschiedener Formen von Inter-Prozess-Kommunikation - einschliesslich POSIX-Pipes und System V - <acronym>IPC</acronym>-Operationen.</para> - </listitem> - - <listitem> - <para><literal>lo</literal> – <emphasis>login_logout</emphasis> – Audit-Ereignisse - betreffend &man.login.1; und &man.logout.1;, welche auf - dem System auftreten.</para> - </listitem> - - <listitem> - <para><literal>na</literal> – <emphasis>non - attributable</emphasis> – Auditierung - nicht-attributierbarer Ereignisse (Ereignisse, die nicht auf - einen bestimmten Benutzer zurückgeführt werden - können).</para> - </listitem> - - <listitem> - <para><literal>no</literal> – <emphasis>invalid - class</emphasis> – Kein Abgleich von - Audit-Ereignissen.</para> - </listitem> - - <listitem> - <para><literal>nt</literal> – <emphasis>network</emphasis> – Audit-Ereignisse - in Zusammenhang mit Netzwerkaktivitäten wie - z.B. &man.connect.2; und &man.accept.2;.</para> - </listitem> - - <listitem> - <para><literal>ot</literal> – <emphasis>other</emphasis> – Auditierung - verschiedener Ereignisse.</para> - </listitem> - - <listitem> - <para><literal>pc</literal> – <emphasis>process</emphasis> – 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> |