Access Control Mandate Model (MAC): Übersicht und Anwendungsapplikationen

Bild

Mandatory Access Control (MAC) -Modell - eine Methode zur Zugriffssteuerung mit festgelegten Berechtigungen. Typischerweise wird dieser MAC in Systemen mit hohen Sicherheitsanforderungen verwendet und dient verschiedenen Strafverfolgungsbehörden und Organisationen, die mit staatlichen oder behördlichen Geheimnissen in Verbindung stehen.

MAC-Modell


Der MAC wird, obwohl er in vielen Artikeln und Materialien enthalten ist, am häufigsten beiläufig und in Form einer scharfen Sauce erwähnt, um MLS in SELinux kurz zu erwähnen. Da viele ihre Freundschaft mit SELinux einschränken, indem sie das Rezept " SELinux deaktivieren " verwenden, wird es häufig auch vom MAC gewürdigt. Deshalb zunächst kurz über MAC.

Wenn Sie mit dem Modell vertraut sind, können Sie sofort mit dem nächsten Abschnitt fortfahren.

Hauptidee


Das abstrakte Sicherheitsmodell, das im klassischen MAC implementiert ist (wie Strafverfolgungsbeamte wissen), sieht wie folgt aus (klassisches Bild, das das Bell-Lapadula-Modell veranschaulicht ):

Bild

Das MAC-Modell ist von Natur aus eine "elektronische" Implementierung eines "geheimen" Papier-Workflows. Der MAC hat die folgenden "Akteure":

  • Die Hierarchie der Zugriffsebenen , die im System verarbeitet werden (normalerweise im Betriebssystem registriert). Der Einfachheit halber wird es häufig in Form von Zahlen ohne Vorzeichen angegeben (von 0 bis zu einem durch die Implementierung begrenzten Wert). In diesem Fall werden zum Vergleichen der Zugriffsebenen (höher / niedriger / gleich) die einfachsten Rechenoperationen verwendet (gleich, weniger, mehr).
  • Objekt mit Geheimhaltungsgrad. Beliebige Datei, Verzeichnis im Dateisystem, Zelle oder Datensatz in der Datenbanktabelle, Tabelle in der Datenbank, Datenbank selbst, Netzwerkpaket usw. Dem Objekt wird ein beliebiger Wert aus der Hierarchie der Zugriffsebenen zugewiesen. Für das Objekt ist es zulässig, den Geheimhaltungsgrad zu erhöhen (auf einen höheren Wert als den aktuellen Wert zu ändern). Eine Verringerung des Geheimhaltungsgrades ist grundsätzlich nicht zulässig (obwohl dies mit Hilfe bestimmter Tricks durchaus machbar ist).
  • Betreff mit Zugriffsebene. Der Prozess einer Bewerbung oder einer Benutzersitzung (im Wesentlichen auch der Bewerbungsprozess). Die Bezeichnung der Zugriffsebene wird von allen von diesem Betreff erstellten Objekten vom Betreff geerbt.

Der Wert der Zugriffsebene des Subjekts oder der Sicherheitsstufe des Objekts wird normalerweise als "obligatorische Ebene", "obligatorische Kennzeichnung" oder einfach als "Kennzeichnung" bezeichnet (in STCSEC wird dieser Begriff als "hierarchische Klassifizierungsebene" bezeichnet). Einfach, geräumig und fast eindeutig.

Die Berechtigungsprüfung wird bei jedem Zugriff des Subjekts auf das durch den MAC geschützte Objekt durchgeführt. In diesem Fall wird das Berechtigungsnachweis-Zugriffssteuerungsmodell normalerweise in Verbindung mit anderen Zugriffssteuerungsmechanismen verwendet, z. B. dem DAC (UNIX-Modell und POSIX-ACL). In diesem Fall wird der MAC zuletzt überprüft. Zuerst wird der Zugriff von DAC (als am wenigsten sicher) und dann von MAC überprüft.

