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)

Inhalt der Berechtigungsprofile

Berechtigungsprofil "Primary Administrator"

Berechtigungsprofil "System Administrator"

Berechtigungsprofil "Operator"

Berechtigungsprofil "Printer Management"

Berechtigungsprofil "Basic Solaris User"

Berechtigungsprofil "All"

Reihenfolge der Berechtigungsprofile

Anzeigen des Inhalts von Berechtigungsprofilen

Autorisierungsbenennung und -delegation

Autorisierungs-Namenskonventionen

Beispiel für Autorisierungsgranularität

Delegationsautorität in Autorisierungen

Datenbanken, die RBAC unterstützen

RBAC-Datenbankbeziehungen

RBAC-Datenbanken und die Naming Services

Datenbank user_attr

Datenbank auth_attr

Datenbank prof_attr

Datenbank exec_attr

Datei policy.conf

RBAC-Befehle

Befehle zum Verwalten von RBAC

Befehle, die Autorisierungen erfordern

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)

29.  Planen der Oracle Solaris-Prüfung

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

31.  Prüfung bei Oracle Solaris (Referenz)

Glossar

Index

Datenbanken, die RBAC unterstützen

In den folgenden vier Datenbanken werden die Daten für die RBAC-Elemente gespeichert:

Die Datenbank policy.conf enthält Autorisierungen, Berechtigungen und Berechtigungsprofile, die auf alle Benutzer angewendet werden. Weitere Informationen finden Sie unter Datei policy.conf.

RBAC-Datenbankbeziehungen

Jede RBAC-Datenbank verwendet eine key=value-Syntax zum Speichern von Attributen. Diese Methode ermöglicht spätere Erweiterung der Datenbanken. Durch die Methode kann ein System außerdem weiterhin ausgeführt werden, wenn ein der zugehörigen Richtlinie unbekanntes Schlüsselwort gefunden wird. Der Inhalt von key=value verknüpft die Dateien. Die folgenden verknüpften Einträge aus den vier Datenbanken zeigen, wie die RBAC-Datenbanken zusammen verwendet werden.

Beispiel 10-1 Anzeigen von RBAC-Datenbankverbindungen

Im folgenden Beispiel erhält der Benutzer jdoe die Funktionen des Berechtigungsprofils "File System Management" durch die ihm zugewiesene Rolle filemgr.

  1. Dem Benutzer jdoe wird die Rolle filemgr im Benutzereintrag jdoe in der Datenbank user_attr zugewiesen.

    # user_attr - user definition
    jdoe::::type=normal;roles=filemgr
  2. Die Rolle filemgr wird dem Berechtigungsprofil "File System Management" im Eintrag der Rolle in der Datenbank user_attr zugewiesen.

    # user_attr - role definition
    filemgr::::profiles=File System Management;type=role

    Der Benutzer und die Rolle werden in den Dateien passwd und shadow auf dem lokalen System oder in äquivalenten Datenbanken in einem verteilten Naming Service eindeutig festgelegt.

  3. Das Berechtigungsprofil "File System Management" wird in der Datenbank prof_attr festgelegt. Diese Datenbank weist zudem dem Eintrag "File System Management" drei Autorisierungssätze zu.

    # prof_attr - rights profile definitions and assigned authorizations
    File System Management:::Manage, mount, share file systems:
    help=RtFileSysMngmnt.html;
    auths=solaris.admin.fsmgr.*,solaris.admin.diskmgr.*,solaris.admin.volmgr.*
  4. Die Autorisierungen werden in der Datenbank auth_attr festgelegt.

    # auth_attr - authorization definitions
    solaris.admin.fsmgr.:::Mounts and Shares::help=AuthFsmgrHeader.html
    solaris.admin.fsmgr.read:::View Mounts and Shares::help=AuthFsmgrRead.html
    solaris.admin.fsmgr.write:::Mount and Share Files::help=AuthFsmgrWrite.html
  5. Dem Berechtigungsprofil "File System Management" werden Befehle mit Sicherheitsattributen in der Datenbank exec_attr zugewiesen.

    # exec_attr - rights profile names with secured commands
    File System Management:suser:cmd:::/usr/sbin/mount:uid=0
    File System Management:suser:cmd:::/usr/sbin/dfshares:euid=0
    …
    File System Management:solaris:cmd:::/usr/sbin/mount:privs=sys_mount
    …

RBAC-Datenbanken und die Naming Services

Der Name Service-Bereich der RBAC-Datenbanken kann nur auf den lokalen Host angewendet werden. Der Bereich kann zudem alle Hosts umfassen, die einen Naming Service wie NIS, NIS+ oder LDAP verwenden. Welcher Naming Service Vorrang hat, wird für alle Datenbanken in der Datei /etc/nsswitch.conf festgelegt.

