Teil I Übersicht über die Sicherheit
1. Sicherheitsservices (Überblick)
Teil II System-, Datei- und Gerätesicherheit
2. Verwalten von Rechnersicherheit (Übersicht)
3. Steuern des Zugriffs auf Systeme (Aufgaben)
4. Steuern des Zugriffs auf Geräte (Aufgaben)
5. Verwenden von Basic Audit Reporting Tool (Aufgaben)
6. Steuern des Zugriffs auf Dateien (Aufgaben)
7. Verwenden von Automated Security Enhancement Tool (Aufgaben)
Teil III Rollen, Berechtigungsprofile und Berechtigungen
8. Verwenden von Rollen und Berechtigungen (Übersicht)
9. Rollenbasierte Zugriffssteuerung (Aufgaben)
10. Rollenbasierte Zugriffssteuerung (Übersicht)
Teil IV Kryptografische Services
13. Oracle Solaris Cryptographic Framework (Übersicht)
14. Oracle Solaris Cryptographic Framework (Aufgaben)
15. Oracle Solaris Key Management Framework
Teil V Authentifizierungsservices und sichere Kommunikation
16. Verwenden von Authentifizierungsservices (Aufgaben)
19. Verwenden von Oracle Solaris Secure Shell (Aufgaben)
20. Oracle Solaris Secure Shell (Referenz)
21. Einführung zum Kerberos-Service
22. Planen des Kerberos-Service
23. Konfigurieren des Kerberos-Service (Aufgaben)
24. Kerberos-Fehlermeldungen und -Fehlerbehebung
25. Verwalten von Kerberos-Hauptelementen und Richtlinien (Aufgaben)
26. Verwenden von Kerberos-Anwendungen (Aufgaben)
27. Der Kerberos-Service (Referenz)
Teil VII Prüfung bei Oracle Solaris
28. Prüfung bei Oracle Solaris (Übersicht)
29. Planen der Oracle Solaris-Prüfung
30. Verwalten der Oracle Solaris-Prüfung (Aufgaben)
31. Prüfung bei Oracle Solaris (Referenz)
Im Prüfservice verwendete Dateien
Berechtigungsprofile für Verwalten der Prüfung
Prüfung und Oracle Solaris-Zonen
Verarbeiten der Prüfungsmerkmale
Namenskonventionen für binäre Prüfdateien
In diesem Abschnitt erhalten Sie Informationen zu den folgenden Befehlen:
In der folgenden Liste sind die Aufgaben des Dämons auditd zusammengefasst:
Öffnet und schließt Prüfdateien in den Verzeichnissen, die in der Datei audit_control angegeben sind. Die Dateien werden in der angegebenen Reihenfolge geöffnet.
Lädt mindestens ein Plugin. Oracle bietet zwei Plugins. Durch das Plugin audit_binfile.so werden binäre Prüfdaten in eine Datei geschrieben. Durch das Plugin audit_syslog.so werden ausgewählte Textzusammenfassungen der Prüfdatensätze im Protokoll syslog gespeichert.
Liest Prüfdaten aus dem Kernel und gibt die Daten durch ein auditd-Plugin aus
Führt das Skript audit_warn aus, um Warnungen zu verschiedenen Bedingungen auszugeben. Durch das Plugin audit_binfile.so wird das Skript audit_warn ausgeführt. Mithilfe des Skripts werden standardmäßig Warnungen an den E-Mail-Alias audit_warn und an die Konsole gesendet. Durch das Plugin syslog.so wird das Skript audit_warn nicht ausgeführt.
Wenn alle Prüfverzeichnisse voll sind, werden die Prozesse, die Prüfdatensätze generieren, standardmäßig angehalten. Außerdem sendet der Dämon auditd eine Meldung an die Konsole und den E-Mail-Alias audit_warn. Zu diesem Zeitpunkt kann nur der Systemadministrator Fehler am Prüfservice beheben. Der Administrator kann sich anmelden und Prüfdateien für Offline-Datenträger schreiben, Prüfdateien aus dem System löschen und andere Bereinigungsaufgaben durchführen.
Die Prüfrichtlinie kann mit dem Befehl auditconfig neu konfiguriert werden.
Der Dämon auditd kann automatisch gestartet werden, wenn das System im Mehrbenutzermodus gebootet wurde. Sie können den Dämon auch über die Befehlszeile starten. Wenn der Dämon auditd gestartet wurde, wird der freie Speicherplatz berechnet, der für die Prüfdateien erforderlich ist.
Der Dämon auditd verwendet eine Liste der Prüfverzeichnisse in der Datei audit_control als mögliche Speicherorte zum Erstellen von Prüfdateien. Der Dämon weist einen Zeiger auf diese Liste der Verzeichnisse auf, wobei das erste Verzeichnis zuerst verwendet wird. Beim Erstellen einer Prüfdatei durch den Dämon auditd wird die Datei zum ersten verfügbaren Verzeichnis der Liste hinzugefügt. Die Liste beginnt am aktuellen Zeiger des Dämons auditd. Sie können den Zeiger an den Anfang der Liste zurücksetzen, indem Sie den Befehl audit -s ausführen. Durch den Befehl audit -n wird der Dämon angewiesen, zu einer neuen Prüfdatei zu wechseln. Die neue Datei wird im gleichen Verzeichnis erstellt wie die aktuelle Datei.
Durch den Befehl audit werden die Aktionen des Dämons auditd gesteuert. Durch den Befehl audit können die folgenden Aufgaben durchgeführt werden:
Aktivieren und Deaktivieren der Prüfung
Zurücksetzen des Dämons auditd
Anpassen der Maske für die Vorauswahl der Prüfung auf dem lokalen System
Schreiben der Prüfdatensätze in eine andere Prüfdatei
Eine Beschreibung der verfügbaren Optionen erhalten Sie auf der Manpage audit(1M).
Durch den Befehl bsmrecord wird das Format der Prüfereignisse angezeigt, die in der Datei /etc/security/audit_event definiert sind. Die Ausgabe enthält der Reihe nach die Prüf-ID des Ereignisses, die Prüfklasse, das Prüf-Flag und die Prüf-Token des Datensatzes. Wenn keine Option angegeben ist, wird die Ausgabe bsmrecord in einem Terminalfenster angezeigt. Wenn die Option -h angegeben ist, eignet sich die Ausgabe für die Ansicht in einem Browser. Beispiele zur Verwendung des Befehls bsmrecord erhalten Sie unter So zeigen Sie Prüfdatensatzformate an. Weitere Informationen finden Sie auf der Manpage bsmrecord(1M).
Durch den Befehl auditreduce werden die im binären Format gespeicherten Prüfdatensätze zusammengefasst. Mit dem Befehl können Prüfdatensätze aus mindestens einer Eingabeprüfdatei zusammengeführt werden. Außerdem können Sie mit dem Befehl eine Nachauswahl der Prüfdatensätze durchführen. Die Datensätze bleiben jedoch im binären Format erhalten. Um den gesamten Prüfpfad zusammenzuführen, führen Sie diesen Befehl auf dem Prüfserver aus. Der Prüfserver ist das System, auf dem alle Prüfdateisysteme für die Installation eingehängt werden. Weitere Informationen erhalten Sie auf der Manpage auditreduce(1M).
Mit dem Befehl auditreduce können Sie alle geprüften Aktionen auf mehreren Systemen von einem Speicherort aus verfolgen. Durch den Befehl kann die logische Kombination aller Prüfdateien als ein einziger Prüfpfad gelesen werden. Sie müssen alle Systeme an einem Standort für die Prüfung identisch konfigurieren sowie Server und lokale Verzeichnisse für die Prüfdateien erstellen. Durch den Befehl auditreduce werden die Generierung oder der Speicherort der Datensätze nicht berücksichtigt. Wenn keine Optionen angegeben sind, werden durch den Befehl auditreduce die Prüfdatensätze von allen Prüfdateien in allen Unterverzeichnissen des Stammverzeichnisses für die Prüfung zusammengeführt. Das Stammverzeichnis der Prüfung lautet normalerweise /etc/security/audit. Durch den Befehl auditreduce werden die zusammengeführten Ergebnisse an die Standardausgabe gesendet. Außerdem können die Ergebnisse in einer einzelnen Ausgabedatei in chronologischer Reihenfolge hinzugefügt werden. Die Datei enthält binäre Daten.
Durch den Befehl auditreduce können außerdem bestimmte Datensatztypen für die Analyse ausgewählt werden. Die Funktionen zum Zusammenführen und Auswählen des Befehls auditreduce sind logisch unabhängig voneinander. Durch den Befehl auditreduce werden Daten aus den Eingabedateien als die zu lesenden Datensätze erfasst, bevor die Dateien zusammengeführt und anschließend auf die Festplatte geschrieben werden.
Die Angabe von Optionen für den Befehl auditreduce ermöglicht Folgendes:
Anfordern von Prüfdatensätzen, die von bestimmten Prüfklassen generiert wurden
Anfordern von Prüfdatensätzen, die von einem bestimmten Benutzer generiert wurden
Anfordern von Prüfdatensätzen, die zu bestimmten Zeitpunkten generiert wurden
Wenn keine Argumente angegeben sind, werden durch den Befehl auditreduce die Unterverzeichnisse im Verzeichnis /etc/security/audit (dem standardmäßigen Stammverzeichnis für die Prüfung) überprüft. Der Befehl sucht nach einem Verzeichnis files, das die Dateien start-time.end-time.hostname enthält. Der Befehl auditreduce ist sehr hilfreich, wenn die Prüfdaten in separaten Verzeichnissen vorhanden sind. Abbildung 31-1 zeigt Prüfdaten in separaten Verzeichnissen für verschiedene Hosts. Abbildung 31-2 zeigt Prüfdaten in separaten Verzeichnissen für verschiedene Prüfserver.
Abbildung 31-1 Prüfpfad-Speicherplatz sortiert nach Host
Abbildung 31-2 Prüfpfad-Speicherplatz sortiert nach Server
Wenn die Partition für das Verzeichnis /etc/security/audit sehr klein ist, können die Prüfdaten im Standardverzeichnis möglicherweise nicht gespeichert werden. Sie können den Befehl auditreduce an ein anderes Verzeichnis weiterleiten, indem Sie die Option -R verwenden:
# auditreduce -R /var/audit-alt
Außerdem können Sie ein bestimmtes Unterverzeichnis angeben, indem Sie die Option -S verwenden:
# auditreduce -S /var/audit-alt/host1
Weitere Informationen zu Optionen und weitere Beispiele erhalten Sie auf der Manpage auditreduce(1M).
Durch den Befehl praudit wird die binäre Ausgabe des Befehls auditreduce in ein lesbares Format konvertiert. Durch den Befehl praudit werden Prüfdatensätze von der Standardeingabe im binären Format gelesen und in einem für die Darstellung geeigneten Format angezeigt. Die Eingabe kann durch eine Pipe-Verkettung über den Befehl auditreduce oder eine einzelne Prüfdatei durchgeführt werden. Die Eingabe kann ebenfalls erstellt werden, indem der Befehl cat für die Verkettung mehrerer Dateien oder der Befehl tail für eine aktuelle Prüfdatei verwendet wird.
Mit dem Befehl praudit können vier Ausgabeformate generiert werden. Durch die fünfte Option, -l (lang), wird ein Prüfdatensatz pro Ausgabezeile gedruckt. Standardmäßig wird ein Prüf-Token pro Ausgabezeile verwendet. Durch die Option -d wird der Begrenzer, der zwischen Token-Feldern und Token verwendet wird, geändert. Der standardmäßige Begrenzer ist ein Komma.
Standardwert: Durch den Befehl praudit ohne Angabe von Optionen wird ein Prüf-Token pro Zeile angezeigt. Durch den Befehl wird das Prüfereignis anhand der Beschreibung angezeigt, z. B. Systemaufruf ioctl(2). Die als Text darstellbaren Werte werden im Textformat angezeigt. Beispielsweise wird ein Benutzer mit dem Benutzernamen und nicht mit der Benutzer-ID angezeigt.
Option –r: Die Option für die Ansicht unverarbeiteter Daten zeigt die numerisch darstellbaren Werte als Zahlen an. Beispielsweise wird ein Benutzer durch die Benutzer-ID, Internetadressen im Hexadezimalformat und Modi im oktalen Format dargestellt. Das Prüfereignis wird durch die zugehörige Ereignisnummer angezeigt, beispielsweise 158.
Option –s: Die Option für die Ansicht im Kurzformat zeigt das Prüfereignis durch den zugehörigen Tabellennamen an, beispielsweise AUE_IOCTL. Durch die Option werden die anderen Token so wie von der Standardoption angezeigt.
Option –x: Durch die XML-Option wird der Prüfdatensatz im XML-Format angezeigt. Diese Option eignet sich als Eingabe für Browser oder als Eingabe für die XML verarbeitenden Skripten.
Das XML wird durch eine DTD beschrieben, die durch den Prüfservice bereitgestellt wird. Von der Oracle Solaris-Software wird ebenfalls ein Stylesheet zur Verfügung gestellt. Die DTD und das Stylesheet sind im Verzeichnis /usr/share/lib/xml enthalten.
Im Standardausgabeformat des Befehls praudit wird jeder Datensatz durch eine Sequenz von Prüf-Token einfach identifiziert. Jedes Token wird in einer separaten Zeile dargestellt. Am Anfang der Datensätze steht ein header-Token. Die Ausgabe können Sie beispielsweise mit dem Befehl awk weiterverarbeiten.
Im Folgenden sehen Sie die Ausgabe des Befehls praudit -l für ein header-Token:
header,173,2,settppriv(2),,example1,2010-10-10 10:10:02.020 -07:00
Im Folgenden sehen Sie die Ausgabe des Befehls praudit -r für das gleiche header-Token:
121,173,2,289,0x0000,192.168.86.166,1066077962,174352445
Beispiel 31-1 Verarbeiten der Ausgabe praudit mit einem Skript
In einigen Fällen möchten Sie die Ausgabe des Befehls praudit als Textzeilen verarbeiten. Beispiel: Sie möchten Datensätze auswählen, die durch den Befehl auditreduce nicht ausgewählt werden können. Mit einem einfachen Shell-Skript können Sie die Ausgabe des Befehls praudit verarbeiten. Im folgenden Beispiel eines einfachen Skripts wird ein Prüfdatensatz in einer Zeile dargestellt, nach einer benutzerspezifischen Zeichenfolge gesucht und anschließend die Prüfdatei in der ursprünglichen Form zurückgegeben.
#!/bin/sh # ## This script takes an argument of a user-specified string. # The sed command prefixes the header tokens with Control-A # The first tr command puts the audit tokens for one record # onto one line while preserving the line breaks as Control-A # praudit | sed -e '1,2d' -e '$s/^file.*$//' -e 's/^header/^aheader/' \\ | tr '\\012\\001' '\\002\\012' \\ | grep "$1" \\ Finds the user-specified string | tr '\\002' '\\012' Restores the original newline breaks
Beachten Sie, dass ^a im Skript der Tastenkombination Control-A und nicht den zwei Zeichen ^ und a entspricht. Das Präfix unterscheidet das Token header von der als Text anzeigbaren Zeichenfolge header.
Der Befehl auditconfig bietet eine Befehlszeilenschnittstelle, um die Prüfkonfigurationsparameter abzurufen und einzustellen. Durch den Befehl auditconfig können die folgenden Aufgaben durchgeführt werden:
Anzeigen, Überprüfen und Konfigurieren der Prüfrichtlinie
Feststellen, ob die Prüfung aktiviert oder deaktiviert ist
Verwalten des Prüfverzeichnisses und der Prüfdatei
Verwalten der Prüfwarteschlange
Abrufen und Einstellen von Masken für die Vorauswahl
Abrufen und Einstellen der Zuordnungen zwischen Prüfereignis und Prüfklasse
Abrufen und Einstellen von Konfigurationsinformationen wie Sitzungs-ID und Prüf-ID
Konfigurieren der Prüfungsmerkmale für einen Prozess, eine Shell und eine Sitzung
Zurücksetzen der Prüfstatistik
Eine Beschreibung der Befehlsoptionen finden Sie auf der Manpage auditconfig(1M).