Control: 1.1.17 Ensure auditing is configured for Docker files and directories - /usr/bin/containerd-shim-runc-v2
Description
Audit the /usr/bin/containerd-shim-runc-v2 if applicable. As well as auditing the normal Linux file system and system calls, you should audit all Docker related files and directories. The Docker daemon runs with root privileges and its behavior depends on some key files and directories. /usr/bin/containerd-shim-runc-v2 is one such file. It holds various parameters related to the Docker daemon and should therefore be audited.
Remediation
You should add a rule for the /usr/bin/containerd-shim-runc-v2 file
For example,
Add the line as below to the /etc/audit/audit.rules file:
-w /usr/bin/containerd-shim-runc-v2 -k docker
Then, restart the audit daemon using the following command
systemctl restart auditd
Default Value
By default, Docker related files and directories are not audited. The file
/usr/bin/containerd-shim-runc-v2 may not exist on the system and in that case, this
recommendation is not applicable.
Usage
Run the control in your terminal:
powerpipe control run docker_compliance.control.cis_v160_1_1_17Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run docker_compliance.control.cis_v160_1_1_17 --shareSQL
This control uses a named query:
with os_output as (  select    btrim(stdout_output, E' \n\r\t') as os,    _ctx ->> 'connection_name' as os_conn  from    exec_command  where    command = 'uname -s'), hostname as (  select    btrim(stdout_output, E' \n\r\t') as host,    _ctx ->> 'connection_name' as host_conn,    _ctx  from    exec_command  where    command = 'hostname'),
linux_output as (  select    stdout_output,    _ctx ->> 'connection_name' as conn  from    exec_command,    os_output  where    os_conn = _ctx ->> 'connection_name'    and command = 'sudo -n auditctl -l | grep /usr/bin/containerd-shim-runc-v2')select  host as resource,  case    when os.os ilike '%Darwin%' then 'skip'    when o.stdout_output = '' then 'alarm'    else 'ok'  end as status,  case    when os.os ilike '%Darwin%' then host || ' /usr/bin/containerd-shim-runc-v2 does not exist on ' || os.os || ' OS.'    when o.stdout_output = '' then host || ' /usr/bin/containerd-shim-runc-v2 auditing is not configured.'    else host || ' /usr/bin/containerd-shim-runc-v2 auditing is configured.'  end as reason  , h._ctx ->> 'connection_name' as connection_namefrom  hostname as h,  os_output as os,  linux_output as owhere  os.os_conn = h.host_conn  and h.host_conn = o.conn;