recording just for inquiry in the future

auditd审计

相关命令有: auditd, auditctl, ausearch, aureport

相关文件: /etc/audit/auditd.conf, /etc/audit/audit.rules, /var/log/audit/audit.log

主要有两种方法进行设置,一是直接使用命令auditctl, 二是在audit.rules里写跟踪监视规则

# auditctl -w /etc/passwd -p rwxa -k CFG_passwd

一般监视触发权限设为 - p wa就好, 额外的不必要的如rx, 会产生过多的审计记录

-k CFG_passwd, 设置审计规则的过滤器关键字,主要是用于ausearch -k key_string 好搜索,比如,有多个规则

去监视同一个文件或目录的时候,就可以根据-k key_string来过滤、唯一的定位要查看的规则产生的审计记录

-k key_string: ... typical use is for when you have several rules that together satisfy a security requirement

查看审计记录

可以直接查看/var/log/audit/audit.log

可以用命令 ausearch, 它 search audit records based on a certain option:

  --event   search based on event id

  --comm  ... command line name (comm=command)

  -- exit    ... syscall exit code

  --file -f   based on file name, this option is most commonly used.  

# ausearch -f /etc/passwd的部分结果

----
time->Tue Oct 13 16:17:21 2015
type=PATH msg=audit(1444724241.720:1382): item=0 name="/etc/passwd" inode=16516438 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00
type=CWD msg=audit(1444724241.720:1382):  cwd="/root/Desktop"
type=SYSCALL msg=audit(1444724241.720:1382): arch=40000003 syscall=5 success=yes exit=3 a0=138ef8 a1=80000 a2=1b6 a3=138eb5 items=1 ppid=8010 pid=27369 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=142 comm="vi" exe="/bin/vi" key=(null)
----
每节分几个部分的内容:

  time: 审计时间

  type=path : 被监视、被审计文件的路径

  type=cwd :  表示发生审计事件时,用户所处的当前路径

  type=syscall: 系统调用,是哪个命令触发的审计事件,用户用的是哪个命令,

    上面显示中,comm="vi"表示使用的是vi命令去编辑的/etc/passwd文件,exe="/bin/vi"表示vi的路径

aureport

  生成审计报表,根据选项生成相应方面的报表信息

  aureport -c : 关于配置方面的审计报表信息

        -f, -m, -u, -l等等

时间: 2024-10-27 02:58:24

recording just for inquiry in the future的相关文章

【转帖】Bootleg recording

Bootleg recording From Wikipedia, the free encyclopedia For other uses, see Bootleg (disambiguation). The audio cassette greatly increased the distribution of bootleg recordings in the 1980s. A bootleg recording is an audio or video recording of a pe

解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future:

php5个版本,5.2.5.3.5.4.5.5,怕跟不上时代,新的服务器直接上5.5,但是程序出现如下错误:Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in,看意思就很明了,说mysql_connect这个模块将在未来弃用,请你使用mysqli或者PDO来替代. 解决方法1: 禁止PHP报错 d

多线程篇七:通过Callable和Future获取线程池中单个务完成后的结果

使用场景:如果需要拿到线程的结果,或者在线程完成后做其他操作,可以使用Callable 和 Futrue 1.定义一个线程池,向线程池中提交单个callable任务 ExecutorService threadPools=Executors.newSingleThreadExecutor(); Future<String> future=threadPools.submit(new Callable<String>() { @Override public String call(

Java并发编程:Callable、Future和FutureTask(转)

Java并发编程:Callable.Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口. 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果. 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦. 而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果. 今天我们就来讨论一下Callabl

pip 警告!The default format will switch to columns in the future

pip警告! DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. pip升级到9.0.1后 查看pip.list 出现的警告

Callable、Future和FutureTask浅析

我们知道创建线程的方式有两种,一种是实现Runnable接口,另一种是继承Thread,但是这两种方式都有个缺点,那就是在任务执行完成之后无法获取返回结果,那如果我们想要获取返回结果该如何实现呢?还记上一篇Executor框架结构中提到的Callable接口和Future接口吗?,是的,从JAVA SE 5.0开始引入了Callable和Future,通过它们构建的线程,在任务执行完成后就可以获取执行结果,今天我们就来聊聊线程创建的第三种方式,那就是实现Callable接口. 1.Callabl

Java并发编程:Callable、Future和FutureTask 实现龟兔赛跑

1.不清楚的看博客http://www.cnblogs.com/dolphin0520/p/3949310.html 我们使用上面的代码来实现一个龟兔赛跑 package com.weiyuan.test; import java.util.concurrent.Callable; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurre

14.Java中的Future模式

jdk1.7.0_79  本文实际上是对上文<13.ThreadPoolExecutor线程池之submit方法>的一个延续或者一个补充.在上文中提到的submit方法里出现了FutureTask,这不得不停止脚步将方向转向Java的Future模式. Future是并发编程中的一种设计模式,对于多线程来说,线程A需要等待线程B的结果,它没必要一直等待B,可以先拿到一个未来的Future,等B有了结果后再取真实的结果. ExecutorService executor = Executors.

【转】Java线程系列:Callable和Future

一.前言 在研究JDK1.8的CompletableFuture时,顺道将Futrue一起扫了盲~这篇博文纯转载 二.正文 本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果.        Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务的返回值