flavio/podlock
GitHub: flavio/podlock
基于 Landlock LSM 的 Kubernetes Pod 安全工具,通过声明式配置限制容器内进程的文件访问和执行权限。
Stars: 10 | Forks: 0
# PodLock
PodLock 使用 [Landlock](https://landlock.io/) Linux Kernel LSM 来限制 Kubernetes Pod 中的进程执行和文件访问。
Kubernetes 用户可以定义 PodLock 配置文件(profile),用于指定在容器内运行的进程的限制。
每个配置文件描述了应用于容器内单个二进制文件的限制。
容器内单个二进制文件的文件系统访问(读取、写入和执行权限)
可以通过 PodLock 进行控制。
例如,给定以下配置文件:
```
apiVersion: podlock.kubewarden.io/v1alpha1
kind: LandlockProfile
metadata:
name: nginx
namespace: default
spec:
profilesByContainer:
nginx:
"/usr/sbin/nginx":
readExec:
- /lib
- /lib64
readOnly:
- /usr/share/nginx
readWrite:
- /tmp
```
此配置文件将限制由 `/usr/bin/nginx` 启动的进程,它们将
获得对系统库(`/lib` 和 `/lib64`)的读取和执行权限。
对 `/usr/share/nginx` 的访问将是只读的,而 `/tmp` 也将是可写的。
Landlock 采用“拒绝所有(deny all)”的方法。因此,nginx 进程将
无法读取文件系统的其他部分。除非位于 lib 目录下(对此它没有写权限),否则它将无法从
系统启动其他二进制文件。
## 文档
完整的项目文档可在 [https://flavio.github.io/podlock](https://flavio.github.io/podlock) 获取。
## 当前限制
- 更新配置文件不会自动触发关联 Pod 的滚动更新,可能需要手动干预。
- 目前没有可用的机制来观察或记录由 PodLock 强制执行的违规行为。
- 用于辅助配置文件创建和验证的学习模式尚未实现。
标签:EVTX分析, HTTP工具, JSONLines, Kubewarden, Landlock, Linux内核安全, LSM, nginx, Pod安全, Web截图, 子域名突变, 安全策略, 容器安全, 提示词设计, 文件访问控制, 日志审计, 最小权限原则, 权限管理, 模型越狱, 沙箱, 系统加固, 网络安全审计, 进程限制, 防护, 零信任