JavaScript is required to for searching.
Navigationslinks �berspringen
Druckansicht beenden
Systemverwaltungshandbuch: Sicherheitsservices
search filter icon
search icon

Dokument-Informationen

Vorwort

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)

11.  Berechtigungen (Aufgaben)

12.  Berechtigungen (Referenz)

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)

17.  Verwenden von PAM

18.  Verwenden von SASL

19.  Verwenden von Oracle Solaris Secure Shell (Aufgaben)

20.  Oracle Solaris Secure Shell (Referenz)

Teil VI Kerberos-Service

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)

Was ist eine Prüfung?

Wie funktioniert eine Prüfung?

Welcher Zusammenhang besteht zwischen Prüfung und Sicherheit?

Terminologie und Konzepte der Prüfung

Prüfereignisse

Prüfklassen und Vorauswahl

Prüfdatensätze und Prüf-Token

Prüf-Plugin-Module

Prüfprotokolle

Speichern des Prüfpfads

Untersuchen des Prüfpfads

Prüfung auf Systemen mit Oracle Solaris-Zonen

Erweiterungen der Prüffunktionen in der Solaris 10-Version

29.  Planen der Oracle Solaris-Prüfung

30.  Verwalten der Oracle Solaris-Prüfung (Aufgaben)

31.  Prüfung bei Oracle Solaris (Referenz)

Glossar

Index

Terminologie und Konzepte der Prüfung

Die folgenden Begriffe werden zur Beschreibung des Prüfservice verwendet. Einige Definitionen enthalten Verweise auf weitere ausführlichere Beschreibungen.

Tabelle 28-1 Begriffe der Oracle Solaris-Prüfung

Begriff
Definition
Prüfklasse
Eine Gruppe von Prüfereignissen. Durch Prüfklassen können Sie eine Gruppe von zu prüfenden Ereignissen auswählen. Weitere Informationen erhalten Sie unter Prüfklassen und Vorauswahl.
Prüfverzeichnis
Ein Repository der Prüfdateien im binären Format. Eine Beschreibung der Typen von Prüfverzeichnissen erhalten Sie unter Prüfprotokolle.
Prüfereignis
Eine sicherheitsrelevante Systemaktion, die geprüft wird. Um eine einfachere Auswahl zu ermöglichen, werden Ereignisse in Prüfklassen zusammengefasst. Eine Beschreibung der Systemaktionen, die geprüft werden können, finden Sie unter Prüfereignisse.
Prüfrichtlinie
Ein Satz von Prüfoptionen, der an Ihrem Standort aktiviert bzw. deaktiviert werden kann. Diese Optionen legen fest, ob bestimmte Prüfdaten aufgezeichnet werden. Außerdem kann durch diese Optionen angegeben werden, ob prüfbare Aktionen nicht aufgezeichnet werden sollen, wenn der Prüfpfad voll ist. Weitere Informationen erhalten Sie unter Festlegen der Prüfrichtlinien.
Prüfdatensatz
Prüfdaten, die in Prüfdateien gespeichert werden. Durch einen Prüfdatensatz wird ein einzelnes Prüfereignis beschrieben. Jeder Prüfdatensatz besteht aus Prüf-Token. Weitere Informationen zu Prüfdatensätzen erhalten Sie unter Prüfdatensätze und Prüf-Token.
Prüf-Token
Ein Feld in einem Prüfdatensatz oder -ereignis. Jedes Prüf-Token beschreibt ein Attribut in einem Prüfereignis, beispielsweise einen Benutzer, ein Programm oder anderes Objekt. Beschreibungen aller Prüf-Token erhalten Sie unter Formate der Prüf-Token.
Prüfpfad
Eine Sammlung von mindestens einer Prüfdatei, in der die Prüfdaten von allen Systemen gespeichert werden, auf denen der Prüfservice ausgeführt wird. Weitere Informationen erhalten Sie unter Prüfpfad.
Vorauswahl
Bei der Vorauswahl legen Sie die zu überwachenden Prüfklassen fest, bevor Sie den Prüfservice aktivieren. Die Prüfereignisse der im Voraus ausgewählten Prüfklassen werden im Prüfpfad angezeigt. Die nicht bei der Vorauswahl festgelegten Prüfklassen werden nicht geprüft und ihre Ereignisse werden nicht im Prüfpfad aufgezeichnet. Durch ein Tool für die Nachauswahl (Befehl auditreduce) werden die Datensätze aus dem Prüfpfad ausgewählt. Weitere Informationen erhalten Sie unter Prüfklassen und Vorauswahl.
Öffentliche Objekte
Ein öffentliches Objekt ist eine Datei, deren Eigentümer der Benutzer root ist und für die öffentlicher Lesezugriff besteht. Beispiele für öffentliche Objekte sind die Dateien in den Verzeichnissen /etc und /usr/bin. Öffentliche Objekte werden nicht auf schreibgeschützte Ereignisse geprüft. Wenn beispielsweise die file_read-Prüfklasse (fr) im Voraus ausgewählt wurde, wird der Lesezugriff auf öffentliche Objekte nicht geprüft. Sie können die Standardeinstellung überschreiben, indem Sie die Prüfrichtlinienoption public ändern.
Prüf-Plugins
Module, die die Prüfdatensätze in der Kernel-Warteschlange an einen bestimmten Speicherort übertragen. Durch das Plugin audit_binfile.so werden binäre Prüfdateien (im Prüfpfad) erstellt. Durch das Plugin audit_syslog.so werden ausgewählte Prüfdatensätze für die Protokolle syslog gefiltert. Weitere Informationen erhalten Sie unter Prüf-Plugin-Module.

