启用对Docker的审计功能

Docker守护进程在主机里是以root权限运行的,所以拥有很大的权限。建议用户在主机上配置对Docker守护进程运行和使用状态的审计机制,一旦Docker守护进程出现越权攻击行为,可以追溯攻击事件根源。

以下路径和文件存放着跟容器相关的重要信息,建议对如下路径和文件配置审计功能。

  • 以上目录为Docker默认的安装目录,如果为Docker创建了单独的分区,请根据实际情况修改。
  • 开启审计功能会产生大量日志文件,要定期对日志文件进行转储,并且建议审计功能单独分区。
  1. 以操作系统为Ubuntu为例,使用以下命令安装开启审计机制需要的auditd软件。

    apt install -y auditd

  2. 进入到/etc/audit/路径,在audit.rules文件中添加规则,每个规则为一行,规则的格式如下,规则中参数解释如表1所示。

    -w file_path -k docker
    表1 参数说明

    参数

    说明

    -w

    筛选文件路径,file_path为开启审计规则的文件路径。

    • file_path为/usr/bin/docker时,表示开启主机对Docker守护进程的审计。
    • file_path为/etc/docker时,表示开启主机对Docker相关目录和关键文件的审计。

    -k

    筛选字符串,用于按照规定的关键字筛选。

    如果/etc/audit/audit.rules文件中有“This file is automatically generated from /etc/audit/rules.d”描述时,此时修改“/etc/audit/audit.rules”文件无效,需要修改“/etc/audit/rules.d/audit.rules”文件才能生效。例如在操作系统为Ubuntu中需要修改“/etc/audit/rules.d/audit.rules”文件。

  3. 配置完成后使用以下命令重启日志守护进程。

    service auditd restart