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

linux监控工具audit的更多相关文章

  1. [Linux实用工具]Linux监控工具munin的展示(Nginx)

    Munin的安装和配置可以参考第一篇文章: [Linux实用工具]Linux监控工具munin的安装和配置 http://www.cnblogs.com/rond/p/3757804.html Mun ...

  2. Linux监控工具nmon

    Linux监控工具 nmon nmon是一种在Linux操作系统上广泛使用的监控与分析工具,nmon所记录的信息是比较全面的,它能在系统运行 过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中 ...

  3. (转)Linux监控工具

    需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧. 大多数Linux发行版本都装备了大量的监控工具,这些工具提供了能用作取得相关信息和系统活动的量度指标. 你能使用这些工具发现造 ...

  4. 系统管理员必须掌握的20个Linux监控工具

    需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用 作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成 ...

  5. Linux监控工具讲解

    本文主要记录一下 Linux系统上一些常用的系统监控工具,非常好用.正所谓磨刀不误砍柴工,花点时间总结一下是值得的! 本文内容脑图如下: top 命令 top 命令我想大家都挺熟悉吧!Linux 下的 ...

  6. Linux监控工具Spotlight on Unix

    1.介绍 Spotlight on Unix是一款Linux系统运行状况的监控工具,可以安装在Windows下,监控Linux服务器的运行状况. 监控项目包括:CPU.内存.交换空间.虚拟内存等的使用 ...

  7. 4 个好用的 Linux 监控工具

    下面是 Linux 下 4 个日常使用率非常高的监控工具,可以帮助我们准确快速的诊断系统问题. 1. iotop 如果你想知道某些进程使用了多少你宝贵的 I/O 资源,那么就使用 iotop 吧. i ...

  8. Linux监控工具vmstat命令

    当linux服务器的发生告警,我们要查看当前系统的状态值,包括CPU使用率,内存使用情况,虚拟内存交换情况,IO读写情况等. top与vmstat这两个监控工具都满足要求,当然top还可以看到各个进程 ...

  9. 4 个超实用的 Linux 监控工具

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 下面是 Linux 下 4 个日常使用率非常高的监控工具,可以帮助我们准确快速的诊断系统问题. 1. iotop 如果你想知 ...

随机推荐

  1. python连接mysql中报错1064修改方法

    Python是编程语言,MySQL是数据库,它们是两种不同的技术:要想使Python操作MySQL数据库需要使用驱动.这里选用PyMySQL驱动.下载地址: https://pypi.python.o ...

  2. Linux图形界面安装Oracle11G(Centos7)

    以Centos7为列 创建运行Oracle数据库的系统用户和用户组 #切换root用户 [px@localhost /]$ su - root [px@localhost /]$ su - root ...

  3. formily-面向中后台场景的复杂解决方案

    正文 在解决企业级应用的前端问题中,表单是个无法绕过的大山,正好最近有时间,调研一下 Formily-来自阿里巴巴的面向中后台复杂场景的表单解决方案,也是一个表单框架,前身是 UForm.主要解决如何 ...

  4. SEO需要分析哪些网站数据

    http://www.wocaoseo.com/thread-227-1-1.html 一.网站的基本数据 1.网站流量详情(ip.pv.需要看pv与ip的比) 2.网站的跳出率(可以看出一个网站的用 ...

  5. 深圳做假证h

    深圳做假证[电/薇:187ヘ1184ヘ0909同号]办各类证件-办毕业证-办离婚证,办学位证书,办硕士毕业证,办理文凭学历,办资格证,办房产证不. 这是一个简单的取最大值程序,可以用于处理 i32 数 ...

  6. 如何利用 docker 快速部署 Mysql 服务

    docker 基础教程不再多说,这里只着重讲如何使用 docker 部署 mysql 服务 docker 拉取 访问 dockerhub,搜索关键词 mysql,我这里选择 mysql-server, ...

  7. 小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

    上期给大家展示了用VisDrone数据集训练pytorch版YOLOV3模型的效果,介绍了什么是目标检测.目标检测目前比较流行的检测算法和效果比较以及YOLO的进化史,这期我们来讲解YOLO最原始V1 ...

  8. 20190923-11Linux crond 系统定时任务 000 019

    crond 服务管理 1.重新启动crond服务 [root@hadoop101 ~]# service crond restart centOS7是 systemctl restart crond ...

  9. 11.QT-ffmpeg+QAudioOutput实现音频播放器

    1.前言      由于QAudioOutput支持的输入数据必须是原始数据,所以播放mp3,WAV,AAC等格式文件,需要解封装后才能支持播放.      而在QT中,提供了QMediaPlayer ...

  10. 部署zabbix监控服务器,部署主动监控

    1.1部署服务运行环境 LNMP#yum -y  install gcc  pcre-devel zlib-devel openssl-devel #tar -zxvf nginx-1.12.2.ta ...