Bei der Überprüfung der Berechtigung des Subjektzugriffs auf das Objekt gemäß dem obligatorischen Modell sind die folgenden Kombinationen möglich:

  1. Die Berechtigungsnachweisbezeichnung des Betreffs entspricht der Berechtigungsnachweisbezeichnung des Objekts. In diesem Fall darf der Betreff das Objekt lesen und ändern.
  2. Der Berechtigungsnachweis des Betreffs ist höher als der Berechtigungsnachweis des Objekts. Das Subjekt darf das Objekt nur lesen: Er sieht es, kann es aber nicht ändern.
  3. Die Berechtigungsnachweisbezeichnung des Betreffs ist niedriger als die Berechtigungsnachweisbezeichnung des Objekts. Das Subjekt darf formal ein Objekt mit einer höheren Berechtigungsmarke erstellen (die sogenannte "Erhöhung der Geheimhaltungsstufe des Objekts"). In der Praxis hat der Proband nicht die technische Fähigkeit, diese Operation auszuführen (er "sieht" das variable Objekt einfach nicht, zum Beispiel eine Datei oder ein Verzeichnis mit Dateien).

Auch in MAC gibt es so etwas wie eine "Kategorie" (in der STCSEC- Terminologie wird dieser Begriff "nicht hierarchische Kategorien" genannt). Kategorien in MAC sind optional. In der Praxis wird die Implementierung von MAC-Kategorien zur "horizontalen" Zugriffskontrolle zwischen verschiedenen Abteilungen der Organisation verwendet. In diesem Fall erhalten Mitarbeiter trotz einer obligatorischen Ebene nur Zugriff auf die Kategorien von Objekten, auf die sie gemäß ihrer Kennzeichnung Zugriff haben.

Einschränkungen und Sicherheitslücken


MAC hat seine Einschränkungen und Funktionen:

  1. Systembenutzer können den Zugriff von Subjekten auf Objekte nicht unabhängig bestimmen. Im gesamten Arsenal der Objektzugriffskontrolle im MAC gibt es nur eine Berechtigungsnachweisbezeichnung und eine Berechtigungsnachweiskategorie, die diesem Objekt zugeordnet sind. Die Verwaltung des Zugriffs von Subjekten auf Objekte wird nur von Administratoren durchgeführt.
  2. Wenn der Benutzer die Berechtigungsnachweisbezeichnung des Objekts ändern möchte, dessen Autor er ist, muss er zur Zielbezeichnungssitzung wechseln. Dies liegt daran, dass der Benutzer die Bezeichnung nicht beliebig angeben kann, sondern nur "durch Vererbung" an das Objekt übergeben kann. Gleichzeitig kann der Benutzer nur in einer Sitzung mit einem Berechtigungsnachweis arbeiten.
  3. Da der MAC in Verbindung mit anderen Zugriffskontrollmodellen verwendet wird, kommt es zu Kollisionen: Manchmal ist es nicht so einfach herauszufinden, in welcher „Schicht“ des Sicherheitssystems der Zugriff verweigert wird. Eine dünne Abstimmung aller Schutzschichten ist erforderlich.
  4. Zusätzlich zu den Zugriffseinstellungen über das MAC-Toolkit ist eine Sicherheitsrichtlinie erforderlich. Es sollte beschreiben, was die spezifischen Werte der Anmeldeinformationen bedeuten (dies liegt außerhalb des MAC), welche Objekte geschützt sind und welche Subjekte das Zugriffsrecht haben. Ohne eine vereinbarte Regelung bietet MAC allein keine Sicherheitsverbesserung.
  5. Verwenden von MAC in einer verteilten Netzwerkinfrastruktur. Die herkömmliche Vorgehensweise zur Konfiguration des MAC erfolgt lokal manuell mit Hilfe eines Administrators gemäß den Anweisungen. Es gibt Lösungen, mit denen Sie einen zentral verwalteten MAC-Speicher (z. B. ALD) implementieren können, die jedoch ihre eigenen Merkmale und Konstruktionsschwierigkeiten aufweisen.

