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
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.
Die folgenden Richtlinien verwenden Zahlenwerte anstatt der drei Standardlabels. Diese Optionen, und ihre Grenzen, werden in den zugehörigen Manpages genauer erklärt.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.