Linux系统中,用户操作审计是一个重要的安全需求,尤其是在服务器环境里。如果你想知道某个用户在系统上执行了哪些命令、访问了哪些文件,或者系统资源被如何使用,auditd就是你该用的工具。
auditd 是 Linux 审核子系统的核心组件,它能记录系统调用、文件访问、用户行为等事件。不像 syslog 那样只是记录服务日志,auditd 的重点是安全相关的事件追踪,适合用于合规性检查和事后调查。
它的优势在于:
安装 auditd 很简单,在大多数发行版上只需要运行:
sudo apt install auditd # Debian/Ubuntu sudo yum install audit # CentOS/RHEL
安装完成后,auditd 会自动启动并开始记录默认的一些事件。
要让 auditd 监控用户操作,需要配置审核规则。这里有几个常用场景:
你可以为某个用户添加规则,比如监控用户 john 执行的所有命令:
sudo auditctl -w /bin/ -p war -k user_john_bin sudo auditctl -w /usr/bin/ -p war -k user_john_usrbin
这样可以监控这个用户对常用命令目录的访问情况。
如果想记录每个用户执行的具体命令及其参数,可以通过如下方式设置:
sudo auditctl -a exit,always -F arch=b64 -S execve sudo auditctl -a exit,always -F arch=b32 -S execve
这条规则会让 auditd 捕获每次执行的命令,并记录到日志中。查看这些日志可以用 ausearch 命令:
sudo ausearch -sc EXECVE
这样就能看到所有通过 execve 系统调用执行的命令,包括参数。
auditd 默认的日志位置通常是 /var/log/audit/audit.log。直接打开这个文件你会觉得内容很乱,建议使用 ausearch 和 aureport 工具来解析。
比如查找某个时间段内的登录失败记录:
sudo ausearch -m USER_LOGIN -ts today
或者查找某个用户的操作:
sudo ausearch -u john
如果你想看看最近一天都有哪些系统调用发生过,可以用:
sudo aureport --syscall -ts yesterday
这会生成一个汇总报告,方便快速浏览。
基本上就这些。auditd 功能强大但配置略复杂,刚开始用的时候可能得反复试几遍才能找到最合适的规则。不过一旦配置好,它就是你排查问题和保障安全的好帮手。
以上就是Linux如何审计用户操作?auditd日志监控指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号