一、auditd工具简介
audited是Linux审核系统的用户空间组件。它负责将审核记录写入磁盘。查看日志是通过ausearch或aureport实用程序完成的。审核系统或加载规则的配置是使用auditctl实用程序完成的。在启动过程中,/etc/audit/audit.rules中的规则由auditctl读取并加载到内核中。另外,还有一个augenrules程序,它读取/etc/audit/rules.d/中的规则,并将它们编译为audit.rules文件。审核守护进程本身有一些管理员可能希望自定义的配置选项,它们位于audited.conf文件中。
二、auditd配置文件说明
1、配置文件关键字说明
2、默认配置释义
[root@s166 audit]# cat /etc/audit/auditd.conf
#
# This file controls the configuration of the audit daemon
#
#记录本地事件
local_events = yes
#日志落盘存储
write_logs = yes
#审计日志存储路径
log_file = /var/log/audit/audit.log
#日志文件属组
log_group = root
#日志文件格式
log_format = RAW
#异步增量方式刷新到磁盘
flush = INCREMENTAL_ASYNC
#记录数量达到此数值时写入磁盘,与flush结合使用
freq = 50
#单个日志文件大小,单位为M,超过8M进行日志分割
max_log_file = 8
#日志文件保存数量,超过的会被清除
num_logs = 5
#守护进程优先级
priority_boost = 4
#队列满是,丢弃事件记录
disp_qos = lossy
#守护进程启动的程序
dispatcher = /sbin/audispd
#审计事件不插入主机名
name_format = NONE
#管理员可以指定主机名,默认注释,未启用
##name = mydomain
#日志文件超过大小时的动作,ROTATE表示将日志轮转分割
max_log_file_action = ROTATE
#系统磁盘空间剩余大小时执行动作,但是为M
space_left = 75
#系统磁盘空间不足时执行的操作,发送SYSLOG告警
space_left_action = SYSLOG
#是否发送邮件,取值yes或者no
verify_email = yes
#发送邮箱的账户,默认root@localhost,如果配置的是网络邮箱,/usr/lib/sendmail确保正确配置
action_mail_acct = root
#磁盘空间剩余大小,剩余不足50M时停止审计记录写入
admin_space_left = 50
admin_space_left_action = SUSPEND
#磁盘满或者磁盘错误的时候停止写入审计记录
disk_full_action = SUSPEND
disk_error_action = SUSPEND
#如下是审计客户端连接相关参数
use_libwrap = yes
##tcp_listen_port = 60
tcp_listen_queue = 5
tcp_max_per_addr = 1
##tcp_client_ports = 1024-65535
tcp_client_max_idle = 0
enable_krb5 = no
krb5_principal = auditd
##krb5_key_file = /etc/audit/audit.key
distribute_network = no
————————————————
三、auditd相关命令与配置文件
1、auditd相关命令
auditctl : 即时控制审计守护进程的行为的工具,如添加规则等。
**auditd :**audit 守护进程负责把内核产生的信息写入到硬盘上,这些信息由应用程序和系统活动触发产生。用户空间审计系统通过 auditd 后台进程接收内核审计系统传送来的审计信息,将信息写入到 /var/log/audit/audit.log。
aureport : 查看和生成审计报告的工具。
ausearch : 查找审计事件的工具
auditspd : 转发事件通知给其他应用程序,而不是写入到审计日志文件中。
autrace : 一个用于跟踪进程的命令。类似于 strace,跟踪某一个进程,并将跟踪的结果写入日志文件之中。
aulast: 与last类似,但使用审计框架安装
aulastlog: 与lastlog类似,也使用审计框架
ausyscall: 映射syscall ID和名称
auvirt: 显示关于虚拟机的审计信息
2、auditd相关配置文件
/etc/audit/auditd.conf : auditd工具的配置文件
/etc/audit/rules.d/audit.rules:包含审核规则的文件,如果我们需要修改审计范围,直接编辑该文件,并使用auditctl -R 命令重载审计规则配置文件
/etc/audit/audit.rules : 记录审计规则的文件,该配置文件是根据etc/audit/rules.d/audit.rules下的配置文件自动生成
四、auditd使用举例
1、查看当前审计规则
[root@s166 audit]# auditctl -l
No rules
2、配置一条审计规则
[root@s166 audit]# echo “-w /etc/hosts -p wa -k hosts_change” >> rules.d/audit.rules
3、重载配置
[root@s166 audit]# auditctl -R /etc/audit/rules.d/audit.rules
4、再次查看审计规则
[root@s166 audit]# auditctl -l
-w /etc/hosts -p wa -k hosts_change
5、修改/etc/hosts文件
[root@s166 audit]# vim /etc/hosts
…
192.168.0.186 s186
————————————————
[root@s166 audit]# ausearch --start today -k “hosts_change”
五、auditd服务管理
auditd服务默认开机自启动,配置了禁止手动启停服务,如果我们需要启动或者停止服务,需要修改/usr/lib/systemd/system/auditd.service中的RefuseManualStop=no,否则服务启停服务命令,修改完成后执行systemctl daemon-reload ,然后就可以手动启停管理服务了。实际上我们也可以不停止服务的情况下停止审计,只需要执行auditd -s disable命令就可以停止审计记录。
查看auditd服务状态:systemctl status auditd
配置服务开机自启动:systemctl enable auditd
取消服务开机自启动:systemctl disable auditd
停止auditd服务:systemctl stop auditd
启动auditd服务:systemctl start auditd
重启auditd服务:systemctl restart auditd
重载审计规则配置:auditctl -R /etc/audit/rules.d/audit.rules
停止审计:auditd -s disable
开启审计:auditd -s enable
六、auditctl命令简介
audit 我们可以使用auditctl临时配置规则,服务重启失效,如果需要配置永久生效,我们需要将规则写入到配置文件中。auditd审计规则分成三个部分,
控制规则:这些规则用于更改审计系统本身的配置和设置。
文件系统规则:这些是文件或目录监视。 使用这些规则,我们可以审核对特定文件或目录的任何类型的访问。
系统调用规则:这些规则用于监视由任何进程或特定用户进行的系统调用。
1、命令语法
#auditctl [选项] filter,action -S syscall -F condition -k label
————————————————
2、命令使用示例
查询所有事件
[root@s166 audit]# ausearch -m all
查询指定时间段的日志
[root@s166 audit]# ausearch --start today --end “now”
查询指定用户日志
[root@s166 audit]# ausearch -ua kingbase
根据文件路径查找日志
[root@s166 audit]# ausearch -f /etc/hosts
根据系统调用查询日志
[root@s166 audit]# ausearch -sc open
根据过滤关键字查询日志
[root@s166 audit]# ausearch -k “hosts_change”
搜索系统登录失败日志
[root@s166 audit]# ausearch --message USER_LOGIN --success no --interpret
搜索所有的账户,群组,角色变更
[root@s166 audit]# ausearch -m ADD_USER -m DEL_USER -m ADD_GROUP -m USER_CHAUTHTOK -m DEL_GROUP -m CHGRP_ID -m ROLE_ASSIGN -m ROLE_REMOVE -i
搜寻从制定时间段的失败的系统调用
[root@s166 audit]# ausearch --start “2023年10月22日” --end “now” -m SYSCALL -sv no -i
————————————————
要生成审计消息的报表,可使用 aureport 命令。如果执行 aureport 时没有使用任何选项,则会显示如汇总报表。
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!