Datenbank user_attr

Die Datenbank user_attr enthält Benutzer- und Rolleninformationen, die die Datenbanken passwd und shadow ergänzen. Die Datenbank user_attr enthält erweiterte Benutzerattribute wie Autorisierungen, Berechtigungsprofile, Berechtigungen und zugewiesene Rollen. Die Felder in der Datenbank user_attr sind folgendermaßen durch Doppelpunkte getrennt:

user:qualifier:res1:res2:attr

Die Felder haben folgende Bedeutung:

user

Der Name des Benutzers oder der Rolle wie in der Datenbank passwd angegeben.

qualifier:res1:res2

Diese Felder sind für spätere Verwendung reserviert.

attr

Eine optionale Liste durch Semikola (;) getrennter Schlüsselwertpaare, die die anzuwendenden Sicherheitsattribute beschreibt, wenn der Benutzer Befehle ausführt. Die vier gültigen Schlüssel sind type, auths, profiles und roles.

  • Das type-Schlüsselwort kann auf normal gesetzt werden, wenn dieses Konto für einen normalen Benutzer gedacht ist. Der type ist role, wenn das Konto für eine Rolle gedacht ist.

  • Das Schlüsselwort auths legt eine durch Kommata getrennte Liste mit Autorisierungsnamen fest, die aus in der Datenbank auth_attr festgelegten Namen ausgewählt werden. Autorisierungsnamen können Sternchen (*) als Platzhalter enthalten. solaris.device.* steht beispielsweise für alle Oracle Solaris-Geräteautorisierungen.

  • Das Schlüsselwort profiles gibt eine geordnete, durch Kommata getrennte Liste von Berechtigungsprofilnamen aus der Datenbank prof_attr an. Die Reihenfolge der Berechtigungsprofile funktioniert ähnlich wie UNIX-Suchpfade. Das erste Profil in der Liste, das den auszuführenden Befehl enthält, legt fest, welche (bzw. ob) Sicherheitsattribute auf den Befehl angewendet werden.

  • Das roles-Schlüsselwort legt eine durch Kommata getrennte Liste mit Rollennamen fest. Beachten Sie, dass Rollen in der gleichen user_attr-Datenbank festgelegt sind. Rollen werden durch Festlegen des Typwert als role angegeben. Rollen können keinen anderen Rollen zugewiesen werden.

Das folgende Beispiel zeigt, wie die Rolle "Operator" in einer typischen user_attr-Datenbank festgelegt wird. Das Beispiel zeigt, wie die Rolle dem Benutzer jdoe zugewiesen wird. Rollen und Benutzer werden durch das type-Schlüsselwort unterschieden.

% grep operator /etc/user_attr 
jdoe::::type=normal;roles=operator
operator::::profiles=Operator;type=role

Datenbank auth_attr

Alle Autorisierungen werden in der Datenbank auth_attr gespeichert. Autorisierungen können Benutzern, Rollen oder Berechtigungsprofilen zugewiesen werden. Die bevorzugte Methode besteht darin, Autorisierungen in einem Berechtigungsprofil zu platzieren, das Profil in die Profilliste einer Rolle aufzunehmen und die Rolle anschließend einem Benutzer zuzuweisen.

Die Felder in der Datenbank auth_attr sind folgendermaßen durch Doppelpunkte getrennt:

authname:res1:res2:short_desc:long_desc:attr

Die Felder haben folgende Bedeutung:

authname

Eine eindeutige Zeichenfolge, die zum Identifizieren der Autorisierung im Format prefix verwendet wird.[suffix]. Autorisierungen für Oracle Solaris verwenden solaris als Präfix. Alle anderen Autorisierungen sollten ein Präfix verwenden, das mit dem Internetdomainnamen der Organisation, die die Autorisierung erstellt (z. B. com.xyzcompany) in umgekehrter Reihenfolge beginnt. Das Suffix zeigt an, was autorisiert wird; normalerweise ist dies der funktionale Bereich und Vorgang.

Wenn authname aus einem Präfix und einem funktionalen Bereich besteht und mit einem Punkt endet, fungiert authname als Überschrift, die in den GUIs von Anwendungen verwendet werden kann. Ein zweiteiliger authname ist keine tatsächliche Autorisierung. Der authname von solaris.printmgr. ist ein Beispiel für eine Überschrift.

Wenn authname mit dem Wort "grant" (gewähren) endet, fungiert authname als Gewährungsautorisierung. Eine Gewährungsautorisierung ermöglicht dem Benutzer, anderen Benutzern Autorisierungen mit dem gleichen Präfix und funktionalen Bereich zu übertragen. Der authname von solaris.printmgr.grant ist ein Beispiel für eine Gewährungsautorisierung. solaris.printmgr.grant verleiht dem Benutzer das Recht, anderen Benutzern Autorisierungen wie solaris.printmgr.admin und solaris.printmgr.nobanner zu übertragen.

