Modulname: mac_partition.ko
Parameter für die Kernelkonfiguration: options MAC_PARTITION
Bootparameter mac_partition_load="YES"
Die Richtlinie mac_partition(4) setzt Prozesse in spezielle “Partitionen”, entsprechend dem zugewiesenen MAC Label. Man kann sich das vorstellen wie eine spezielle Art jail(8), auch wenn das noch kein wirklich guter Vergleich ist.
Es wird empfohlen, dieses Modul durch einen Eintrag in loader.conf(5) zu aktivieren, so dass die Richtlinie während des Bootvorganges eingebunden wird.
Der Großteil der Konfiguration geschieht mit dem Kommando setpmac(8), wie gleich erklärt wird. Außerdem gibt es folgenden sysctl Parameter für diese Richtlinie.
security.mac.partition.enabled erzwingt die Verwendung von MAC Prozeß-Partitionen.
Sobald diese Richtlinie aktiv ist, sehen Nutzer nur noch ihre eigenen Prozesse, und alle anderen Prozesse, die ebenfalls derselben Prozeß-Partition zugeordnet sind. Sie können jedoch nicht auf Prozesse oder Werkzeuge außerhalb des Anwendungsbereich dieser Partition zugreifen. Das bedeutet unter anderem, das ein Nutzer, der einer Klasse insecure zugeordnet ist, nicht auf das Kommando top zugreifen kann - wie auch auf viele anderen Befehle, die einen eigenen Prozeß erzeugen.
Um einen Befehl einer Prozeß-Partition zuzuordnen, muß dieser durch das Kommando setpmac mit einem Label versehen werden:
# setpmac partition/13 top
Diese Zeile fügt das Kommando top dem Labelsatz für Nutzer der Klasse insecure hinzu, sofern die Partition 13 mit der Klasse insecure übereinstimmt. Beachten Sie, dass alle Prozesse, die von Nutzern dieser Klasse erzeugt werden, das Label partition/13 erhalten, und dieses auch nicht durch den Nutzer geändert werden kann.
Der folgende Befehl listet die vergebenen Label für Prozeß-Partitionen und die laufenden Prozesse auf.
# ps Zax
Das nächste Kommando liefert das Label der Prozeß-Partition eines anderen Nutzers trhodes und dessen gegenwärtig laufenden Prozesse zurück.
# ps -ZU trhodes
Anmerkung: Jeder Nutzer kann die Prozesse in der Prozeß-Partition von root betrachten, solange nicht die Richtlinie mac_seeotheruids(4) geladen wurde.
Eine ausgefeilte Umsetzung dieser Richtlinie deaktiviert alle Dienste in /etc/rc.conf und startet diese dann später durch ein Skript, das jedem Dienst das passende Label zuordnet.
Anmerkung: Die folgenden Richtlinien verwenden Zahlenwerte anstatt der drei Standardlabels. Diese Optionen, und ihre Grenzen, werden in den zugehörigen Manpages genauer erklärt.
Zurück | Zum Anfang | Weiter |
Das MAC Modul portacl | Nach oben | Das MAC Modul Multi-Level Security |
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<[email protected]>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <[email protected]>.