hacktricks/linux-hardening/privilege-escalation/selinux.md
2023-08-03 19:12:22 +00:00

4.3 KiB
Raw Blame History

☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

容器中的SELinux

SELinux是一个标签化系统。每个进程和每个文件系统对象都有一个标签。SELinux策略定义了关于系统上的进程标签可以对其他所有标签做什么操作的规则。

容器引擎使用一个受限的SELinux标签通常为container_t)启动容器进程,然后将容器内部的容器标记为container_file_t。SELinux策略规则基本上是说**container_t进程只能读取/写入/执行标记为container_file_t的文件**。如果容器进程逃逸出容器并尝试在主机上写入内容Linux内核将拒绝访问并只允许容器进程写入标记为container_file_t的内容。

$ podman run -d fedora sleep 100
d4194babf6b877c7100e79de92cd6717166f7302113018686cea650ea40bd7cb
$ podman top -l label
LABEL
system_u:system_r:container_t:s0:c647,c780

SELinux 用户

除了常规的 Linux 用户外,还有 SELinux 用户。SELinux 用户是 SELinux 策略的一部分。每个 Linux 用户都会在策略中映射到一个 SELinux 用户。这样Linux 用户就可以继承放置在 SELinux 用户上的限制、安全规则和机制。

☁️ HackTricks 云 ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