需配置内核审计模块及auditd服务:一、确认config_audit启用且启动参数含audit=1,修改grub并重启;二、安装auditd并启用服务;三、编写规则至/etc/audit/rules.d/并加载;四、配置rsyslog转发audit.log;五、验证日志生成与可读性。

如果您希望在麒麟OS中启用系统审计功能以记录关键操作行为,则需配置Linux内核审计子系统及auditd服务。以下是启用系统审计的具体步骤:
一、确认内核审计模块已启用
Linux审计功能依赖于内核编译时启用CONFIG_AUDIT选项,且启动参数中不能包含audit=0。若禁用则auditd无法正常工作。
1、执行命令查看当前启动参数:cat /proc/cmdline
2、检查输出中是否包含audit=0;若存在,说明审计已被内核级禁用。
3、编辑GRUB配置文件:sudo nano /etc/default/grub
4、找到GRUB_CMDLINE_LINUX行,在引号内添加audit=1(确保无空格冲突,如原值为"rhgb quiet",修改为"rhgb quiet audit=1")。
5、更新GRUB配置:sudo update-grub(服务器版)或sudo grub2-mkconfig -o /boot/grub2/grub.cfg(部分SPX版本)。
6、重启系统使内核参数生效。
二、安装并启动auditd服务
auditd是用户空间的审计守护进程,负责接收内核审计事件、写入日志文件并管理规则持久化。未安装时需手动部署。
1、检查auditd是否已安装:rpm -q audit(服务器版)或dpkg -l | grep auditd(桌面版)。
2、若未安装,执行:sudo apt update && sudo apt install auditd audispd-plugins(Debian系)或sudo yum install audit(RHEL系兼容版)。
3、启用并启动服务:sudo systemctl enable auditd && sudo systemctl start auditd
4、验证服务状态:sudo systemctl status auditd,确认显示active (running)。
三、配置审计规则并持久化
审计规则定义需监控的系统调用、文件访问或权限变更事件,通过auditctl临时加载,或写入/etc/audit/rules.d/目录下以实现开机自动加载。
1、创建规则文件:sudo nano /etc/audit/rules.d/kylin-audit.rules
2、写入以下典型规则(每行一条):
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/audit/audit.rules -p wa -k audit_rules
-a always,exit -F arch=b64 -S execve -k exec
3、加载全部规则:sudo augenrules --load
4、立即应用当前规则集:sudo auditctl -R /etc/audit/rules.d/kylin-audit.rules
5、验证规则是否生效:sudo auditctl -l
四、配置rsyslog转发审计日志
默认audit日志存于/var/log/audit/audit.log,但为统一日志管理及便于安全分析,建议通过rsyslog将其转发至系统日志流或远程服务器。
1、检查rsyslog是否运行:sudo systemctl is-active rsyslog
2、若未运行,启用并启动:sudo systemctl enable rsyslog && sudo systemctl start rsyslog
3、编辑rsyslog配置:sudo nano /etc/rsyslog.conf
4、取消以下两行注释(若不存在则手动添加):
$ModLoad imfile
$InputFilePollInterval 10
5、在文件末尾添加审计日志输入模块配置:
$InputFileName /var/log/audit/audit.log
$InputFileTag audit-log:
$InputFileStateFile audit-log-state
$InputFileSeverity info
$InputFileFacility local6
$InputRunFileMonitor
6、重启rsyslog:sudo systemctl restart rsyslog
五、验证审计日志生成与可读性
审计功能启用后,需确认日志实际写入且内容可解析,避免规则配置错误或路径权限问题导致静默失败。
1、触发一条可审计事件,例如修改密码:sudo passwd root
2、立即查询最新审计日志:sudo ausearch -m USER_AUTH -ts recent | head -5
3、若返回非空结果,说明审计链路畅通;若无输出,检查sudo auditctl -s中enabled是否为1,以及pid是否非零。
4、查看原始日志文件权限:ls -l /var/log/audit/audit.log,确认属主为root:root且权限为600。
5、手动轮转日志测试:sudo auditctl -r 10(强制日志重载),随后检查/var/log/audit/下是否有新编号日志生成。










