35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
#!/usr/bin/python
|
||
#coding: utf-8
|
||
|
||
import os, re, public
|
||
|
||
_title = 'Whether to enable Docker log audit check'
|
||
_version = 1.0 # 版本
|
||
_ps = "Whether to enable Docker log audit check" # 描述
|
||
_level = 0 # 风险级别: 1.提示(低) 2.警告(中) 3.危险(高)
|
||
_date = '2023-03-13' # 最后更新时间
|
||
_ignore = os.path.exists("data/warning/ignore/sw_audit_docker.pl")
|
||
_tips = [
|
||
"Add -w /usr/bin/docker -k docker from [/etc/audit/rules.d/audit.rules] file",
|
||
"Restart auditd process: systemctl restart auditd"
|
||
]
|
||
_help = ''
|
||
|
||
|
||
def check_run():
|
||
'''
|
||
@name 开始检测
|
||
@return tuple (status<bool>,msg<string>)
|
||
'''
|
||
audit_path = '/etc/audit/audit.rules'
|
||
if not os.path.exists(audit_path):
|
||
return False, 'Risky, the auditd audit tool is not installed'
|
||
# auditctl -l命令列出当前auditd规则,匹配是否有对docker做审计记录
|
||
result = public.ExecShell('auditctl -l')[0].strip()
|
||
rep = '/usr/bin/docker'
|
||
if re.search(rep, result):
|
||
return True, 'Risk-free'
|
||
else:
|
||
return False, 'Risky, the docker audit log is not enabled'
|
||
|