res1:res2

Für spätere Verwendung reserviert

short_desc

Ein Kurzname für die Autorisierung. Dieser Kurzname ist für die Anzeige in Benutzeroberflächen geeignet, z. B. in einer Bildlaufliste einer GUI.

long_desc

Eine lange Beschreibung. Dieses Feld identifiziert den Zweck der Autorisierung, die Anwendungen, in denen die Autorisierung verwendet wird, und den Benutzertyp, der die Autorisierung möglicherweise verwendet. Die lange Beschreibung kann im Hilfetext einer Anwendung angezeigt werden.

attr

Eine optionale Liste durch Semikola (;) getrennter Schlüsselwertpaare, die die Attribute einer Autorisierung beschreiben. Es können null oder mehr Schlüssel angegeben werden.

Das Schlüsselwort help identifiziert eine Hilfedatei in HTML. Auf Hilfedateien kann über die Datei index.html im Verzeichnis /usr/lib/help/auths/locale/C zugegriffen werden.

Das folgende Beispiel zeigt eine auth_attr-Datenbank mit einigen typischen Werten:

% grep printer /etc/security/auth_attr 
solaris.admin.printer.:::Printer Information::help=AuthPrinterHeader.html
solaris.admin.printer.delete:::Delete Printer Information::help=AuthPrinterDelete.html
solaris.admin.printer.modify:::Update Printer Information::help=AuthPrinterModify.html
solaris.admin.printer.read:::View Printer Information::help=AuthPrinterRead.html

Beachten Sie, dass solaris.admin.printer. als Überschrift definiert ist, da der Autorisierungsname mit einem Punkt (.) endet. Überschriften werden von den GUIs zum Organisieren von Autorisierungsfamilien verwendet.

Datenbank prof_attr

In der Datenbank prof_attr werden Name, Beschreibung, Speicherort der Hilfedatei, Berechtigungen und Autorisierungen gespeichert, die den Berechtigungsprofilen zugewiesen werden. Die Befehle und Sicherheitsattribute, die Berechtigungsprofilen zugewiesen werden, werden in der Datenbank exec_attr gespeichert. Weitere Informationen erhalten Sie unter Datenbank exec_attr. Die Felder in der Datenbank prof_attr sind folgendermaßen durch Doppelpunkte getrennt:

profname:res1:res2:desc:attr

Die Felder haben folgende Bedeutung:

profname

Der Name des Berechtigungsprofils. Bei Berechtigungsprofilnamen wird nach Groß- und Kleinschreibung unterschieden. Dieser Name wird auch von der Datenbank user_attr verwendet, um die Profile anzuzeigen, die Rollen und Benutzern zugewiesen werden.

res1:res2

Für spätere Verwendung reserviert

desc

Eine lange Beschreibung. In diesem Feld sollte der Zweck des Berechtigungsprofils erläutert sowie angegeben werden, welcher Benutzertyp an der Verwendung des Profils interessiert sein könnte. Die lange Beschreibung sollte zur Anzeige im Hilfetext einer Anwendung geeignet sein.

attr

Eine optionale Liste mit durch Semikola (;) getrennten Schlüsselwertpaaren, die die Sicherheitsattribute beschreibt, die bei der Ausführung auf das Objekt angewendet werden sollen. Es können null oder mehr Schlüssel angegeben werden. Die gültigen Schlüssel sind help. profiles und auths.

Das Schlüsselwort help identifiziert eine Hilfedatei in HTML. Auf Hilfedateien kann über die Datei index.html im Verzeichnis /usr/lib/help/profiles/locale/C zugegriffen werden.

Das Schlüsselwort profiles gibt eine durch Kommata getrennte Liste von Berechtigungsprofilen an. Diese Profile werden als supplementary rights profiles (zusätzliche Berechtigungsprofile) bezeichnet.

Das Schlüsselwort auths gibt eine durch Kommata getrennte Liste mit Autorisierungsnamen an, die aus den in der Datenbank auth_attr definierten Namen ausgewählt werden. Autorisierungsnamen können mit einem Sternchen (*) als Platzhalter angegeben werden.

Das Schlüsselwort privs gibt eine durch Kommata getrennte Liste mit Berechtigungen an. Diese Berechtigungen gelten für alle Befehle in einer Profil-Shell.

Das folgende Beispiel zeigt zwei typische prof_attr-Datenbankeinträge. Beachten Sie, dass das Berechtigungsprofil "Printer Management" ein zusätzliches Berechtigungsprofil des Berechtigungsprofils "Operator" ist. Das Beispiel enthält einen Zeilenumbruch, um eine übersichtlichere Darstellung zu ermöglichen.

