Policy-Entwicklung
SELinux Reference Policy wird in C.B., F.M., K.MM. "Reference Policy for Security Enhanced Linux" beschrieben:
- das auf der orginalen NSA Beispiel Policy basierende Wissen wurde refaktorisiert mit Methoden der modernen Softwaretechnik, um die Referencepolicy wartbar, verifizierbar und nutzbar zu machen.
Ziele:
- Selbstschutz: System, SELinix-Policy und jede Applikation muss vor anderen Applikationen geschützt werden
- Absicherung: Verrauen in die Korrektheit: geringste Privilegien, Beschränkung der Fehlerausbreitung
- Erweiterbarkeit
- Verbesserte Rollentrennung; geringste privilegien, feingranulare Rollendefinition z.B. Vermeidung mächtige Administrationsdomains
Ein Modul hat drei Komponenten:
- Private module policy .te
- Deklarationen und Regeln die lokal für dieses Modul sind
- externe Schnittstellen .if
-
abstrakter Zugriff von aussen auf private Typen und Attribute
- Datei-Kennzeichnung (File labeling) .fc
-
Datei kontexte, die mit dem Modul verbunden sind.
Initial können diese mit sepolgen (siehe oben) initialisiert werden.
Bei redhat kann man ein Politikmodul auch mit der graphischen system-config-selinux erzeugen:
- Auswählen → Richtlinienmodul
- Button New
- Es folgt ein Menue, in dem alles abgefragt wird.
- Es werden dann die .te, .if und .fc-Dateien erzeugt.
Links
- SeLinuxWiki über die die Policy-Language
- NB RefPolicy
-
beschreibt den Aufbau der Policy-Modul-Entwicklungsumgebung und der M4-Macros