Linux auditd(Audit Daemon)是一个内核审计框架,它提供了一种跟踪系统活动和记录安全事件的机制。通过使用auditd,系统管理员可以监视用户和进程的操作,跟踪文件访问,审计网络活动等。auditd是一个强大的审计工具,可以帮助管理员监视系统的安全性,并追踪和调查安全事件。比如最近系统上偶尔会出现某个目录下日志文件夹开机后突然被删除,又找不到记录和证据,这时候我们就可以使用auditd来监视审计文件什么时候被什么进程修改或删除了。
auditd安装:
Ubuntu:apt-get install auditd
CentOS:yum install audit
auditd使用方法:
审计规则(Audit Rules):auditd使用审计规则来确定哪些操作应该被记录。规则定义了要监视的系统资源(如文件、目录、用户、进程等),以及要记录的事件类型(如文件读取、写入、执行等)。auditd工具的配置文件位于 /etc/audit/auditd.conf ,可以通过修改/etc/audit/rule.d/audit.rules文件来配置审计规则,如想要监控某个文件夹被删除操作,可以在规则配置中文件中写入:-w /data/anzhihe/log/20231030 -p rwxa -k autocar
审计日志文件:auditd将记录的事件写入审计日志文件。默认情况下,日志文件位于/var/log/audit/audit.log,但可以在配置文件中进行自定义设置。日志文件包含了详细的事件信息,如时间戳、主机名、用户、进程、事件描述等。
审计查询工具:auditd提供了一些工具来查询和解析审计日志文件。常用的命令有:
ausearch:查询审计日志并提供过滤和搜索功能。如 ausearch -k autocar,
-k
给当前这条监控规则起个名字,方便搜索过滤aureport:生成审计日志的报告,如用户活动、文件访问等。
auditctl:用于配置和管理审计规则。
auditd:auditd的后台守护进程。
使用示例:
启动auditd服务:service auditd start 或 systemctl start auditd
停止auditd服务:service auditd stop 或 systemctl stop auditd
监控 /root/.ssh/authorized_keys 文件是否被修改过:aditctl -w /root/.ssh/authorized_keys -p awrx -k auth_key
-w
指明要监控的文件-p awrx
要监控的操作类型,append, write, read, execute-k
给当前这条监控规则起个名字,方便搜索过滤搜索指定用户的活动:ausearch -k username -i
生成用户活动报告:aureport --tty -i
参考: