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)
Rollenbasierte Zugriffssteuerung (Übersicht)
RBAC: eine Alternative zum Superuser-Modell
Oracle Solaris RBAC-Elemente und Basiskonzepte
Autorisierungen und Berechtigungen
Privilegierte Anwendungen und RBAC
Anwendungen, die UIDs und GIDs prüfen
Anwendungen, die auf Berechtigungen prüfen
Anwendungen, die Autorisierungen prüfen
Sicherheitsüberlegungen bei direkter Zuweisung von Sicherheitsattributen
Berechtigungen zum Schutz von Kernel-Prozessen
Administrative Unterschiede auf einem System mit Berechtigungen
Berechtigungen und Systemressourcen
Implementieren von Berechtigungen
Zuweisen von Berechtigungen zu Prozessen
Erweitern der Berechtigungen eines Benutzers oder einer Rolle
Beschränken der Berechtigungen eines Benutzers oder einer Rolle
Zuweisen von Berechtigungen zu einem Skript
Berechtigungen und Fehlersuche
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)
Rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) ist eine Sicherheitsfunktion zur Steuerung des Zugriffs von Benutzern auf Aufgaben, die normalerweise auf Superuser beschränkt wären. Durch das Anwenden von Sicherheitsattributen auf Prozesse und Benutzer kann RBAC Superuser-Berechtigungen auf mehrere verschiedene Administratoren aufteilen. Prozessberechtigungsverwaltung wird durch Berechtigungen implementiert. Benutzerberechtigungsverwaltung wird durch RBAC implementiert.
Informationen zur Prozessberechtigungsverwaltung finden Sie unter Berechtigungen (Übersicht).
Informationen zu RBAC-Aufgaben finden Sie unter Kapitel 9Rollenbasierte Zugriffssteuerung (Aufgaben).
Referenzinformationen finden Sie in Kapitel 10Rollenbasierte Zugriffssteuerung (Übersicht).
In konventionellen UNIX-Systemen ist der root-Benutzer, auch als Superuser bezeichnet, allmächtig. Programme, die als root ausgeführt werden, oder setuid-Programme sind allmächtig. Der root-Benutzer hat Lese- und Schreibzugriff auf alle Dateien, kann alle Programme ausführen und die Beendigung beliebiger Prozesse erzwingen. Effektiv kann jeder, der Superuser werden kann, die Firewall eines Standorts oder den Prüfpfad ändern, vertrauliche Datensätze lesen und das gesamte Netzwerk herunterfahren. Wenn ein setuid-Programm "entführt" wird, kann es jede beliebige Aktion auf dem System ausführen.
Rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) bietet eine sicherere Alternative zum allumfassenden Superuser-Modell. Mit RBAC können Sie die Sicherheitsrichtlinien auf exaktere Weise durchsetzen. RBAC verwendet das Sicherheitsprinzip der niedrigsten Berechtigung. Niedrigste Berechtigung bedeutet, dass einem Benutzer nur genau die Berechtigungen zur Verfügung stehen, die für die Ausführung eines Jobs erforderlich sind. Gewöhnliche Benutzer verfügen über ausreichend Berechtigungen, um ihre Anwendungen zu verwenden, den Status ihrer Jobs zu überprüfen, Dateien zu drucken, neue Dateien zu erstellen usw. Berechtigungen, die über normale Benutzerberechtigungen hinausgehen, werden in Berechtigungsprofilen gruppiert. Benutzer, von denen die Ausführung von Jobs erwartet wird, die Superuser-Berechtigungen erfordern, nehmen eine Rolle an, die das entsprechende Berechtigungsprofil umfasst.
RBAC fasst Superuser-Berechtigungen in Berechtigungsprofilen zusammen. Diese Berechtigungsprofile werden speziellen Benutzerkonten zugewiesen, den so genannten Rollen. Ein Benutzer kann dann eine Rolle übernehmen, um einen Job auszuführen, der einige Superuser-Berechtigungen erfordert. Vordefinierte Berechtigungsprofile werden mit Oracle Solaris-Software unterstützt. Sie können die Rollen selbst erstellen und die Profile zuweisen.
Berechtigungsprofile können umfassende Berechtigungen zur Verfügung stellen. Das Berechtigungsprofil "Primary Administrator" stellt z. B. ein Äquivalent zum Superuser dar. Berechtigungsprofile können auch stark eingeschränkt definiert werden. Das Berechtigungsprofil "Cron Management" verwaltet beispielsweise nur at- und cron-Jobs. Wenn Sie Rollen erstellen, können Sie sich für das Erstellen von Rollen mit umfassenden Berechtigungen, Rollen mit eingeschränkten Berechtigungen oder beides entscheiden.
Im RBAC-Modell erstellt der Superuser eine oder mehrere Rollen. Die Rollen basieren auf Berechtigungsprofilen. Der Superuser weist die Rollen dann vertrauenswürdigen Benutzern zur Ausführung zu. Benutzer melden sich mit ihrem Benutzernamen an. Nach der Anmeldung nehmen die Benutzer Rollen an, die eingeschränkte Administrationsbefehle und Tools mit grafischen Benutzeroberflächen (Graphical User Interface, GUI) ausführen.
Die Flexibilität beim Einrichten von Rollen ermöglicht eine Vielzahl von Sicherheitsrichtlinien. Es werden nur wenige Rollen mit Oracle Solaris geliefert; drei empfohlene Rollen können jedoch leicht konfiguriert werden. Diese Rollen basieren auf den Berechtigungsprofilen des gleichen Namens:
Primary Administrator: Eine leistungsstarke Rolle, die ein Äquivalent zum root-Benutzer oder Superuser darstellt.
Root: Eine leistungsstarke Rolle, die ein Äquivalent zum root-Benutzer darstellt. Dieser root kann sich jedoch nicht anmelden. Ein gewöhnlicher Benutzer muss sich anmelden und dann die ihm zugewiesene root-Rolle annehmen.
System Administrator: Eine weniger leistungsstarke Rolle für die Verwaltung, die nicht mit der Sicherheit in Zusammenhang steht. Diese Rolle kann Dateisysteme, Mail und Softwareinstallationen verwalten. Diese Rolle kann jedoch keine Passwörter festlegen.
Operator: Eine Juniorverwaltungsrolle für Vorgänge wie Backups und Druckerverwaltung.
Diese drei Rollen müssen nicht implementiert werden. Rollen stellen eine Funktion der Sicherheitsansprüche eines Unternehmens dar. Rollen können für Administratoren mit besonderen Funktionen in Bereichen wie Sicherheit, Vernetzung oder Firewall-Verwaltung eingerichtet werden. Eine andere Strategie besteht darin, eine einzelne, leistungsstarke Administratorrolle und eine Rolle für fortgeschrittene Benutzer zu erstellen. Die Rolle für fortgeschrittene Benutzer ist für Benutzer gedacht, die dazu berechtigt sind, Teile ihres eigenen Systems selbst zu reparieren.
Das Superuser-Modell und das RBAC-Modell können nebeneinander existieren. In der folgenden Tabelle werden die verschiedenen Abstufungen von Superuser bis zum gewöhnlichen Benutzer aufgelistet, die im RBAC-Modell möglich sind. Die Tabelle umfasst auch die administrativen Aktionen, die in beiden Modellen verfolgt werden können. Eine Zusammenfassung der Auswirkungen von Berechtigungen allein auf einem System finden Sie in Tabelle 8-2.
Tabelle 8-1 Superuser-Modell im Gegensatz zu RBAC-Modell mit Berechtigungen
|
Das RBAC-Modell in Oracle Solaris führt folgende Elemente ein:
Autorisierung: Eine Erlaubnis, die einem Benutzer oder einer Rolle das Ausführen von Aktionen ermöglicht, die zusätzliche Berechtigungen erfordern. Durch die Sicherheitsrichtlinien bei der Installation erhalten gewöhnliche Benutzer beispielsweise die Autorisierung solaris.device.cdrw. Diese Autorisierung ermöglicht Benutzern Lese- und Schreibvorgänge auf einem CD-ROM-Gerät. Eine Liste der Autorisierungen finden Sie in der Datei /etc/security/auth_attr.
Berechtigung: Ein einzelnes Recht, das einem Befehl, einem Benutzer, einer Rolle oder einem System gewährt werden kann. Berechtigungen ermöglichen einem Prozess erfolgreiches Arbeiten. Durch die Berechtigung proc_exec kann ein Prozess beispielsweise execve() aufrufen. Gewöhnliche Benutzer verfügen über Basisberechtigungen. Um Ihre Basisberechtigungen einzusehen, führen Sie den Befehl ppriv -vl basic aus.
Sicherheitsattribute: Ein Attribut, das einem Prozess das Ausführen eines Vorgangs ermöglicht. In einer typischen UNIX-Umgebung ermöglicht ein Sicherheitsattribut einem Prozess das Ausführen eines Vorgangs, der gewöhnlichen Benutzern andernfalls verboten ist. setuid- und setgid-Programme verfügen z. B. über Sicherheitsattribute. Im RBAC-Modell erfordern Vorgänge, die gewöhnliche Benutzer ausführen, möglicherweise Sicherheitsattribute. Zusätzlich zu den setuid- und setgid-Programmen stellen Autorisierungen und Berechtigungen auch Sicherheitsattribute im RBAC-Modell dar. Ein Benutzer mit der Autorisierung solaris.device.allocate kann beispielsweise ein Gerät für die exklusive Verwendung zuordnen. Ein Prozess mit der Berechtigung sys_time kann Systemzeit bearbeiten.
Privilegierte Anwendung: Eine Anwendung oder ein Befehl, der/die Systemsteuerungen durch Überprüfen auf Sicherheitsattribute überschreiben kann. In einer typischen UNIX-Umgebung und im RBAC-Modell sind Programme, die setuid und setgid verwenden, privilegierte Anwendungen. Im RBAC-Modell sind Programme, die zur erfolgreichen Ausführung Berechtigungen oder Autorisierungen benötigen, ebenfalls privilegierte Anwendungen. Weitere Informationen finden Sie unter Privilegierte Anwendungen und RBAC.
Berechtigungsprofil: Eine Sammlung administrativer Berechtigungen, die einer Rolle oder einem Benutzer zugewiesen werden können. Ein Berechtigungsprofil kann aus Autorisierungen, Befehlen mit Sicherheitsattributen und anderen Berechtigungsprofilen bestehen. Berechtigungsprofile bieten eine einfache Weise, Sicherheitsattribute zu gruppieren.
Rolle: Eine spezielle Identität zum Ausführen privilegierter Anwendungen. Diese spezielle Identität kann nur von zugewiesenen Benutzern angenommen werden. In einem System, das mit Rollen ausgeführt wird, sind keine Superuser erforderlich. Superuser-Berechtigungen werden auf verschiedene Rollen verteilt. In einem System mit zwei Rollen werden z. B. Sicherheitsaufgaben von einer Sicherheitsrolle erfüllt. Die zweite Rolle bearbeitet nicht sicherheitsbezogene Systemverwaltungsaufgaben. Rollen können genauer abgegrenzt sein. Ein System kann beispielsweise separate administrative Rollen zur Verwaltung des kryptografischen Frameworks, der Drucker, der Systemzeit, der Dateisysteme und der Prüfungen umfassen.
Die folgende Abbildung zeigt, wie die RBAC-Elemente zusammenarbeiten.
Abbildung 8-1 Oracle Solaris RBAC-Elementbeziehungen
In RBAC werden Benutzern Rollen zugewiesen. Wenn ein Benutzer eine Rolle annimmt, stehen ihm die Berechtigungen der Rolle zur Verfügung. Rollen erhalten ihre Berechtigungen aus Berechtigungsprofilen. Berechtigungsprofile können Autorisierungen, direkt zugewiesene Berechtigungen, privilegierte Befehle und andere, zusätzliche Berechtigungsprofile enthalten. Privilegierte Befehle sind Befehle, die mit Sicherheitsattributen ausgeführt werden.
In der folgenden Abbildung werden RBAC-Beziehungen anhand der Rolle "Network Security" und des Berechtigungsprofils "Network Security" gezeigt.
Abbildung 8-2 Beispiel für Oracle Solaris RBAC-Elementbeziehungen
Die Rolle "Network Security" wird zum Verwalten von IPsec, Wifi und Netzwerklinks verwendet. Die Rolle ist dem Benutzer jdoe zugewiesen. jdoe kann die Rolle durch Wechseln zur Rolle und anschließende Eingabe des Rollenpassworts annehmen.
Das Berechtigungsprofil "Network Security" wurde der Rolle "Network Security" zugewiesen. Das Berechtigungsprofil "Network Security" enthält zusätzliche, der Reihe nach bewertete Profile: Network Wifi Security, Network Link Security und Network IPsec Management. Diese zusätzlichen Profile erfüllen die Primäraufgaben der Rolle.
Das Berechtigungsprofil "Network Security" verfügt über drei direkt zugewiesene Autorisierungen, keine direkt zugewiesenen Berechtigungen und zwei Befehle mit Sicherheitsattributen. Die zusätzlichen Berechtigungsprofile verfügen über direkt zugewiesene Autorisierungen, und zwei von ihnen verfügen über Befehle mit Sicherheitsattributen. In der Rolle "Network Security" hat jdoe alle zugewiesenen Autorisierungen in diesen Profilen und kann alle Befehle mit Sicherheitsattributen in diesen Profilen ausführen. jdoe kann die Netzwerksicherheit verwalten
Oracle Solaris bietet Administratoren hohe Flexibilität bei Sicherheitskonfigurationen. Nach der Installation der Software ist zunächst keine Berechtigungseskalation möglich. Berechtigungseskalation tritt auf, wenn ein Benutzer oder ein Prozess mehr administrative Berechtigungen erhält, als er eigentlich bekommen sollte. In diesem Zusammenhang mit Berechtigung ein beliebiges Sicherheitsattribut gemeint, nicht nur eine Berechtigung.
Oracle Solaris-Software enthält Sicherheitsattribute, die nur dem root-Benutzer zugewiesen sind. Wenn noch andere Sicherheitsschutzmechanismen vorhanden sind, weist ein Administrator möglicherweise Attribute, die für den root-Benutzer ausgelegt sind, anderen Konten zu. Solche Zuweisungen müssen jedoch vorsichtig vorgenommen werden.
Das Berechtigungsprofil "Media Restore" ist beispielsweise zwar vorhanden, stellt jedoch keinen Teil eines anderen Berechtigungsprofils dar. Da Media Restore Zugriff auf das gesamte Root-Dateisystem bietet, stellt seine Verwendung eine mögliche Berechtigungseskalation dar. Absichtlich geänderte Dateien oder Ersatzmedien könnten wiederhergestellt werden. Standardmäßig verfügt nur der root-Benutzer über dieses Berechtigungsprofil.
Informationen zu Eskalationen, die das Berechtigungssicherheitsattribut beeinflussen, finden Sie unter Verhindern von Berechtigungseskalation.
Eine Autorisierung ist eine einzelne Berechtigung, die einer Rolle oder einem Benutzer gewährt werden kann. Autorisierungen setzen Richtlinien auf der Benutzeranwendungsstufe durch.
Obwohl Autorisierungen einer Rolle oder einem Benutzer direkt zugewiesen werden können, empfiehlt es sich, Autorisierungen in einem Berechtigungsprofil festzuhalten. Das Berechtigungsprofil wird dann einer Rolle hinzugefügt und die Rolle einem Benutzer zugewiesen. Ein Beispiel finden Sie unter Abbildung 8-2.
RBAC-konforme Anwendungen können die Autorisierungen eines Benutzers überprüfen, bevor sie Zugriff auf die Anwendung oder spezifische Vorgänge innerhalb der Anwendung gewähren. Diese Überprüfung ersetzt die Überprüfung in konventionellen UNIX-Anwendungen für UID=0. Weitere Informationen zu Autorisierungen finden Sie in den folgenden Abschnitten:
Berechtigungen setzen die Sicherheitsrichtlinie im Kernel durch. Der Unterschied zwischen Autorisierungen und Berechtigungen betrifft die Ebene, auf der die Sicherheitsrichtlinie durchgesetzt wird. Ohne die entsprechende Berechtigung kann ein Prozess durch den Kernel von der Ausführung privilegierter Vorgänge abgehalten werden. Ohne die entsprechende Autorisierung kann ein Benutzer von der Verwendung einer privilegierten Anwendung oder dem Ausführen sicherheitsempfindlicher Vorgänge innerhalb einer privilegierten Anwendung abgehalten werden. Weitere Informationen zu Berechtigungen finden Sie unter Berechtigungen (Übersicht).
Anwendungen und Befehle, die Systemsteuerungen überschreiben können, werden als privilegierte Anwendungen bezeichnet. Durch Sicherheitsattribute wie UID=0, Berechtigungen und Autorisierungen wird eine Anwendung als privilegierte Anwendung definiert.
Privilegierte Anwendungen, die auf root ( UID=0) oder andere spezielle UIDs oder GIDs hin überprüfen, gibt es bereits seit langer Zeit in der UNIX-Umgebung. Der Berechtigungsprofilmechanismus ermöglicht Ihnen das Isolieren von Befehlen, die eine spezifische ID erfordern. Anstatt die ID in einem Befehl zu ändern, auf den jeder zugreifen kann, können Sie den Befehl mit Ausführungssicherheitsattributen in einem Berechtigungsprofil platzieren. Ein Benutzer oder eine Rolle mit diesem Berechtigungsprofil kann das Programm anschließend ausführen, ohne dafür Superuser werden zu müssen.
IDs können als real oder effektiv eingestuft werden. Das Zuweisen von effektiven IDs wird dem Zuweisen realer IDs vorgezogen. Effektive IDs stellen ein Äquivalent zur Funktion setuid in den Dateiberechtigungsbits dar. Effektive IDs identifizieren zudem die UID für die Prüfung. Da jedoch einige Shell-Skripten und Programme eine reale UID von root benötigen, können auch reale UIDs eingestellt werden. Der Befehl pkgadd beispielsweise erfordert eine reale statt einer effektiven UID. Wenn eine effektive ID nicht ausreicht, um einen Befehl auszuführen, müssen Sie die ID in eine reale ID ändern. Informationen zu diesem Vorgang finden Sie unter So erstellen oder ändern Sie ein Berechtigungsprofil.
Privilegierte Anwendungen können die Verwendung von Berechtigungen überprüfen. Der RBAC-Berechtigungsprofilmechanismus ermöglicht das Festlegen von Berechtigungen für spezifische Befehle. Sie können den Befehl mit Ausführungssicherheitsattributen in einem Berechtigungsprofil isolieren, damit keine Superuser-Berechtigungen zur Verwendung einer Anwendung oder eines Befehls erforderlich sind. Eine Benutzerrolle mit diesem Berechtigungsprofil kann den Befehl anschließend allein mit den Berechtigungen ausführen, die der Befehl für die erfolgreiche Ausführung benötigt.
Zu den Befehlen, die auf Berechtigungen prüfen, gehören die folgenden:
Kerberos-Befehle wie kadmin, kprop und kdb5_util
Netzwerkbefehle wie ifconfig, routeadm und snoop
Datei- und Dateisystembefehle wie chmod, chgrp und mount
Befehle, die Prozesse steuern, wie kill, pcred und rcapadm
Informationen zum Hinzufügen von Befehlen mit Berechtigungen zu einem Berechtigungsprofil finden Sie unter So erstellen oder ändern Sie ein Berechtigungsprofil. Informationen zum Festlegen, welche Befehle ein bestimmtes Profil auf Berechtigungen prüfen, finden Sie unter Festlegen Ihrer zugewiesenen Berechtigungen.
Oracle Solaris bietet zusätzlich Befehle, die Autorisierungen prüfen. Definitionsgemäß verfügt der root-Benutzer über alle Autorisierungen. Daher kann der root-Benutzer jede beliebige Anwendung ausführen. Zu den Anwendungen, die auf Autorisierungen prüfen, gehören die folgenden:
Die gesamte Solaris Management Console-Toolsuite
Prüfverwaltungsbefehle wie auditconfig und auditreduce
Druckerverwaltungsbefehle wie lpadmin und lpfilter
Die Batch-Job-bezogenen Befehle wie at, atq, batch und crontab
Geräteorientierte Befehle wie allocate, deallocate, list_devices und cdrw.
Informationen zum Prüfen eines Skripts oder Programms auf Autorisierungen finden Sie in Beispiel 9-24. Informationen zum Schreiben eines Programms, das Autorisierungen erfordert, finden Sie unter About Authorizations in Developer’s Guide to Oracle Solaris Security.
Ein Berechtigungsprofil ist eine Sammlung von Systemüberschreibungen, die einer Rolle oder einem Benutzer zugewiesen werden können. Ein Berechtigungsprofil kann Autorisierungen, Befehle mit zugewiesenen Sicherheitsattributen und andere Berechtigungsprofile enthalten. Berechtigungsprofilinformationen werden zwischen den Datenbanken prof_attr und exec_attr aufgeteilt. Berechtigungsprofilnamen und -autorisierungen befinden sich in der Datenbank prof_attr. Der Berechtigungsprofilname und die Befehle mit zugewiesenen Sicherheitsattributen befinden sich in der Datenbank exec_attr.
Weitere Informationen zu Berechtigungsprofilen finden Sie in den folgenden Abschnitten:
Eine Rolle ist ein bestimmter Benutzerkontotyp, von dem aus Sie privilegierte Anwendungen ausführen können. Rollen werden auf die gleiche allgemeine Weise wie Benutzerkonten erstellt. Rollen haben ein Home-Verzeichnis, eine Gruppenzuweisung, ein Passwort usw. Berechtigungsprofile und Autorisierungen verleihen der Rolle administrative Fähigkeiten. Rollen können keine Berechtigungen von anderen Rollen oder Benutzern übernehmen. Superuser-Berechtigungen werden auf einzelne Rollen aufgeteilt und ermöglichen so sicherere administrative Praktiken.
Wenn ein Benutzer eine Rolle annimmt, ersetzen die Attribute der Rolle alle Benutzerattribute. Die Rolleninformationen werden in den Datenbanken passwd, shadow und user_attr gespeichert. Es können Rolleninformationen zur Datenbank audit_user hinzugefügt werden. Ausführliche Informationen zum Einrichten von Rollen finden Sie in den folgenden Abschnitten:
Eine Rolle kann mehr als einem Benutzer zugewiesen werden. Alle Benutzer, die dieselbe Rolle annehmen können, haben das gleiche Rollen-Home-Verzeichnis, arbeiten in der gleichen Umgebung und haben Zugriff auf die gleichen Dateien. Benutzer können Rollen aus der Befehlszeile annehmen, indem sie den Befehl su ausführen und den Rollennamen und das Passwort eingeben. Benutzer können eine Rolle zudem im Solaris Management Console-Tool annehmen.
Eine Rolle kann sich nicht direkt anmelden. Ein Benutzer meldet sich an und nimmt anschließend eine Rolle an. Sobald ein Benutzer eine Rolle angenommen hat, kann er keine andere Rolle mehr annehmen, solange er seine derzeitige Rolle nicht verlässt. Nach Verlassen der Rolle kann der Benutzer eine andere Rolle annehmen.
Sie können anonyme root-Anmeldungen verhindern, indem Sie den root-Benutzer, wie in So wandeln Sie den root-Benutzer in eine Rolle um beschrieben, als Rolle konfigurieren. Wenn der Profil-Shell-Befehl pfexec geprüft wird, enthält der Prüfpfad die reale UID des Anmeldebenutzers, die Rollen, die der Benutzer angenommen hat, sowie die Aktionen, die die Rolle ausgeführt hat. Informationen zum Prüfen des Systems oder eines bestimmten Benutzers für Rollenvorgänge finden Sie unter So prüfen Sie Rollen.
Mit Oracle Solaris-Software werden keine vordefinierten Rollen geliefert. Die Berechtigungsprofile, die mit der Software geliefert werden, wurden jedoch für die Zuordnung zu Rollen entwickelt. Das Berechtigungsprofil "Primary Administrator" kann beispielsweise zum Erstellen der Rolle "Primary Administrator" verwendet werden.
Informationen zum Konfigurieren der Rolle "Primary Administrator" finden Sie unter Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration .
Informationen zum Konfigurieren weiterer Rollen finden Sie unter So können Sie eine Rolle mit der GUI erstellen und zuweisen.
Informationen zum Erstellen von Rollen in der Befehlszeile finden Sie unter Verwalten von RBAC (Übersicht der Schritte).
Rollen können privilegierte Anwendungen vom Solaris Management Console Launcher oder von einer Profil-Shell aus starten. Eine Profil-Shell ist eine besondere Shell, die die in einem Berechtigungsprofil eingeschlossenen Sicherheitsattribute erkennt. Profil-Shells werden gestartet, wenn der Benutzer den Befehl su ausführt, um eine Rolle anzunehmen. Die Profil-Shells sind pfsh, pfcsh und pfksh. Die Shells entsprechen Bourne-Shell (sh), C-Shell (csh) und Korn-Shell (ksh).
Benutzer, denen direkt ein Berechtigungsprofil zugewiesen wurde, müssen eine Profil-Shell aufrufen, um die Befehle mit Sicherheitsattributen auszuführen. Informationen zu Benutzungs- und Sicherheitsfragen finden Sie unter Sicherheitsüberlegungen bei direkter Zuweisung von Sicherheitsattributen.
Alle Befehle, die in einer Profil-Shell ausgeführt werden, können geprüft werden. Weitere Informationen finden Sie unter So prüfen Sie Rollen.
Der Name Service-Bereich ist ein für das Verständnis von RBAC wichtiges Konzept. Der Bereich einer Rolle kann auf einen einzelnen Host beschränkt sein. Alternativ kann der Bereich alle Hosts umfassen, die einen Naming Service wie NIS, NIS+ oder LDAP verwenden. Der Name Service-Bereich für ein System wird in der Datei /etc/nsswitch.conf angegeben. Eine Suche hält bei der ersten Übereinstimmung an. Wenn ein Berechtigungsprofil z. B. in zwei Name Service-Bereichen vorhanden ist, werden nur die Einträge im ersten Name Service-Bereich verwendet. Wenn die erste Übereinstimmung files ist, ist der Bereich der Rolle auf den lokalen Host beschränkt.
Normalerweise erhält ein Benutzer administrative Berechtigungen durch eine Rolle. Autorisierungen und privilegierte Befehle werden in ein Berechtigungsprofil gruppiert. Das Berechtigungsprofil wird in eine Rolle eingeschlossen und diese einem Benutzer zugewiesen.
Direkte Zuweisungen von Berechtigungsprofilen und Sicherheitsattributen sind ebenfalls möglich:
Berechtigungsprofile, Berechtigungen und Autorisierungen können Benutzern direkt zugewiesen werden.
Berechtigungen und Autorisierungen können Benutzern und Rollen direkt zugewiesen werden.
Die direkte Zuweisung von Berechtigungen ist jedoch keine sichere Vorgehensweise. Benutzer und Rollen mit einer direkt zugewiesenen Berechtigung könnten die Sicherheitsrichtlinie überschreiben, falls diese Berechtigung vom Kernel benötigt wird. Eine sicherere Vorgehensweise ist das Zuweisen der Berechtigung als Sicherheitsattribut eines Befehls in einem Berechtigungsprofil. Diese Berechtigung ist dann für diesen Befehl nur für Personen mit diesem Berechtigungsprofil verfügbar.
Da Autorisierungen auf Benutzerebene arbeiten, ist die direkte Zuweisung von Autorisierungen möglicherweise weniger gefährlich als die direkte Zuweisung von Berechtigungen. Autorisierungen können einem Benutzer jedoch das Ausführen äußerst sicherer Aufgaben wie das Zuweisen von Prüf-Flags ermöglichen.
Ein Berechtigungsprofil, das einem Benutzer direkt zugewiesen wird, verursacht eher Verwendungs- als Sicherheitsprobleme. Die Befehle mit Sicherheitsattributen im Berechtigungsprofil können nur in einer Profil-Shell erfolgreich ausgeführt werden. Der Benutzer muss eine Profil-Shell öffnen und dann die Befehle in diese Shell eingeben. Eine Rolle, der ein Berechtigungsprofil zugewiesen ist, erhält automatisch eine Profil-Shell. Daher werden die Befehle erfolgreich in der Shell der Rolle ausgeführt.