% grep 'Printer Management' /etc/security/prof_attr
Printer Management:::         Name of rights profile
Manage printers, daemons, spooling: Description
help=RtPrntAdmin.html;              Help file
auths=solaris.admin.printer.read, Authorizations
solaris.admin.printer.modify,solaris.admin.printer.delete
...
Operator:::                         Name of rights profile
Can perform simple administrative tasks: Description
profiles=Printer Management,  Supplementary rights profiles
Media Backup,All;
help=RtOperator.html               Help file

Datenbank exec_attr

Die Datenbank exec_attr legt Befehle fest, die Sicherheitsattribute zur erfolgreichen Ausführung erfordern. Die Befehle sind Teil eines Berechtigungsprofils. Ein Befehl und seine Sicherheitsattribute können von Rollen oder Benutzern ausgeführt werden, denen das Profil zugewiesen ist.

Die Felder in der Datenbank exec_attr sind folgendermaßen durch Doppelpunkte getrennt:

name:policy:type:res1:res2:id:attr

Die Felder haben folgende Bedeutung:

profname

Der Name des Berechtigungsprofils. Bei Berechtigungsprofilnamen wird nach Groß- und Kleinschreibung unterschieden. Der Name bezieht sich auf ein Profil in der Datenbank prof_attr.

policy

Die mit diesem Eintrag verbundene Sicherheitsrichtlinie. Derzeit sind suser und solaris die gültigen Einträge. Die solaris-Richtlinie erkennt Berechtigungen. Die suser-Richtlinie kann dies nicht.

type

Der Typ der angegebenen Entität. Derzeit ist cmd (Befehl) der einzige gültige Entitätstyp.

res1:res2

Für spätere Verwendung reserviert

id

Eine Zeichenfolge, die die Entität identifiziert. Befehle sollten über den vollständigen Pfad oder einen Pfad mit einem Platzhalter (*) verfügen. Um Argumente anzugeben, schreiben Sie ein Skript mit den Argumenten und verweisen mit der id auf das Skript.

attr

Eine optionale Liste durch Semikola (;) getrennter Schlüsselwertpaare, die die Sicherheitsattribute beschreibt, die bei der Ausführung auf die Entität angewendet werden sollen. Es können null oder mehr Schlüssel angegeben werden. Die Liste gültiger Schlüsselwörter hängt von der angewandten Richtlinie ab.

Für die Richtlinie suser lauten die vier gültigen Schlüssel euid, uid, egid und gid.

  • Die Schlüsselwörter euid und uid enthalten einen einzelnen Benutzernamen oder eine numerische Benutzer-ID (UID). Befehle, die mit euid bezeichnet sind, werden mit der angegebenen UID ausgeführt, ähnlich dem Festlegen des setuid-Bit in einer ausführbaren Datei. Befehle, die mit uid bezeichnet sind, können sowohl mit der realen UID als auch mit der effektiven UID ausgeführt werden.

  • Die Schlüsselwörter egid und gid enthalten einen einzelnen Gruppennamen oder eine numerische Gruppen-ID (GID). Befehle, die mit egid bezeichnet sind, werden mit der angegebenen GID ausgeführt, ähnlich dem Festlegen des setgid-Bit in einer ausführbaren Datei. Befehle, die mit gid bezeichnet sind, können sowohl mit der realen GID als auch mit der effektiven GID ausgeführt werden.

Für die solaris-Richtlinie lautet das gültige Schlüsselwort privs. Der Wert besteht aus einer Liste durch Kommata getrennter Berechtigungen.

Das folgende Beispiel zeigt einige typische Werte aus einer exec_attr-Datenbank:

% grep 'File System Management' /etc/security/exec_attr
File System Management:suser:cmd:::/usr/sbin/ff:euid=0
File System Management:solaris:cmd:::/usr/sbin/mount:privs=sys_mount
…

Datei policy.conf

Die Datei policy.conf bietet eine Methode zum Gewähren spezifischer Berechtigungsprofile, Autorisierungen und Berechtigungen für alle Benutzer. Die relevanten Einträge in der Datei bestehen aus key=value-Paaren:

Das folgende Beispiel zeigt einige typische Werte aus einer policy.conf-Datenbank:

# grep AUTHS /etc/security/policy
AUTHS_GRANTED=solaris.device.cdrw

# grep PROFS /etc/security/policy
PROFS_GRANTED=Basic Solaris User

# grep PRIV /etc/security/policy

#PRIV_DEFAULT=basic
#PRIV_LIMIT=all

Weitere Informationen zu Berechtigungen finden Sie unter Berechtigungen (Übersicht).