Entwerfen einer MAC-Anwendung


Trotz aller Einschränkungen des Modells ist für diejenigen, die mit dem öffentlichen Sektor und insbesondere mit Strafverfolgungsbehörden zusammenarbeiten, die Frage der Erstellung von Anträgen mit Unterstützung eines obligatorischen Zugriffssteuerungsmodells relevanter denn je. Müssen Sie morgen plötzlich den MAC in Ihrem Produkt unterstützen?

Auf den ersten Blick scheint das Modell primitiv zu sein und seine Implementierung ist so einfach wie fünf Cent, aber es gibt eine Einschränkung: Der Kunde, der die Voraussetzung für die Verwendung des Berechtigungsnachweismodells festlegt, hat vor allem ein zertifiziertes Informationsschutz-Tool im Sinn. Wirklich geheime Informationen bis hin zu Staatsgeheimnissen werden in einem solchen IP verarbeitet, und es wird sehr schwierig sein, die eigene Entwicklung auf das erforderliche Niveau zu zertifizieren. Der Ausweg aus dieser Situation ist die Verwendung einer zertifizierten Infrastruktur, die MAC unterstützt.

Also, was wir im Set haben:
Systemsoftware
Beschreibung
Betriebssystem Astra Linux Special Edition / SELinux
Betriebssystem mit MAC-Unterstützung. Stellt ein Repository mit Benutzeranmeldeinformationen bereit, die einem Repository mit Benutzern des Betriebssystems zugeordnet sind. Es bietet Mechanismen zum Steuern des Zugriffs auf durch MAC geschützte Objekte (Dateisystemobjekte, Starten von Anwendungen im Berechtigungsnachweis-Modus usw.).
PostgreSQL DBMS (PostgresPro)
Es ist in die Speicherung von Konten und Anmeldeinformationen des Betriebssystems integriert. Das DBMS bietet die Möglichkeit, Objekten wie Cluster, Datenbank, Tabelle, Spalte und Datensatz eine obligatorische Bezeichnung zuzuweisen.
MAC Server (Apache HTTP Server)
Es leitet das Credential-Label von der Client-Anfrage mit MAC-Unterstützung weiter und startet den Application Handler (Script / Service) mit demselben Label und die Benutzerauthentifizierungsdaten werden übertragen.
MAC-Browser (Mozilla Firefox)
Liest den Berechtigungsnachweis der Benutzersitzung (grafische Shell des Benutzers) und fügt ihn Anforderungen für Webanwendungen hinzu.

Schauen wir uns nun an, wie Sie diese Infrastruktur beim Entwickeln einer Anwendung verwenden können, um die Zugriffssteuerungsfunktionen auf Infrastrukturebene beizubehalten.

Damit die Anwendung den obligatorischen Kennzeichnungsmechanismus des Betriebssystems nutzen kann, müssen die folgenden Bedingungen erfüllt sein:

  • Benutzer der Anwendung müssen im Repository der Benutzer des Betriebssystems registriert sein. Es muss mindestens eine Kennung vorhanden sein, mit der Sie den Anwendungsbenutzer eindeutig dem Benutzer des Betriebssystems zuordnen können (normalerweise ist dies die Anmeldung).
  • Anwendungsbenutzer auf der Ebene des MAC-Mechanismus des Betriebssystems müssen mit Anmeldeinformationsberechtigungen für bestimmte Anmeldeinformationen (Anmeldeinformationsbereiche) konfiguriert sein.

Aus Sicht der Desktop-Anwendung sieht das Benutzerszenario wie folgt aus:

  1. Der Benutzer gibt das Betriebssystem unter seinem persönlichen Ultraschall in dem Modus des Etiketts ein, den er benötigt. Startet die Anwendung. Der Anwendungsprozess erbt die Berechtigungsnachweisbezeichnung.
  2. Die Anwendung interagiert mit der Datenbank in PostgreSQL und zeigt beispielsweise nur Datensätze von Datenbanktabellen mit dem aktuellen Berechtigungsnachweis an.

