Linux 监控服务 audit的安装与使用

发布时间 2023-08-18 13:19:14作者: 冲田总司cc

1、安装

一般centos会默认安装,可直接使用,没安装可以yum安装一下

yum install audit

2、启动方式:

systemctl start auditd

service auditd.service start

如果启动失败了,audit看一下状态

systemctl status auditd

可能是没装audit,可以查一下

yum list installed |grep audit

rpm -qa |grep audit

如果您在 CentOS 7 上启动 auditd 服务时遇到 "Failed to start auditdtd.service: Unit not found." 错误,可能是因为 auditd 服务的 systemd 单元文件不存在或已损坏。您可以按照以下步骤尝试解决这个问题:

检查 auditd 服务的 systemd 单元文件是否存在:

运行以下命令来检查 auditd 服务的 systemd 单元文件是否存在:
ls /usr/lib/systemd/system/auditd.service
如果该文件不存在,则可能需要重新安装 auditd 服务:
sudo yum reinstall audit
重新加载 systemd 单元文件:

运行以下命令来重新加载 systemd 单元文件:
sudo systemctl daemon-reload
启动 auditd 服务:

运行以下命令来启动 auditd 服务:
sudo systemctl start auditd.service
如果上述步骤无法解决问题,则可能需要进一步检查您的系统配置和日志文件,以确定问题的根本原因。

3、添加监控规则,监控目录或文件

auditctl -w <绝对路径> -p rwxa

auditctl -l #查看当前规则

或者

要使用audit监控目录并查看CentOS上的文件操作记录,您可以按照以下步骤进行操作:

安装auditd服务:在CentOS上,您可以使用以下命令安装auditd服务:

sudo yum install audit
配置audit规则:您需要配置audit规则以监控您想要审计的目录。例如,如果您想要监控/var/log目录,可以使用以下命令:

sudo auditctl -w /var/log -p war -k log_audit
这将监控/var/log目录中的所有文件操作,并将它们标记为log_audit关键字。

启动auditd服务:使用以下命令启动auditd服务:

sudo systemctl start auditd
查看audit日志:您可以使用以下命令查看audit日志:

sudo ausearch -k log_audit
这将显示与log_audit关键字相关的所有audit日志条目,包括文件操作记录。

通过这些步骤,您可以使用audit监控目录并查看CentOS上的文件操作记录。请注意,audit日志可能会很大,因此您可能需要使用其他工具来过滤和分析日志数据。

 

4、查看监控日志

可以到/var/log/audit/下查看

grep -rn “filename”

(其中,audit.log:当前正在写入的审计日志文件。

audit.log.1:上一个审计日志文件。

audit.log.2:上上个审计日志文件。

audit.log.3:上上上个审计日志文件。

audit.log.4:上上上上个审计日志文件。

或者

要使用audit查看文件的操作记录,您需要先启用Linux系统的审计功能。在大多数Linux发行版中,审计功能默认是关闭的,您需要手动启用它。

启用审计功能后,您可以使用以下命令来查看文件的操作记录:

sudo ausearch -f /path/to/file
其中,/path/to/file是您要查看操作记录的文件路径。该命令将显示与该文件相关的所有审计事件,包括文件的创建、修改、删除等操作。

如果您只想查看特定类型的操作记录,可以使用以下命令:

sudo ausearch -f /path/to/file -m <event_type>
其中,<event_type>是您要查看的事件类型,例如chmod、chown、create、delete等。

请注意,要使用audit查看文件的操作记录,您需要具有root权限或者是具有sudo权限的用户。

5、删除监控规则

要删除已经加入监控的目录,您可以使用以下几种方法:

使用 auditctl 命令删除监控规则

您可以使用 auditctl 命令删除已经加入监控的目录。首先,使用 auditctl -l 命令列出当前已经监控的目录和文件。然后,使用 auditctl -d 命令删除要删除的目录的监控规则。例如,要删除监控 /var/log 目录的规则,可以使用以下命令:

sudo auditctl -d -w /var/log -p rwxa
编辑 Audit 配置文件

您可以编辑 Audit 配置文件 /etc/audit/audit.rules,并删除要删除的目录的监控规则。找到要删除的规则,并将其从文件中删除。然后,重新加载 Audit 配置文件,使更改生效。例如,要删除监控 /var/log 目录的规则,可以使用以下命令:

sudo sed -i '/-w \/var\/log -p rwxa/d' /etc/audit/audit.rules
sudo systemctl restart auditd.service
使用 Audit 规则管理工具

您可以使用 Audit 规则管理工具,如 auditdmin 或 auditd-manager,来管理 Audit 规则。这些工具提供了一个图形界面,可以方便地添加、编辑和删除监控规则。例如,使用 auditd-manager 工具,可以打开 auditd-manager 界面,选择要删除的规则,并单击 "删除" 按钮。

请注意,删除监控规则可能会影响系统的安全性和审计功能。如果您不确定要删除哪些规则,请谨慎操作。

6、停用audit服务

因为audit会产生大量日志,运行久了没清可能会很占内存,一直运行可能也会影响性能

systemctl stop auditd

service auditd.service stop

禁用audit服务

sudo systemctl disable auditd.service
这样就可以停止并禁用Audit服务了。请注意,禁用Audit服务可能会影响系统的安全性和审计功能。如果您需要重新启用Audit服务,请使用以下命令:

sudo systemctl enable auditd.service
sudo systemctl start auditd.service

(有些是手写的 ,有些直接复制chatgtp的)