zoukankan      html  css  js  c++  java
  • linux监控工具audit

    audit是什么?

    audit是记录linux审计信息的内核模块。
    他记录系统中的各种动作和事件,比如系统调用,文件修改,执行的程序,系统登入登出和记录所有系统中所有的事件。audit还可以将审计记录写入日志文件。

    audit怎么用?

    audit配置文件

    /etc/audit/auditd.conf为audit的配置文件。
    简单讲一下几个常用配置项:

    • log_file:指定log文件存放的位置。
    • max_log_file:指定单个log文件的最大大小,单位是Mbyte。
    • max_log_file_action:当log文件达到max_log_file设定的大小时执行的动作,可选的动作有:ignore/syslog/suspend/rotate。
      ignore表示忽略max_log_file设置的限制,继续写log文件。
      syslog表示会向syslog中写入一条warning。
      suspend表示auditd不再写log文件,但是auditd继续运行。
      rotate表示分多个log文件,一个log文件达到上限后在创建一个新的不同名字的log文件。
    • num_logs
      表示保留日志文件的最大个数,只有在max_log_file_action=rotate时该选项该有意义,必须是0~99之间的数。如果设置为小于2,则不会循环日志。如果递增了日志文件的数目,就可能有必要递增/etc/audit/audit.rules中的内核backlog设置值,以便留出日志循环的时间。如果没有设置num_logs值,它就默认为0,意味着从来不循环日志文件。当达到指定文件容量后会循环日志文件,但是只会保存一定数目的老文件,这个数目由num_logs参数指定。老文件的文件名将为audit.log.N,其中 N是一个数字。这个数字越大,则文件越老。
    • space_left:表示log_file文件所在的分区空闲空间少于这个设定的值时,触发相应的动作,单位是Mbyte。
    • space_left_action:指定space_left触发后执行的动作,可选的选项有:ignore/syslog/suspend/single/halt,前面三个选项与max_log_file_action相似,single表示audit进程会将系统模式变为单用户模式,halt表示audit进程将会触发系统关机。

    auditctl

    -a [ 列表,动作 | 动作,列表 ]

    audit定义了user,task,exclude,exit列表,他们的功能分别为:

    • user:过滤掉用户空间的事件。
    • task:只有当fork或clone时才使用。
    • exclude:过滤管理员不想看到的事件。
    • exit:从系统调用退出时创建审核事件。

    audit定义了always, never动作,他们的含义分别为:

    • always:分配审核上下文,始终在系统调用进入时填写它,并始终在系统调用退出时写出一条记录。
    • never:不生成审计记录。

    -S [ syscall名称 | all ]

    所有的系统调用都可以在/usr/include/asm/unistd_64.h 文件中找到。

    -F [ n=v | n!=v | n<v | n>v | n<=v | n>=v | n&v | n&=v ]

    定义作用域。
    其中n可以是:
    pid:进程ID。
    uid:用户ID。
    gid:组ID。
    ...

    -w 路径

    -p 权限

    权限的动作分为四种:

    • r — 读取文件或者目录。
    • w — 写入文件或者目录。
    • x — 运行文件或者目录。
    • a — 改变在文件或者目录中的属性。

    -k 关键字

    举例:

    1. 记录进程1005所有的系统调用
      auditctl -a exit,always -S all -F pid=1005
    2. 记录对/etc/shadow进行的写操作和属性修改
    auditctl -w /etc/shadow -p wa
    auditctl -a exit,always -F path=/etc/shadow -F perm=wa
    

    ausearch

    建议使用key,如:ausearch -k passwd_changes

    总结

    audit是一个十分好用的审计工具,以往经常遇到客户问是谁动过某某文件,如果用audit监控着就不怕说不上来了,auditctl加的规则是一次性的,若要永久,可以加到/etc/audit/audit.rules

  • 相关阅读:
    引入background和background-size不显示图片
    vue,新手上路,基础,常见问题
    Java设置环境变量
    JS判断是否是手机登录及类型
    Mongodb查询语句与Sql语句对比
    IIS7下使用urlrewriter.dll配置
    反射获取属性
    数据库Convert关于时间取值
    JS实现嵌套Iframe页面F11全屏效果
    针对上次表格编辑的打印问题及解决方案
  • 原文地址:https://www.cnblogs.com/gean/p/13749550.html
Copyright © 2011-2022 走看看