Aus der Sicht der Serveranwendung, die Webdienste bereitstellt, ist das Benutzerszenario konzeptionell eng, obwohl es etwas komplizierter aussieht:

  1. Der Benutzer gibt das Betriebssystem unter seinem persönlichen Ultraschall in dem Modus des Etiketts ein, den er benötigt. Es wird ein Browser mit MAC-Unterstützung gestartet, in unserem Beispiel Mozilla Firefox (ein „normaler“ Browser funktioniert für diese Zwecke nicht). Der Browser-Prozess erbt den Berechtigungsnachweis.
  2. Der Benutzer fordert die Ressourcenadresse der Anwendung mit Berechtigungsnachweisunterstützung an. Der Browser stellt eine Anfrage, indem er eine Berechtigungsmarke hinzufügt.
  3. Die Anforderung wird von einem Webserver verarbeitet, der Anmeldeinformationen unterstützt, in unserem Beispiel Apache Http Server. Der Webserver (dessen Prozess im minimalen Anmeldeinformationsmodus ausgeführt wird) liest die Anmeldeinformationsbezeichnung der Anforderung, findet die Handleranwendung und startet den Prozess mit dem übergebenen Anmeldeinformations-Tag.
  4. Die Anwendung interagiert mit der PostgreSQL-Datenbank und leitet die Beschriftung der Anmeldeinformationen in den Abfragen weiter.

Das Vorhandensein von MAC im Betriebssystem schränkt die Anwendungsarchitektur erheblich ein. Die Tatsache, dass in einem Betriebssystem ohne Berechtigungsnachweis ein Zugriffssteuerungsmodell in einem Betriebssystem mit einem MAC trivial erscheint, kann für das gesamte Entwicklungsteam viele Überraschungen mit sich bringen. Vor allem an den Projektleiter. Daher muss die Architektur einer MAC-fähigen Anwendung erstellt werden, bevor die Entwicklung beginnt. Der Projektmanager mit dem MAC sollte darauf bestehen, dass der Entwurf vom Architektenteam vorgenommen wird, bevor eine Umsetzungsmaßnahme eingeleitet wird.

Natürlich sind für die Entwicklung einfacher Anwendungen (Dienstprogramme oder Anwendungen, aufgrund ihrer MAC-neutralen Spezifität) viele Tipps einfach nicht nützlich. Wenn die Anwendung komplexer ist als eine lokale Einzelbenutzeranwendung, die eine Datei liest und das Ergebnis ihrer Arbeit in eine Datei schreibt, ist es ratsam, die "Fallstricke" klar zu verstehen.

Wir haben Rezepte für das Entwerfen einer Anwendung mit MAC-Unterstützung zusammengestellt, die auf unseren eigenen Erfahrungen basieren. Dahinter stecken schlaflose Nächte, ein ununterbrochener Strom von Tickets aus dem Test, tausende von Stunden Debugging einer Anwendung, die nach allgemeinem Verständnis korrekt funktionieren sollte, aber aus irgendeinem Grund nicht so funktioniert. Rezepte werden möglichst einfach und neutral in Bezug auf Technologie und Tools beschrieben und wenn möglich mit Schemata zur Verbesserung der Wahrnehmung ausgestattet. Lass uns gehen!

So vermeiden Sie MAC, wenn dies nicht mehr zu vermeiden ist


Bild

