Linux Capabilities
Linux Capabilities 是什么?
Linux Capabilities由 POSIX.1e 草案定义的 Linux 内核机制,将无所不能的 root 权限拆分为 40 多种独立的能力,可分别授予进程和文件。
Linux capabilities 自内核 2.2 引入,用以打破普通用户与无所不能的 root 之间的二元划分。内核暴露约 40 项独立权限,如 CAP_NET_BIND_SERVICE、CAP_SYS_ADMIN、CAP_NET_ADMIN、CAP_DAC_OVERRIDE、CAP_SYS_PTRACE 等,可以授予进程,或作为 file capabilities 标记在可执行文件上。它们遵循 POSIX.1e 草案。libcap 提供的用户态工具包括 capsh(查看和操作 shell 的能力集合)、getcap 与 setcap(读取或赋予文件能力)以及 getpcaps。Docker、containerd 等容器运行时默认仅授予一个子集(去除 CAP_SYS_ADMIN,保留 CAP_NET_BIND_SERVICE),Kubernetes 的 Pod Security Standards 进一步加以限制。Capabilities 是 Linux 服务器及 CNCF 风格工作负载实现最小权限的基础。
● 示例
- 01
仅向非 root 进程授予 CAP_NET_BIND_SERVICE,使其无需 root 也能监听 TCP 80 端口。
- 02
在容器内执行 "capsh --print" 确认 CAP_SYS_ADMIN 已被剥离。
● 常见问题
Linux Capabilities 是什么?
由 POSIX.1e 草案定义的 Linux 内核机制,将无所不能的 root 权限拆分为 40 多种独立的能力,可分别授予进程和文件。 它属于网络安全的 身份与访问 分类。
Linux Capabilities 是什么意思?
由 POSIX.1e 草案定义的 Linux 内核机制,将无所不能的 root 权限拆分为 40 多种独立的能力,可分别授予进程和文件。
Linux Capabilities 是如何工作的?
Linux capabilities 自内核 2.2 引入,用以打破普通用户与无所不能的 root 之间的二元划分。内核暴露约 40 项独立权限,如 CAP_NET_BIND_SERVICE、CAP_SYS_ADMIN、CAP_NET_ADMIN、CAP_DAC_OVERRIDE、CAP_SYS_PTRACE 等,可以授予进程,或作为 file capabilities 标记在可执行文件上。它们遵循 POSIX.1e 草案。libcap 提供的用户态工具包括 capsh(查看和操作 shell 的能力集合)、getcap 与 setcap(读取或赋予文件能力)以及 getpcaps。Docker、containerd 等容器运行时默认仅授予一个子集(去除 CAP_SYS_ADMIN,保留 CAP_NET_BIND_SERVICE),Kubernetes 的 Pod Security Standards 进一步加以限制。Capabilities 是 Linux 服务器及 CNCF 风格工作负载实现最小权限的基础。
如何防御 Linux Capabilities?
针对 Linux Capabilities 的防御通常结合技术控制与运营实践,详见上方完整定义。
Linux Capabilities 还有哪些其他名称?
常见的别称包括: POSIX capabilities, Linux caps。
● 相关术语
- identity-access№ 120
BPF LSM
Linux 安全模块,允许经过验证的 eBPF 程序挂载到 LSM 钩子,对系统调用、文件、套接字与 capability 实施自定义的强制访问控制。
- identity-access№ 585
内核态与用户态
现代操作系统强制实施的两种 CPU 特权级别:内核态(管理员级、Ring 0)拥有完整硬件访问权限,用户态(Ring 3)被限制在自己的地址空间并只能执行有限指令。
- cloud-security№ 600
Kubernetes 安全
对 Kubernetes 集群(API Server、控制平面、节点、工作负载与网络)的保护,防止配置错误、被攻陷以及横向移动。
- vulnerabilities№ 860
权限提升
一类漏洞,使攻击者获得超出原本授予的权限,例如从普通用户变为管理员。
- cryptography№ 1006
SELinux
由美国国家安全局开发的安全增强型 Linux,通过 LSM 钩子与类型强制策略实现强制访问控制(MAC)框架。
● 参见
- № 367eBPF 安全