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

Linux 系统管理和监控命令---- auditctl命令

文章目录

      • 基本语法
      • 常用参数和选项
        • 添加规则
        • 删除规则
        • 查看规则
        • 控制审计系统
        • 其他选项
      • 使用示例
        • 启用审计系统
        • 禁用审计系统
        • 添加文件监视规则
        • 删除文件监视规则
        • 添加系统调用规则
        • 删除系统调用规则
        • 列出当前的审计规则
      • 结合 `ausearch` 和 `aureport`
        • 查询审计日志
        • 生成审计报告
      • 总结

auditctl 是 Linux 审计系统(Audit System)的命令行工具,用于配置和管理审计规则。审计系统用于记录系统事件和用户活动,以便进行安全审计和合规性检查。 auditctl 命令可以动态地添加、删除和查看审计规则。

基本语法

auditctl [OPTIONS] [COMMAND]

常用参数和选项

添加规则
  • -a:添加规则。
    • -a always,exit:添加一个始终记录的规则。
    • -a never,exit:添加一个从不记录的规则。
删除规则
  • -d:删除规则。
    • -d always,exit:删除一个始终记录的规则。
    • -d never,exit:删除一个从不记录的规则。
查看规则
  • -l:列出当前的审计规则。
控制审计系统
  • -e:启用或禁用审计系统。
    • -e 0:禁用审计系统。
    • -e 1:启用审计系统。
    • -e 2:启用审计系统,并且在内核中锁定配置,防止进一步的更改。
其他选项
  • -w:监视文件或目录。
    • -w /path/to/file:监视指定的文件或目录。
  • -k:为规则添加一个键(key),用于标识和过滤审计记录。
    • -k keyname:为规则添加一个键名。

使用示例

启用审计系统
auditctl -e 1
禁用审计系统
auditctl -e 0
添加文件监视规则

监视 /etc/passwd 文件的所有访问和修改操作:

auditctl -w /etc/passwd -p rwxa -k passwd_changes
  • -w /etc/passwd:监视 /etc/passwd 文件。
  • -p rwxa:监视读(r)、写(w)、执行(x)和属性更改(a)操作。
  • -k passwd_changes:为规则添加键名 passwd_changes
删除文件监视规则

删除对 /etc/passwd 文件的监视规则:

auditctl -W /etc/passwd
添加系统调用规则

监视所有对 /etc/shadow 文件的打开操作:

auditctl -a always,exit -F path=/etc/shadow -F perm=wa -k shadow_changes
  • -a always,exit:添加一个始终记录的规则。
  • -F path=/etc/shadow:指定监视的文件路径。
  • -F perm=wa:监视写(w)和属性更改(a)操作。
  • -k shadow_changes:为规则添加键名 shadow_changes
删除系统调用规则

删除对 /etc/shadow 文件的监视规则:

auditctl -d always,exit -F path=/etc/shadow -F perm=wa -k shadow_changes
列出当前的审计规则
auditctl -l

结合 ausearchaureport

auditctl 配置的审计规则会生成审计日志,这些日志可以使用 ausearchaureport 命令进行查询和报告。

查询审计日志

使用 ausearch 查询特定键名的审计记录:

ausearch -k passwd_changes
生成审计报告

使用 aureport 生成审计报告:

aureport -k

总结

auditctl 是一个强大的工具,用于配置和管理 Linux 审计系统的规则。通过使用 auditctl,可以监视文件和目录的访问、系统调用以及其他重要的系统事件。结合 ausearchaureport,可以有效地查询和报告审计日志,帮助管理员进行安全审计和合规性检查。


http://www.kler.cn/a/392966.html

相关文章:

  • 「Py」Python基础篇 之 Python都可以做哪些自动化?
  • 【Linux】TCP原理
  • 深入理解接口测试:实用指南与最佳实践5.0(一)
  • [CKS] K8S ServiceAccount Set Up
  • MySQ怎么使用语法介绍(详细)
  • Coggle数据科学 | RAG编码模型对比:谁与OpenAI最为相似?
  • 【机器学习】29. 关联规则挖掘(Association Rule Mining)
  • Linux下的vim和gdb
  • day55 图论章节刷题Part07([53.寻宝]prim算法、kruskal算法)
  • Window.history API学习笔记
  • 基于flask+jwt+vue前后端分离架构
  • 如何提高业务系统的稳定性
  • 浅谈C#之内存管理
  • 【无人机设计与控制】无人机集群路径规划:5种最新优化算法(ECO、AOA、SFOA、MGO、PLO)求解无人机集群路径规划
  • 鸿蒙学习生态应用开发能力全景图-三方库(3)
  • 专题十八_动态规划_斐波那契数列模型_路径问题_算法专题详细总结
  • C语言中操作符详解(下)
  • MFC工控项目实例二十九主对话框调用子对话框设定参数值
  • 当微软windows的记事本被AI加持
  • 定时清理潜在客户列表中的无效邮箱可提高EDM电子邮件自动化营销邮件送达率
  • Android插件化和组件化面试题及参考答案
  • Mac的极速文件搜索工具,高效管理文件
  • 时序数据库TimescaleDB安装部署以及常见使用
  • 手机直连卫星NTN通信初步研究
  • WPF+MVVM案例实战与特效(二十八)- 自定义WPF ComboBox样式:打造个性化下拉菜单
  • ArkTS的进阶语法-4(函数补充,正则表达式)