Prüfereignisse

Sicherheitsrelevante Systemaktionen können geprüft werden. Die prüfbaren Aktionen werden als Prüfereignisse bezeichnet. Prüfereignisse werden in der Datei /etc/security/audit_event aufgeführt. Jedes Prüfereignis wird in der Datei durch eine Ereignisnummer, einen symbolischen Namen, eine Kurzbeschreibung und den Satz der Prüfklassen, zu denen das Ereignis gehört, definiert. Weitere Informationen zur Datei audit_event erhalten Sie auf der Manpage audit_event(4).

Durch den folgenden Eintrag wird beispielsweise das Prüfereignis für den Systemaufruf exec() definiert:

7:AUE_EXEC:exec(2):ps,ex

Wenn Sie für die Prüfung entweder die Prüfklasse ps oder ex im Voraus auswählen, werden die exec()-Systemaufrufe im Prüfpfad aufgezeichnet.

Bei der Oracle Solaris-Prüfung werden zuweisbare und nicht zuweisbare Ereignisse verarbeitet. Durch die Prüfrichtlinie werden Ereignisse in synchrone und asynchrone Ereignisse unterteilt. Dies wird im Folgenden beschrieben:

Wenn die Klasse, zu der ein Prüfereignis gehört, für die Prüfung im Voraus ausgewählt wird, wird das Ereignis im Prüfpfad aufgezeichnet. Beispiel: Wenn Sie die Prüfklassen ps und na für die Prüfung im Voraus auswählen, werden unter anderem die Ereignisse der exec()-Systemaufrufe und der System-Bootvorgänge im Prüfpfad aufgezeichnet.

Zusätzlich zu den durch den Oracle Solaris-Prüfservice definierten Prüfereignissen können auch Drittanbieteranwendungen Prüfereignisse generieren. Prüfereignisnummern von 32768 bis 65535 sind für Drittanbieteranwendungen verfügbar.

Prüfklassen und Vorauswahl

Jedes Prüfereignis gehört zu mindestens einer Prüfklasse. In Prüfklassen kann eine große Anzahl von Prüfereignissen zusammengefasst werden. Bei der Vorauswahl einer zu prüfenden Klasse geben Sie an, dass alle Ereignisse in dieser Klasse im Prüfpfad aufgezeichnet werden sollen. Die Vorauswahl kann für Ereignisse auf einem System und für die von einem bestimmten Benutzer eingeleiteten Ereignisse getroffen werden. Nachdem die Ausführung des Prüfservices gestartet wurde, können Sie Prüfklassen zu den im Voraus ausgewählten Klassen dynamisch hinzufügen oder von diesen entfernen.

Durch einen Befehl für die Nachauswahl wie auditreduce können Sie Datensätze aus den im Voraus ausgewählten Prüfdatensätzen auswählen. Weitere Informationen finden Sie unter Untersuchen des Prüfpfads und auf der Manpage auditreduce(1M).

Prüfklassen werden in der Datei /etc/security/audit_class definiert. Ein Eintrag gibt für die Klasse die Prüfmaske, den Namen und beschreibenden Namen an. Die Klassendefinitionen ps und na werden beispielsweise in der Datei audit_class wie folgt angezeigt:

0x00100000:ps:process start/stop
0x00000400:na:non-attribute

Es gibt 32 mögliche Prüfklassen. Zu den Klassen zählen zwei globale Klassen: all und no. Die Prüfklassen werden auf der Manpage audit_class(4) beschrieben.

Die Zuordnung von Prüfereignissen zu Klassen kann konfiguriert werden. Sie können Ereignisse von einer Klasse entfernen, zu einer Klasse hinzufügen und eine neue Klasse für ausgewählte Ereignisse erstellen. Weitere Informationen zur Vorgehensweise erhalten Sie unter So ändern Sie die Klassenmitgliedschaft eines Prüfereignisses.

