一、概述
系统等保要求,必须做系统审计服务,审计的目的是基于事先配置的规则生成日志,记录可能发生在系统上的事件,这里直接使用第三方插件 Audit,不用系统自带的审计服务日志。
(如需要使用系统操作命令审计,可参考文章:https://www.cnblogs.com/tchua/p/7813284.html)
Audit 说明文档: https://people.redhat.com/sgrubb/audit/
二、安装 Audit
1.检查是否安装了 audit 插件。
rpm -ql auditd
2.使用以下命令安装 audit 插件。
sudo apt-get install auditd
3.检查 audit 服务是否启动。
service --status-all
4.重启 audit 服务。
systemctl restart auditd
或
service auditd restart
5.通过以下命令,可以查询状态、查看规则、删除规则。
auditctl -s # 查询状态
auditctl -l # 查看规则
auditctl -D # 删除所有规则
6.查看审计日志。
ausearch -i -k key_name # key_name为标识符
三、审计规则语法
临时测试语法格式:auditctl -w PATH -p PERMISSION -k KEY_NAME,直接执行命令。
永久生效语法格式: -w PATH -p PERMISSION -k KEY_NAME,需要配置到/etc/audit/audit.rules 或者 /etc/audit/rules.d/audit.rules 文件中。
- PATH:审计指定路径。
- PERMISSION:审计权限范围,r为读,w为写,x为执行,a代表文件或目录的属性发生变化。
- KEY_NAME:标识符。
四、配置临时审计规则
临时添加审计规则并测试,临时添加的审计规则,重启服务后会自动消失,这里用于测试。
1.添加临时测试审计命令:
auditctl -w /root -p rwxa -k root_test_change
# 审计目录为:root,审计权限为:rwxa,标识符为:root_test_change
2.模拟产生审计日志命令:
ll /root;
touch /root/test;
3.查看审计日志命令:
ausearch -i -k root_test_change
五、配置永久审计规则
编辑以下任意1个文件,实现审计规则,/etc/audit/audit.rules 或者 /etc/audit/rules.d/audit.rules。
这里对5个目录操作实现审计行为:
- -w /etc/passwd -p rwxa -k passwd_change,系统用户账户信息。
- -w /etc/shadow -p rwxa -k shadow_change,系统用户密码信息。
- -w /etc/group -p rwxa -k group_change,系统用户组信息。
- -w /var/log/ -p rwxa -k log_change,系统日志信息。
- -w /usr/local/mysql -p rwxa -k mysql_change,MySQL数据库信息。
通过命令,service auditd restart 重启服务后,auditctl -s 和 auditctl -l 查看服务状态和审计规则。
查询 /etc/auditd.conf 主配置文件如下:
- log_file = /var/log/audit/audit.log,默认的日志存储目录文件。
六、参考文章
- https://www.cnblogs.com/linuxxl/p/11391480.html
- https://blog.csdn.net/ck784101777/article/details/102532472?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare
来源:oschina
链接:https://my.oschina.net/discussjava/blog/4339255