it-swarm.com.de

MAC gegen DAC gegen RBAC

Jemand kann mir eine reale Situation vorschlagen, in der es besser ist, MAC (obligatorische Zugriffskontrolle) anstelle von DAC (diskretionäre Zugriffskontrolle) oder RBAC (rollenbasierte Zugriffskontrolle) zu verwenden? Und in welchem ​​DAC ist besser als in den anderen? Und in welchem ​​RBAC ist das Beste?

Ich kenne die theoretischen Begriffe und ich weiß, dass RBAC in Situationen besser ist, in denen wir die Rechte nicht den Menschen, sondern dem spezifischen Job zuweisen wollen. Ich weiß auch, dass MAC und RBAC in Situationen besser sind, in denen wir vermeiden möchten, dass ein Benutzer die Rechte verwalten kann.

15
mcfan

[~ # ~] dac [~ # ~] ist der Weg, damit die Leute den Inhalt verwalten können, den sie besitzen. Es mag offensichtlich klingen, aber zum Beispiel ist DAC sehr gut, um Benutzern eines sozialen Online-Netzwerks zu überlassen, wer auf ihre Daten zugreift. Es ermöglicht Benutzern, Berechtigungen einfach und sofort zu widerrufen oder weiterzuleiten. Reaktive Zugriffskontrolle , Weitere Informationen und Laissez-faire-Dateifreigabe bieten Benutzern nützliche Beispiele für DAC-Untersuchungen.

[~ # ~] rbac [~ # ~] ist eine Form der Zugriffskontrolle, die, wie Sie sagten, geeignet ist, Verantwortlichkeiten in einem System mit mehreren Rollen zu trennen sind erfüllt. Dies gilt offensichtlich für Unternehmen (häufig zusammen mit der Unterteilung, z. B. Brewer und Nash oder MCS ), kann aber auch für eine einzelne verwendet werden Benutzer-Betriebssystem zur Implementierung des Prinzip der geringsten Berechtigung . RBAC wurde für Aufgabentrennung entwickelt, indem Benutzer die Rollen auswählen können, die sie für eine bestimmte Aufgabe benötigen. Die Schlüsselfrage ist, ob Sie Rollen verwenden, um auf Ihrem System ausgeführte Aufgaben darzustellen und Rollen in einer zentralen Behörde zuzuweisen (in diesem Fall ist RBAC eine Form von MAC). oder wenn Sie Rollen verwenden, damit Benutzer Berechtigungen für ihre eigenen Objekte steuern können (was zu mehreren Rollen pro Objekt und absolut keiner Semantik in Rollen führt, obwohl dies theoretisch möglich ist).

[~ # ~] mac [~ # ~] an sich ist vage, es gibt viele Möglichkeiten, es für viele Systeme zu implementieren. In der Praxis verwenden Sie häufig eine Kombination verschiedener Paradigmen. Beispielsweise verwendet ein UNIX-System meistens DAC, aber das Root-Konto umgeht DAC-Berechtigungen. In einem Unternehmen können Sie über die Trennung Ihrer verschiedenen Abteilungen und Teams mit MAC/RBAC hinaus einigen DAC-Mitarbeitern erlauben, Informationen über Ihr Unternehmensdateisystem auszutauschen.


Es ist besser, Ihre Frage spezifisch zu machen und anzugeben, welche Systeme Sie gegebenenfalls schützen möchten. Welche Zugriffskontrolle verwendet werden soll, hängt immer von der jeweiligen Situation und dem jeweiligen Kontext ab.

13

Jedes System wird für eine andere übergeordnete Sicherheitsanforderung verwendet. Die drei wichtigsten Sicherheitsanforderungen sind Vertraulichkeit, Integrität und Verfügbarkeit.

MAC unterstützt eine Sicherheitsanforderung der Vertraulichkeit mehr als die anderen. DAC unterstützt die Sicherheitsanforderungen der Verfügbarkeit stärker als die anderen. RBAC unterstützt die Sicherheitsanforderungen der Integrität mehr als die anderen. es gibt einen anderen...

MAC trifft Entscheidungen basierend auf der Kennzeichnung und dann den Berechtigungen. DAC trifft Entscheidungen nur auf der Grundlage von Berechtigungen. RBAC trifft Entscheidungen basierend auf Funktion/Rollen.

Wenn das System oder die Implementierung Entscheidungen trifft (wenn es richtig programmiert ist), werden die Sicherheitsanforderungen durchgesetzt. Wenn Sie das falsche System verwenden, können Sie es kludeln, um das zu tun, was Sie wollen. Das passiert ziemlich oft.

Sie schließen sich nicht gegenseitig aus, außer für DAC oder MAC. Es gibt Kombinationsimplementierungen DAC/RBAC, das beste Beispiel für diese Active Directory-Rollen und -Berechtigungen.

RBAC - tendiert zu Datenbanken - ein klassisches Beispiel dafür, wo Sie eines der anderen Systeme nicht verwenden können und RBAC verwenden müssen, ist für den Kundenservice und die Abrechnung. Wenn Sie das Kabelunternehmen anrufen, um Ihre Pay-per-View-Funktion zu erhalten, wird der Kundendienstmitarbeiter sagen, dass es mir leid tut, dass ich Sie zur Abrechnung überweisen kann, damit Sie Ihre überfällige Rechnung bezahlen können. Er weiß, dass Sie eine überfällige Rechnung haben, aber ihre Rolle verhindert dies Sie können Ihre Kreditkarteninformationen nicht direkt abrufen. Wenn Sie zur Abrechnung übergehen, bezahlen Sie Ihre Rechnung und sagen, kann ich meinen Service haben? Sie sagen, ich soll Sie zurücküberweisen. Ich sehe, Sie möchten diesen Service, aber das ist nicht meine Aufgabe. Beide Rollen können also alle Daten anzeigen (keine Vertraulichkeit), aber nur die Felder bearbeiten, für die sie bestimmte Verantwortlichkeiten haben (Integrität). -Du kannst DAC argumentieren: passt aber zur "mehr so" -Regel.

MAC - tendiert zu militärischen Systemen oder sehr eng definierten Implementierungen mit hohen Sicherheitsanforderungen. 2, die ziemlich oft verwendet werden TRusted-Solaris- und LINUX-MAC-Kernelmodul (dies war früher SELinux), gibt es andere, aber es ist Ihnen egal. Eines der Schlüsselelemente, das nur in MAC vorkommt, ist ein Konstrukt der Dominanz. Wenn Sie über eine Freigabe auf geheimer Ebene verfügen, können Sie mit keiner Anzahl von Berechtigungen ein streng geheimes Dokument anzeigen. In kommerziellen Einheiten ist es selten, dass Sie dieses Konstrukt benötigen. Es wird jedoch der zweite Punkt angesprochen, der nur für MAC gilt. Wenn eine Aktivität nicht ausdrücklich zulässig ist, können Sie dies nicht tun. (Dies unterbricht viele kommerzielle Verwendungszwecke hauptsächlich aufgrund der schnellen Änderung der Mission oder der Systemanforderungen.) Eine hervorragende Verwendung von MAC wäre auf einem Webserver, auf dem Sie eine benutzerdefinierte Richtlinie schreiben würden (und dies ist für diese Implementierung sehr eng definiert) gibt an, dass die Kernprozesse nur vom Systemkonto ausgeführt werden können. Alle daraus hervorgerufenen Prozesse müssen bestimmte Berechtigungen erfüllen.

DAC - jeder benutzt es und die Person vor mir antwortet gut genug.

4
D0c0z