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"
Reihenfolge der Berechtigungsprofile
Anzeigen des Inhalts von Berechtigungsprofilen
Autorisierungsbenennung und -delegation
Autorisierungs-Namenskonventionen
Beispiel für Autorisierungsgranularität
Delegationsautorität in Autorisierungen
Befehle zum Verwalten von RBAC
Befehle, die Autorisierungen erfordern
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)
In den folgenden vier Datenbanken werden die Daten für die RBAC-Elemente gespeichert:
Erweiterte Benutzerattributdatenbank (user_attr) : Verbindet Benutzer und Rollen mit Autorisierungen, Berechtigungen und Berechtigungsprofilen
Berechtigungsprofil-Attributdatenbank (prof_attr) : Legt Berechtigungsprofile fest, listet die zugewiesenen Autorisierungen und Schüsselwörter des Profils auf und bestimmt die zugehörige Hilfedatei
Autorisierungsattributdatenbank (auth_attr) : Legt Autorisierungen und ihre Attribute fest und bestimmt die zugehörige Hilfedatei
Ausführungsattributdatenbank (exec_attr) : Bestimmt die Befehle mit Sicherheitsattributen, die spezifischen Berechtigungsprofilen zugewiesen sind
Die Datenbank policy.conf enthält Autorisierungen, Berechtigungen und Berechtigungsprofile, die auf alle Benutzer angewendet werden. Weitere Informationen finden Sie unter Datei policy.conf.
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.
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
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.
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.*
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
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 …
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.
auth_attr Eintrag: Legt die Naming Service-Rangordnung für die Datenbank auth_attr fest
passwd Eintrag: Legt die Naming Service-Rangordnung für die Datenbank user_attr fest
prof_attr Eintrag: Legt die Naming Service-Rangordnung für die Datenbank prof_attr fest. Legt zudem die Naming Service-Rangordnung für die Datenbank exec_attr fest.
Wird z. B. ein Befehl mit Sicherheitsattributen einem Berechtigungsprofil zugewiesen, das in zwei Naming Services vorhanden ist, wird nur der Eintrag im ersten Service verwendet.
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:
Der Name des Benutzers oder der Rolle wie in der Datenbank passwd angegeben.
Diese Felder sind für spätere Verwendung reserviert.
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
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:
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.
Für spätere Verwendung reserviert
Ein Kurzname für die Autorisierung. Dieser Kurzname ist für die Anzeige in Benutzeroberflächen geeignet, z. B. in einer Bildlaufliste einer GUI.
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.
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.
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:
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.
Für spätere Verwendung reserviert
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.
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
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:
Der Name des Berechtigungsprofils. Bei Berechtigungsprofilnamen wird nach Groß- und Kleinschreibung unterschieden. Der Name bezieht sich auf ein Profil in der Datenbank prof_attr.
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.
Der Typ der angegebenen Entität. Derzeit ist cmd (Befehl) der einzige gültige Entitätstyp.
Für spätere Verwendung reserviert
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.
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 …
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:
AUTHS_GRANTED=authorizations: Bezieht sich auf eine oder mehrere Autorisierungen
PROFS_GRANTED=rights profiles: Bezieht sich auf ein oder mehrere Berechtigungsprofile
PRIV_DEFAULT=privileges: Bezieht sich auf eine oder mehrere Berechtigungen
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).