麒麟OS需启用内核审计功能并配置auditd服务:先修改GRUB参数添加audit=1,更新grub.cfg;再安装启动auditd服务;最后加载持久化规则监控/etc/sudoers,确保日志正常记录。

麒麟OS系统默认不开启安全审计功能,导致sudo操作、敏感文件访问、特权命令执行等关键行为无法被记录和追溯,直接违反等保2.0对日志审计的强制性要求。
确认内核审计功能是否启用
auditd服务依赖内核级审计子系统,若内核未开启audit支持,后续所有配置均无效。先检查当前内核参数:
执行 cat /proc/cmdline | grep audit=,若输出中含 audit=0 或无 audit= 字样,则必须修改GRUB启动参数。
编辑GRUB主配置:sudo nano /etc/default/grub,找到 GRUB_CMDLINE_LINUX 行,在引号内末尾添加 audit=1(注意用空格分隔),例如:GRUB_CMDLINE_LINUX="rhgb quiet audit=1"。
【必须执行】修改后务必运行 sudo grub2-mkconfig -o /boot/grub2/grub.cfg 重新生成启动配置,否则重启后参数不生效。
若系统使用EFI启动路径为 /boot/efi/EFI/kylin/grub.cfg,请将上述命令中的输出路径替换为该路径。
安装并启用auditd服务
执行 sudo apt list --installed | grep auditd 检查是否已安装。若无输出,运行:sudo apt install auditd -y。
启动服务并设为开机自启:sudo systemctl enable --now auditd。
验证状态:sudo systemctl status auditd,看到 active (running) 且 Loaded 行显示 enabled 即成功。
若提示 Condition check resulted in security Auditing Service being skipped,说明内核参数未生效,需返回上一阶段检查 grub.cfg 是否真实写入 audit=1。
加载基础审计规则防止日志为空
auditd启动后默认无监控规则,此时虽服务运行但无任何日志产生,形同虚设。
立即加载一条防绕过核心规则:sudo auditctl -w /etc/sudoers -p wa -k sudoers_access。
该规则监控sudoers文件的写入(w)与属性变更(a),是阻断提权绕过的首道防线;不加此规则,攻击者可直接篡改sudoers并清空审计痕迹。
将规则持久化:echo "-w /etc/sudoers -p wa -k sudoers_access" | sudo tee -a /etc/audit/rules.d/custom.rules。
验证审计日志是否正常写入
方法一:实时查看日志流
执行 sudo tail -f /var/log/audit/audit.log,新开终端执行 sudo ls,观察是否有包含 sudoers_access 的事件条目刷出。
方法二:提取最近事件
运行 sudo ausearch -k sudoers_access -ts recent,若有结果返回,说明规则已生效且日志正在记录。
方法三:检查日志文件权限
确认 /var/log/audit/audit.log 存在且属主为 root:root,权限为 600;若权限错误,auditd 将拒绝写入。

