Prüfdatensätze und Prüf-Token

In einem Prüfdatensatz wird das Auftreten eines geprüften Ereignisses aufgezeichnet. Der Datensatz enthält Informationen wie die Person der durchgeführten Aktion, die betroffenen Dateien, die versuchte Aktion sowie Ort und Zeitpunkt der aufgetretenen Aktion. Das folgende Beispiel zeigt einen login-Prüfdatensatz:

header,81,2,login - local,,2003-10-13 11:23:31.050 -07:00
subject,root,root,other,root,other,378,378,0 0 example_system
text,successful login
return,success,0

Die Art der für ein Prüfereignis gespeicherten Informationen wird durch einen Satz von Prüf-Token definiert. Wenn ein Prüfdatensatz für ein Ereignis erstellt wird, enthält der Datensatz einige oder alle der für das Ereignis definierten Token. Der Ereignistyp bestimmt, welche Token aufgezeichnet werden. Im folgenden Beispiel beginnt jede Zeile mit dem Namen des Prüf-Tokens. Der Inhalt des Prüf-Tokens wird nach dem Namen angezeigt. Die vier Prüf-Token bilden zusammen den Prüfdatensatz login.

Eine ausführliche Beschreibung der Struktur der einzelnen Prüf-Token sowie ein Beispiel der Ausgabe praudit finden Sie unter Formate der Prüf-Token. Eine Beschreibung des binären Stream von Prüf-Token finden Sie auf der Manpage audit.log(4).

Prüf-Plugin-Module

Sie können Prüf-Plugin-Module für die Verarbeitung der Datensätze angeben, die durch die Vorauswahl in die Prüfwarteschlange gestellt wurden. Die Plugins sind Einträge in der Datei audit_control.

Weitere Informationen zur Syntax der Datei audit_control finden Sie auf der Manpage audit_control(4). Beispiele erhalten Sie in den Aufgaben unter Konfigurieren der Prüfdateien (Übersicht der Schritte).

Weitere Informationen zu den Plugins erhalten Sie auf den Manpages audit_binfile(5), audit_syslog(5) und audit_control(4).

Prüfprotokolle

Die Prüfdatensätze werden in Prüfprotokollen erfasst. Die Oracle Solaris-Prüfung bietet zwei Ausgabemethoden für Prüfprotokolle. Protokolle, die als Prüfdateien bezeichnet werden, speichern Prüfdatensätze im binären Format. Der Satz an Prüfdateien von einem System oder Standort enthält einen vollständigen Prüfdatensatz. Der vollständige Prüfdatensatz wird als Prüfpfad bezeichnet.

Durch das Dienstprogramm syslog werden Zusammenfassungen in Textversion des Prüfdatensatzes erfasst und gespeichert. Ein syslog-Datensatz ist nicht vollständig. Das folgende Beispiel zeigt einen syslog-Eintrag für einen login-Prüfdatensatz:

Oct 13  11:24:11 example_system auditd: [ID 6472 audit.notice] \
        login - login ok session 378 by root as root:other

Die Prüfdatensätze können in beiden Formaten an einem Standort gespeichert werden. Sie können die Systeme an Ihrem Standort so konfigurieren, dass der binäre Modus, der syslog-Modus oder beide Modi verwendet werden. In der folgenden Tabelle werden die binären Prüfdatensätze mit den syslog-Prüfdatensätzen verglichen.

Tabelle 28-2 Vergleich zwischen binären Prüfdatensätzen und syslog-Prüfdatensätzen

Funktion
Binäre Datensätze
syslog-Datensätze
Protokoll
Schreibt in Dateisystem
Verwendet UDP für Remote-Protokollierung
Datentyp
Binär
Text
Datensatzlänge
Keine Begrenzung
Bis zu 1024 Zeichen pro Prüfdatensatz
Speicherort
Auf lokaler Festplatte und in den über NFS eingehängten Verzeichnissen
In einem durch die Datei syslog.conf angegebenen Speicherort
Konfiguration
Bearbeiten der Datei audit_control und Schützen und Einhängen über NFS von Prüfverzeichnissen
Bearbeiten der Dateien audit_control und syslog.conf
Lesevorgang
Normalerweise im Batch-Modus

Browserausgabe in XML

In Echtzeit oder bei Suche durch die für syslog erstellten Skripten

Nur-Text-Ausgabe

Vollständigkeit
Vollständigkeit und Anzeige in richtiger Reihenfolge wird garantiert
Keine Vollständigkeit garantiert
Zeitstempel
Greenwich Mean Time (GMT)
Zeitpunkt auf dem geprüften System

