0

0

DockerDaemon安全审计日志记录与合规性检查

舞夢輝影

舞夢輝影

发布时间:2026-03-17 08:13:03

|

851人浏览过

|

来源于php中文网

原创

Docker Daemon 审计日志需依赖宿主机 auditd 服务,通过 auditctl 监控 /usr/bin/dockerd 和 /var/run/docker.sock,并确保 dockerd 以固定用户(如 root)运行;关键日志字段包括时间戳、exe、addr、comm、syscall、success 和 res;仅靠 dockerd debug 或 json-file 日志无法满足等保等合规要求,因其缺失调用者身份、源地址及系统级行为记录。

dockerdaemon安全审计日志记录与合规性检查

如何开启 Docker Daemon 的审计日志(audit log)

Docker Daemon 本身不直接生成细粒度操作审计日志,必须依赖宿主机的 auditd 服务配合规则才能捕获 dockerd 进程行为。单纯改 daemon.jsonlog-driver 没用——那只是容器日志,不是 daemon 审计日志。

实操上要分三步走:

  • 确认宿主机已安装并运行 auditdsystemctl is-active auditd
  • 添加审计规则,监控 dockerd 可执行文件和关键系统调用:auditctl -w /usr/bin/dockerd -p x -k docker_exec,再加一条监控 socket 文件:auditctl -w /var/run/docker.sock -p wa -k docker_socket
  • 确保 dockerd 启动时以固定用户运行(如 root),否则 audit 规则可能因权限隔离失效

auditd 日志里哪些字段对合规检查最关键

默认 ausearch -i -k docker_socket 输出冗长,但真正支撑等保、GDPR 或 PCI-DSS 审计的只有几个字段:时间戳、调用进程名(exe)、源 IP(addr)、目标 socket 路径、系统调用名(syscall)、返回值(successres)。

容易被忽略的是 comm 字段——它显示发起调用的命令名(比如 curldockerpython),而不是 exe(总是 /usr/bin/docker)。没这个字段,就无法区分是运维手动执行还是脚本自动调用。

常见错误现象:日志里大量 comm=docker 但无 addr,说明调用来自本地 Unix socket,此时需额外抓取 dockerd 自身日志(journalctl -u docker --since "2 hours ago")补全上下文。

为什么不能只靠 dockerd 的 debug 模式或 json-file 日志做合规审计

dockerd 开启 debug: true 或把 log-driver 设为 json-file,只能记录 API 请求路径、参数和响应状态码,不记录调用者身份、源地址、系统级行为(如 fork、mmap、openat),也不留存失败请求的原始 payload。

NameGPT名称生成器
NameGPT名称生成器

免费AI公司名称生成器,AI在线生成企业名称,注册公司名称起名大全。

下载

合规检查(如等保2.0 8.1.4 条款)明确要求“记录用户标识、操作时间、操作类型、操作结果”,而 dockerd 默认日志里的 user= 字段常为空,remote_addr 在 Unix socket 场景下永远是 -

性能影响也要考虑:debug 模式会让 daemon 日志暴增 5–10 倍,且日志落盘延迟高;auditd 则在内核层捕获,开销低、不可绕过、不可删除(只要配置了 write-only 日志归档)。

如何验证 audit 规则是否生效且未被绕过

最直接的验证方式是模拟一次非法操作并查日志,比如用非 root 用户尝试直连 /var/run/docker.socksudo -u nobody curl --unix-socket /var/run/docker.sock http://localhost/version。然后立刻执行:ausearch -m avc,syscalls -ts recent -i | grep docker

若没输出,说明规则失效,常见原因有:

  • auditd 规则未持久化(重启后丢失),需写入 /etc/audit/rules.d/docker.rules 并执行 augenrules --load
  • SELinux 处于 enforcing 模式但未启用 audit 功能:setsebool -P auditadm_enabled 1
  • dockerd 被 systemd 用 PrivateTmp=yesProtectSystem=strict 启动,导致 audit 规则无法关联到其子进程

真正的难点不在开启,而在持续验证规则覆盖是否完整——比如容器内进程通过 hostNetwork 直连宿主机 docker.sock,这种调用不会触发你设在 /var/run/docker.sock 上的规则,得额外监控 AF_INET 类型的 connect 系统调用。

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

458

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

549

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

337

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

83

2025.09.10

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

455

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

183

2023.10.30

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

280

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

517

2024.04.08

chatgpt使用指南
chatgpt使用指南

本专题整合了chatgpt使用教程、新手使用说明等等相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.03.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号