Wenn Sie eine Anwendung mit MAC entwerfen, können Sie eine sehr einfache Architekturlösung verwenden, die am Ende viel Nerven und Zeit spart. Der Anwendungskonfiguration sollte ein Parameter hinzugefügt werden, der der Anwendung mitteilt, ob das Berechtigungsnachweis-Zugriffssteuerungsmodell für diese Installation aktiviert ist oder nicht. An allen Stellen der Anwendung, an denen eine Interaktion mit der MAC-Infrastruktur stattfindet oder die Geschäftsfunktion der Anwendung eine Etikettenüberprüfung erfordert, sollten Sie zuerst den Wert dieses Parameters überprüfen. Wenn der MAC entsprechend deaktiviert ist, ignoriert die Anwendung alle Geschäftslogikregeln, mit denen MAC-kompatible Funktionen getestet werden sollen.

In Bezug auf die Arbeitskosten müssen Sie zusätzliche Zeit aufwenden, um jede Funktion der Anwendung mit MAC-Unterstützung zu implementieren. Sie müssen die gleiche Funktionalität im Modus ohne Berechtigungsnachweis-Label debuggen und testen, damit sich die Testkosten erhöhen.

Aufgrund dieser Lösung ist es möglich, der Anwendung (und dem gesamten Entwicklungsteam), die gezwungen sind, in der MAC-Umgebung zu funktionieren, die folgenden Vorteile zu bieten:

  • Plattformübergreifende Anwendung (nur durch die Fähigkeiten der Programmiersprachen begrenzt) und deren Unabhängigkeit von der Laufzeit.
  • Die Möglichkeit, moderne Virtualisierungstools (z. B. Docker) für die Automatisierung zu verwenden.
  • Einfache Test- und Debugging-Funktionen, die nicht direkt mit dem MAC zusammenhängen.

Empfehlungen :

Fügen Sie die Option zum Aktivieren / Deaktivieren der Unterstützung für Anmeldeinformationen in der Anwendung hinzu.

Überprüfen Sie an allen Stellen, an denen eine Interaktion mit dem MAC erforderlich ist, zunächst den Parameterwert.

Beim Debuggen und Testen ist es erforderlich, beide Modi der Anwendung (auf der Seite des Entwicklungsteams) zu debuggen und (auf der Seite des Testteams) zu testen.


Teilen und erobern


Ein weiterer wichtiger Entwurfsschritt, der vor Beginn der Entwicklung abgeschlossen sein muss, ist die Trennung von Modulen, in denen MAC-Unterstützung erforderlich ist, von Modulen, in denen dieser Zugriffskontrollmechanismus nicht erforderlich ist. Die Verwendung eines Zugangssteuerungsmodells für Anmeldeinformationen verkompliziert fast immer die Geschäftslogik einer Anwendung.

Dies ist dieselbe Infrastruktur, von der abstrahiert wird, was sehr schwierig und manchmal unmöglich ist. Daher sollte die Anwendung in Module unterteilt werden, und für jedes Modul sollte der Bedarf an MAC-Unterstützung analysiert werden. Vielleicht ist es in Ihrem Fall ausreichend, den MAC in nur einem Modul zu unterstützen, und es macht keinen Sinn, die gesamte Anwendung durch dieses Modul zu komplizieren?

Empfehlung: Die Anwendung sollte in Module unterteilt und nach den Verarbeitungsmodi der Anmeldeinformationen klassifiziert werden.

Wenn wir ein bestimmtes abstraktes Modul betrachten (oder die gesamte Anwendung, wenn die Aufteilung der Anwendung in Module nicht erforderlich ist), sind die folgenden Paradigmen möglich:

  • Das Mindestetikett. Das Modul verarbeitet Daten im Modus für das obligatorische Mindestetikett (das Mindestetikett, in dem Betriebssystemprozesse ausgeführt werden - z. B. 0 obligatorisches Etikett) oder ohne obligatorisches Etikett.
  • Ein Etikett. Das Modul verwendet nur die Daten eines obligatorischen Etiketts, das über dem minimalen obligatorischen Etikett liegt (jedes Etikett, das nicht das ist, in dem die Betriebssystemprozesse ausgeführt werden).
  • Mehrere Tags. Das Modul verarbeitet die Daten mehrerer obligatorischer Labels gleichzeitig (sowohl das Label, in dem die OS-Prozesse ausgeführt werden, als auch andere Labels als das OS-Prozess-Label).

