SELinux
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Einführung und Beispiel aus den Red Hat-Dokumenten
SELinux ist ein Kennzeichnungssystem. Jedes Prozess und jedes Dateisystemobjekt hat ein Label. SELinux-Richtlinien definieren Regeln darüber, was ein Prozesslabel mit allen anderen Labels im System tun darf.
Container-Engines starten Containerprozesse mit einem einzigen eingeschränkten SELinux-Label, normalerweise container_t
, und setzen dann den Container innerhalb des Containers auf das Label container_file_t
. Die SELinux-Richtlinien besagen im Wesentlichen, dass die container_t
Prozesse nur Dateien lesen/schreiben/ausführen können, die mit container_file_t
gekennzeichnet sind. Wenn ein Containerprozess den Container verlässt und versucht, auf Inhalte auf dem Host zu schreiben, verweigert der Linux-Kernel den Zugriff und erlaubt dem Containerprozess nur, auf Inhalte zu schreiben, die mit container_file_t
gekennzeichnet sind.
Es gibt SELinux-Benutzer zusätzlich zu den regulären Linux-Benutzern. SELinux-Benutzer sind Teil einer SELinux-Richtlinie. Jeder Linux-Benutzer wird im Rahmen der Richtlinie einem SELinux-Benutzer zugeordnet. Dies ermöglicht es Linux-Benutzern, die Einschränkungen und Sicherheitsregeln sowie -mechanismen zu erben, die auf SELinux-Benutzer angewendet werden.