当前位置: 首页 > news >正文

linux audit入门使用

文章目录

  • 前言
  • 一、安装Audit?
  • 二、理解工作流程与核心工具
  • 三、核心使用(三大工具)
    • 1. auditctl:实时控制审计规则
    • 2. ausearch:查询审计日志
    • 3. aureport:生成汇总报告
  • 四、规则持久化(关键步骤)
    • 1.规则文件位置:
    • 2.写入规则:
    • 3.加载规则并重启服务:
  • 五、常见问题与解决方案
  • 实战示例:监控Web目录篡改

前言

Linux Audit(审计子系统)是Linux内核的一个安全框架,用于记录系统中发生的各种安全相关事件。它的核心价值在于事后追溯和安全合规。当发生安全事件(如文件被篡改、异常登录、权限滥用)时,审计日志可以帮助系统管理员精确复盘事件全过程。


一、安装Audit?

大多数主流Linux发行版都已预装auditd。如果未安装,请根据你的系统使用以下命令:

# Ubuntu / Debiansudoaptupdate&&sudoaptinstallauditd audispd-plugins# CentOS / RHEL / Fedora / 麒麟V10 / openEulersudoyuminstallaudit# 或 sudo dnf install audit# 安装后,启动并设置开机自启sudosystemctlenable--now auditdsudosystemctl status auditd# 确认状态为 active (running)

二、理解工作流程与核心工具

了解auditd各组件如何协同工作至关重要。下图清晰地展示了从规则配置到日志查询的完整流程:

整个过程是一个闭环:管理员通过auditctl配置规则,内核根据这些规则监控系统,auditd守护进程将事件写入日志,最后管理员使用工具查询日志以验证规则效果或进行安全分析。

三、核心使用(三大工具)

现在,让我们学习流程图中涉及的三个核心工具的具体用法。

1. auditctl:实时控制审计规则

# 1. 查看当前所有规则sudoauditctl -l# 2. 监控文件或目录(-w 为监控路径,-p 为权限,-k 为自定义关键词)sudoauditctl -w /etc/passwd -p wa -k identity_file# -p 后跟的权限:r=读,w=写,x=执行,a=属性变更# 3. 监控系统调用(-S 为系统调用名,-F 为过滤条件)# 例:记录所有失败的open系统调用sudoauditctl -a always,exit -Sopen-Fsuccess=0-k failed_open# 4. 删除所有规则sudoauditctl -D

2. ausearch:查询审计日志

用于从/var/log/audit/audit.log中检索特定事件。

# 1. 根据关键词(-k)搜索最近的事件sudoausearch -k identity_file# 2. 根据时间范围搜索(-ts 开始时间,-te 结束时间)sudoausearch -ts today 09:00 -te10:00# 3. 根据事件ID搜索(-a)sudoausearch -a12345# 4. 查看失败的登录尝试sudoausearch -m USER_LOGIN -sv no

3. aureport:生成汇总报告

生成易于人类阅读的汇总报告,便于宏观分析。

# 1. 生成所有事件的汇总报告sudoaureport# 2. 生成关于文件的报告sudoaureport -f# 3. 生成认证相关(登录)报告sudoaureport -au# 4. 生成今天发生的所有事件的详细报告sudoaureport -t

四、规则持久化(关键步骤)

通过auditctl添加的规则在系统重启后会丢失。要使其永久生效,必须将规则写入配置文件。

1.规则文件位置:

  • /etc/audit/rules.d/audit.rules (主要配置文件)
  • 你也可以在/etc/audit/rules.d/目录下创建自己的.rules文件(如myrules.rules)。

2.写入规则:

将你用auditctl测试好的规则,去掉开头的auditctl命令,直接写入规则文件。例如,将 auditctl -w /etc/passwd -p wa -k identity_file 转换为:

# 编辑规则文件sudovim/etc/audit/rules.d/audit.rules# 在文件末尾添加以下行(不要写 auditctl 命令本身)-w /etc/passwd -p wa -k identity_file -w /etc/shadow -p wa -k identity_file

3.加载规则并重启服务:

# 方法一:使用augenrules重新编译并加载所有规则(推荐)sudoaugenrules --load# 方法二:重启auditd服务sudosystemctl restart auditd# 验证规则是否已永久加载sudoauditctl -l

五、常见问题与解决方案

实战示例:监控Web目录篡改

假设你想监控网站目录/var/www/html是否被篡改(写入或属性变更):

1.添加临时规则测试:

sudoauditctl -w /var/www/html/ -p wa -k web_content

2.测试规则:在该目录下创建或修改一个文件,然后查询:

sudotouch/var/www/html/test.txtsudoausearch -k web_content -i

3.永久化规则:确认规则有效后,写入规则文件:

echo"-w /var/www/html/ -p wa -k web_content"|sudotee-a /etc/audit/rules.d/web.rulessudoaugenrules --load

掌握了以上内容,你就具备了使用auditd进行系统安全审计的基础能力

http://www.jsqmd.com/news/278337/

相关文章:

  • 震惊故事:AI项目失败,我学到了什么?
  • 从IP封禁到行为检测:揭秘现代反爬虫体系及应对方案
  • LeetCode 3314.构造最小位运算数组 I:今日先简单题简单做-到II再优化
  • 从同步到异步的华丽转身:手把手教你重构代码实现百万级并发处理
  • 如何用Python在10分钟内成功调用Deepseek API?工程师都在偷偷看的教程
  • 高速高频阻抗匹配:差分信号PCB设计与协同优化
  • Python OpenCV处理摄像头实时画面(从入门到实战的完整指南)
  • 济南硕士留学中介top10全面对比,无隐形消费保障详解指南
  • 安全生产管理究竟应该管什么?
  • 好写作AI:48小时极限肝论文?你的“学术急救包”已送达!
  • Python虚拟环境终极教程:从零开始学会venv的6大核心命令
  • 高频阻抗匹配仿真与实测验证的完整流程
  • 揭秘Word文档合并黑科技:用Python轻松搞定批量处理
  • Vue3 Pinia中store清理最佳实践
  • 好写作AI:在职硕士的“时间刺客”——工作论文我全都要!
  • 为什么可持续发展成为开发者新热点?
  • 【工业级爬虫架构设计】:集成OCR与模型识别绕过复杂验证码
  • 【Asyncio高手进阶之路】:从入门到精通掌握Python异步编程精髓
  • 好写作AI:英语写作还在“中式翻译”?你的地道表达外挂来了!
  • Java毕设项目推荐-基于Spring Boot的教师资源管理系统开发基于Web的师资管理系统设计与实现【附源码+文档,调试定制服务】
  • 只用1小时!掌握Flask构建RESTful API的7个关键技术点
  • 互联网大厂Java面试实录:Spring Boot、微服务与AI技术全方位解析
  • 别再用pandas直接读大Excel了,否则内存爆炸只是时间问题,快看替代方案
  • Python读取大文件总内存溢出?这3个冷门但超强的库你必须知道
  • STM32定时器全解析:从基础到高级
  • 从零部署到上线:Flask RESTful API开发全流程详解,错过再等一年
  • 深度行业洞察汽车AI营销终极对决原圈科技如何引爆车企增长?
  • 【高效数据整合指南】:掌握merge与concat的5种典型应用场景
  • 【Python深拷贝与浅拷贝面试全攻略】:掌握这5个高频考点,轻松应对99%的拷贝问题
  • 你还在被验证码拦住?3种高精度识别方法立即上手