Anwendungsmodule mit unterschiedlichen Paradigmen für die Verarbeitung von Anmeldeinformationen sollten nicht zu viel voneinander wissen. Andernfalls treten große und unvorhersehbare Probleme in Bezug auf Zugriffskonflikte auf verschiedene Objekte usw. auf. Die Idee einer minimalen Konnektivität für Module liegt auf der Hand. Bei der Arbeit mit MAC sollten Sie besonders wachsam sein und alle „Verbindungen“ der Module überwachen.

Empfehlung: Beim Entwerfen sollten Sie sicherstellen, dass die Module, die in verschiedenen Paradigmen für die Verarbeitung von Anmeldeinformationen arbeiten, nur einen minimalen Zusammenhalt aufweisen .

Als Nächstes werden die Entwurfsmerkmale mit drei Paradigmen für die Verarbeitung von Berechtigungsnachweisen detaillierter betrachtet. Dazu haben wir die Einteilung von einfach bis komplex skizziert. Diese Klassifizierung ist rein praktisch und wird angewendet. Es geht von intuitiv greifbaren Unterschieden in der Entwicklung verschiedener Module aus und hat sich in der Praxis bewährt.

Klassifizierung der Module nach MAC-Verarbeitungsmodi


Bild

„BRING IT ON“: Modulbetrieb im Modus mit minimalem Berechtigungsnachweis


Bild

Motivation für die Implementierung dieses Mechanismus im Modul:

  • Das Modul verarbeitet Informationen, die im Prinzip nicht mit anderen Anmeldeinformationen im System verarbeitet werden können, und erfordert keine besonderen Lese- / Schreibrechte.
  • Das Modul ist eng mit der Betriebssysteminfrastruktur verbunden, was seine Funktion im obligatorischen Label-Modus einschränkt, der sich vom Minimum unterscheidet.

Das Modul, das in diesem Modus arbeitet, sollte die Prozessberechtigung prüfen. Wenn sich die Bezeichnung des Prozesses, in dem dieses Modul ausgeführt wird, von der Mindestbezeichnung unterscheidet (sie entspricht beispielsweise nicht der obligatorischen Bezeichnung 0), sollten alle Vorgänge (außer dem Anzeigen) auf der Geschäftslogikebene der Anwendung verboten werden. Das heißt, wir erlauben dem Benutzer möglicherweise nicht, dieses Modul zu verwenden, wenn er in einer Sitzung mit einem anderen Berechtigungsnachweis als Null zu uns gekommen ist.

Beispiele für praktische Fälle, für die die Verwendung des obligatorischen Mindestetikettenmodus geeignet ist:

  • Verwalten Sie Benutzerkonten im Anwendungsspeicher. Zum Beispiel, wenn die Anwendung eine eigene Ultraschallaufzeichnung in einer Datei oder Datenbank führt. Alle Daten, die sich auf die Sicherheit und Zugriffskontrolle der Anwendung beziehen, müssen im minimalen Anmeldeinformationsmodus gespeichert werden. Andernfalls "bröckelt" das Anwendungssicherheitsmodell, wenn die Anwendung im Anmeldeinformationsmarkierungsmodus ausgeführt wird. Aus diesem Grund werden alle Systemanwendungen ausschließlich unter der Mindestberechtigung ausgeführt.
  • Zugriffsrechteverwaltung. Zum Beispiel, wenn die Anwendung ein eigenes Modell der Zugriffssteuerung auf der Ebene der Geschäftslogik implementiert.
  • Verwalten Sie Anwendungskonfigurationseinstellungen , die unter allen Anmeldeinformationen verfügbar sein sollen.
  • Kontoverwaltung im Betriebssystem. Wenn die Anwendung Attribute des KM im Betriebssystem verwalten muss, müssen alle Vorgänge streng unter der Mindestmarke für Anmeldeinformationen ausgeführt werden.