Die binären Datensätze gewährleisten die höchstmögliche Sicherheit. Die binäre Ausgabe erfüllt die Anforderungen der Sicherheitszertifikate wie CAPP (Common Criteria Controlled Access Protection Profile). Die Datensätze werden in ein Dateisystem geschrieben, das Sie vor Lesezugriff von anderen Personen schützen. Auf einem einzelnen System werden alle binären Datensätze erfasst und in der entsprechenden Reihenfolge angezeigt. Der GMT-Zeitstempel in binären Protokollen ermöglicht einen präzisen Vergleich, wenn Systeme in einem Prüfpfad über verschiedene Zeitzonen verteilt sind. Durch den Befehl praudit -x können Sie die Datensätze in einem Browser im XML-Format anzeigen. Außerdem können Sie mithilfe von Skripten die XML-Ausgabe analysieren.

Die syslog-Datensätze bieten stattdessen eine höhere Benutzerfreundlichkeit und Flexibilität. Beispielsweise können Sie die syslog-Daten aus verschiedenen Quellen erfassen. Wenn Sie die Ereignisse audit.notice in der Datei syslog.conf überwachen, wird durch das Dienstprogramm syslog eine Prüfdatensatz-Zusammenfassung mit dem aktuellen Zeitstempel gespeichert. Sie können die gleichen Tools für die Verwaltung und Analyse verwenden, die Sie für syslog-Meldungen aus verschiedenen Quellen entwickelt haben, beispielsweise Workstations, Server, Firewalls und Router. Die Datensätze können in Echtzeit angezeigt und auf einem Remote-System gespeichert werden.

Indem Sie Prüfdatensätze mithilfe von syslog.conf an entfernten Speicherorten speichern, können Sie verhindern, dass die Protokolldaten von Angreifern geändert oder gelöscht werden. Andererseits sind die an einem entfernten Standort gespeicherten Prüfdatensätze anfällig für Netzwerkangriffe wie Denial-of-Service-Angriffe und gefälschte Quelladressen. Außerdem kann UDP Pakete ablegen oder Pakete in einer anderen Reihenfolge übermitteln. Die syslog-Einträge sind auf 1024 Zeichen beschränkt, daher können einige Prüfdatensätze im Protokoll abgeschnitten werden. Bei einem einzelnen System werden nicht alle Prüfdatensätze erfasst. Die Datensätze werden möglicherweise nicht in der richtigen Reihenfolge angezeigt. Da jeder Prüfdatensatz mit einem Zeitstempel aus Datum und Uhrzeit des lokalen Systems versehen ist, können Sie durch den Zeitstempel keinen Prüfpfad für mehrere Systeme erstellen.

Weitere Informationen zu Prüfprotokollen erhalten Sie in der folgenden Dokumentation:

Speichern des Prüfpfads

In einem Prüfverzeichnis sind die Prüfdateien im binären Format gespeichert. Normalerweise werden bei einer Installation mehrere Prüfverzeichnisse verwendet. Der Inhalt aller Prüfverzeichnisse bildet den Prüfpfad. Prüfdatensätze werden in Prüfverzeichnissen in der folgenden Reihenfolge gespeichert:

Die Verzeichnisse werden in der Datei audit_control angegeben. Nur wenn ein in der Liste zuerst genanntes Verzeichnis voll ist, wird das nächste Verzeichnis verwendet. Eine mit Anmerkungen versehene audit_control-Datei, die eine Liste der Verzeichniseinträge enthält, finden Sie unter Beispiel 30-3.

Indem Sie die Prüfdateien im standardmäßigen Stammverzeichnis für die Prüfung ablegen, erleichtern Sie die Aufgaben des Prüfers ("Audit Review") beim Prüfen des Prüfpfads. Der Befehl auditreduce verwendet das Stammverzeichnis für die Prüfung, um nach allen Dateien im Prüfpfad zu suchen. Das standardmäßige Stammverzeichnis für die Prüfung lautet /etc/security/audit. Dieses Verzeichnis ist symbolisch verknüpft mit /var/audit. Prüfdateien in Verzeichnissen mit dem Namen /var/audit/ hostname/files können über den Befehl auditreduce einfach gefunden werden. Weitere Informationen erhalten Sie unter Befehl auditreduce.

Untersuchen des Prüfpfads

Der Prüfservice bietet Befehle, mit denen Sie die Dateien im Prüfpfad kombinieren und entfernen können. Mit dem Befehl auditreduce können Sie Prüfdateien im Prüfpfad kombinieren. Außerdem können Sie mit dem Befehl Dateien filtern, um nach bestimmten Ereignissen zu suchen. Durch den Befehl praudit werden die binären Dateien gelesen. Mit den Optionen für den Befehl praudit erhalten Sie eine Ausgabe, die sich für Skripten und Browseranzeige eignet.