导读:本期聚焦于小伙伴创作的《如何使用CentOS系统的审计日志来监测对系统的未经授权访问》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何使用CentOS系统的审计日志来监测对系统的未经授权访问》有用,将其分享出去将是对创作者最好的鼓励。

CentOS系统内置的auditd审计服务可以完整记录系统中的各类操作行为,通过分析审计日志能够有效发现未经授权的访问、异常操作等安全隐患,是系统安全防护的重要工具。

审计服务基础配置

首先确认auditd服务是否已经安装并运行,CentOS系统默认会预装该服务,若未安装可以通过yum命令安装:

# 检查auditd服务状态
systemctl status auditd
# 若未安装则执行安装
yum install -y audit
# 启动并设置开机自启
systemctl start auditd
systemctl enable auditd

设置关键审计规则

通过auditctl命令可以临时设置审计规则,若需要规则永久生效,需要将规则写入/etc/audit/rules.d/目录下的规则文件中,以下为常用的监测未授权访问的规则配置:

监测敏感文件访问

对/etc/passwd、/etc/shadow等存储用户信息的敏感文件设置读写审计规则,任何对这些文件的操作都会被记录:

# 临时规则,重启后失效
auditctl -w /etc/passwd -p rwxa -k passwd_change
auditctl -w /etc/shadow -p rwxa -k shadow_change
# 永久规则,写入/etc/audit/rules.d/audit.rules
echo "-w /etc/passwd -p rwxa -k passwd_change" >> /etc/audit/rules.d/audit.rules
echo "-w /etc/shadow -p rwxa -k shadow_change" >> /etc/audit/rules.d/audit.rules

上述规则中,-w指定要监测的文件路径,-p指定监测的权限类型,r表示读、w表示写、x表示执行、a表示属性修改,-k指定规则的关键字,方便后续筛选日志。

监测异常用户操作

监测su、sudo等提权操作的执行情况,以及root用户的登录行为:

# 监测su命令执行
auditctl -w /usr/bin/su -p x -k su_exec
# 监测sudo命令执行
auditctl -w /usr/bin/sudo -p x -k sudo_exec
# 监测root用户登录
auditctl -a always,exit -F arch=b64 -F euid=0 -S execve -k root_exec

审计日志查看与筛选

审计日志默认存储在/var/log/audit/audit.log文件中,直接查看内容较为杂乱,建议使用ausearch命令进行筛选查询:

按关键字筛选日志

查询之前设置的passwd_change关键字相关的日志,查看是否有未授权的/etc/passwd文件修改操作:

ausearch -k passwd_change

按时间范围筛选日志

查询最近1小时内的所有审计日志:

ausearch -ts recent

也可以指定具体的时间范围,例如查询2024年5月1日8点到10点的日志:

ausearch -ts 05/01/2024 08:00:00 -te 05/01/2024 10:00:00

按用户筛选日志

查询指定用户ID的操作日志,例如查询用户ID为1000的所有操作:

ausearch -ui 1000

未授权访问识别技巧

在审计日志中,若出现以下特征,大概率存在未经授权的访问行为:

  • 非管理员用户对/etc/passwd、/etc/shadow等敏感文件有写操作记录
  • 未授权的su、sudo提权操作记录,且操作时间不在正常运维时段
  • root用户执行了未知的命令,或者命令路径不在常规系统命令目录中
  • 大量失败的登录尝试记录,可能是暴力破解攻击

对于识别到的异常日志,可以进一步通过auseport命令查看详细的事件上下文,定位操作来源IP、进程信息等,及时采取封禁IP、修改密码等防护措施。

审计规则持久化与维护

临时设置的auditctl规则在系统重启后会失效,若需要规则永久生效,除了写入/etc/audit/rules.d/目录下的文件外,还需要重启auditd服务加载规则:

# 重启auditd服务加载新规则
systemctl restart auditd
# 查看当前生效的所有审计规则
auditctl -l

定期清理过期的审计日志可以避免磁盘空间占用过高,系统默认会通过logrotate工具自动轮转审计日志,也可以手动调整/etc/logrotate.d/auditd配置文件中的轮转策略,根据系统实际情况设置日志保留时长。

auditdauditctlausearchauseport系统审计修改时间:2026-07-22 21:36:34

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。