„HURT ME PLENTY“: Modulbetrieb im Single-Credential-Modus


Bild

Dieser Fall ist etwas komplizierter, ähnelt jedoch in vielerlei Hinsicht dem Fall mit einer Mindestanmeldeinformationsmarke. Aus Sicht des Benutzers ändert sich an der Arbeit mit der Anwendung nicht viel: Trotzdem vertraute Listen von Datensätzen, Karten und Operationen „Anzeigen“, „Bearbeiten“ und „Speichern“. Der einzige Unterschied besteht darin, dass der Benutzer in diesem Modus nur die Datensätze sieht, die der Berechtigungsmarke seiner aktuellen Sitzung entsprechen.

Es kann auch eine eingeschränkte Option entwickelt werden: Das Modul erfasst den Wert des Parameters "Standardkennzeichnung". In diesem Fall ist der Betrieb des Moduls nur mit dem angegebenen Berechtigungsnachweis möglich, diese Option ist jedoch einfacher zu implementieren.

Dieser Fall kann in folgenden Fällen hilfreich sein:

  • Bei der Entwicklung des Moduls ist ein Fehler in der Architektur aufgetreten (die Funktionen zur Verarbeitung von Datensätzen im MAC wurden nicht festgelegt), und es gibt weder Zeit noch Ressourcen, um alles neu zu schreiben.
  • Die Unterstützung des Berechtigungsnachweis-Zugriffssteuerungsmodells wird in eine bereits funktionierende Anwendung eingeführt. Entsprechend den Anforderungen muss sichergestellt werden, dass im Betriebssystem mit einem Label gearbeitet wird, das über dem Minimum liegt. Ja, dies ist der Fall, wenn der Chef zu Ihnen kommt und Sie mit Freude darüber informiert, dass wir den Wettbewerb gewonnen haben und unsere Entscheidung im Namen der Geheimabteilung umsetzen werden!
  • . .
  • .

C , :

  • , , – , .
  • - . , , .

: , , , , . .

. , .

, :

  • . , ( , ..). , . .
  • . , , ( ) . «» , « », «» .

«NIGHTMARE!»:


Bild

, , .

, ( « »). - . .

:

  • (, ) ( ). , .
  • / / , .
  • / ( ).

- - . , . .

, . - -. , . , , ..

:

  • ( ).
  • ( ) ( ).
  • / .

, :

  1. . , .
  2. . , .


MAC . :

Bild

  • :
    • :
      • ;
      • ( , ) .
    • ;
    • ( );
    • ( POSIX ACL, UNIX ..);
    • ;
    • ;
    • ;
  • MAC;
  • MAC:
    • (, PostgreSQL):
      • (, , , , , , , , ..).
  • .

.

MAC-


Bild

MAC «» . , MAC , , ( ).

MAC?

, , . . . , , .

:

Bild

MAC- MAC


, MAC, MAC.

. «» , . , , . «» MAC , .

MAC , MAC, , , .

MAC- MAC


MAC , , . , , / .

— PostgresSQL. MAC MAC, :

  • Astra Linux: PostgreSQL, SE.
  • SELinux: sepgsql.

PostgreSQL ( , ) :

  • .
  • .
  • .
  • .
  • .
  • .

MAC «»: «» «» . MAC . .

MAC-


Bild

, . MAC, ?

MAC MAC , .

- :



, . , .

.
( )
- . Nuancen:

  • , .
  • .
  • , (, ), (, ). , , , - (, backend , frontend).
  • , .

, ( / ..)
. , (), . , - ( ), — .

:

  1. , . , , , .
  2. , «» .

(, )
, , . , (, backend ), ( ). .

Schlussfolgerungen


MAC. , , . , .

MAC — «» . , . «» MAC- :

  • ( , , );
  • MAC (, );
  • MAC- .

Bild
! , !

Source: https://habr.com/ru/post/de482060/


All Articles