用途
本技能用于解析和分析 Kubernetes API 服务器审计日志(JSON lines 格式),以检测与安全相关的事件,包括未经授权的访问、权限提升和数据外泄。
主要能力
针对 Kubernetes 审计日志,可识别以下关键事件:
- pods/exec 和 pods/attach(通过 shell 进入容器)
- secrets 访问(get、list、watch)
- clusterrolebindings 创建(RBAC 权限提升)
- 创建特权 Pod
- 匿名或 system:unauthenticated 访问
使用方式
解析 Kubernetes 审计日志文件(JSON lines 格式)。示例代码如下:
import json
with open("/var/log/kubernetes/audit.log") as f:
for line in f:
event = json.loads(line)
verb = event.get("verb")
resource = event.get("objectRef", {}).get("resource")
user = event.get("user", {}).get("username")
if verb == "create" and resource == "pods/exec":
print(f"Pod exec by {user}")
检测 secret 枚举的示例:
# Detect secret enumeration
if verb in ("get", "list") and resource == "secrets":
print(f"Secret access: {user} -> {event['objectRef'].get('name')}")
适用场景
- 在调查需要分析 Kubernetes 审计日志的安全事件时使用
- 在构建该领域的检测规则或威胁狩猎查询时使用
- 当 SOC 分析师需要针对此类分析的结构化流程时使用
- 在验证相关攻击技术的安全监控覆盖时使用
前提条件
- 熟悉容器安全概念与工具
- 具备可安全执行的测试或实验环境
- Python 3.8+,并安装所需依赖
- 对任何测试活动拥有适当授权
限制
关于支持的日志来源范围、可处理的数据规模、是否支持自动告警或可视化输出,以及除上述检测项外的更多检测能力,资料暂未提供。