linux中的audit审计日志
这里首先介绍auditctl的应用,具体使用指南查看man auditctl。auditctl的man 描述说明这个工具主要是用来控制audit系统行为,获取audit系统状态,添加或者删除audit系统的规则。控制audit系统行为和获取audit系统状态参数:
-s 或者auditd 状态 auditctl -s 显示:AUDIT_STATUS: enabled=1 flag=1 pid=2792 rate_limit=0 backlog_limit=320 lost=0 backlog=0
-e [0|1|2] 设置audit使能标识, 0 表示临时关闭audit,1 表示启用audit,2表示锁住audit规则配置文件,这条命令一般设这在audit.rules的最后一条,任何人试图修改audit规则都会被记录,并且禁止修改。
-f [0|1|2]控制失败标识。也就flag位,这个位的主要作用是This option lets you determine how you want the kernel to handle critical errors
-r 设置速率,也就是每秒钟消息数目,非0的话如果系统在1秒钟大于设定的值,就会触发系统flag标识的行为
-b 设置backlog_limit
audit系统规则设置:
文件系统audit设置:
-w path path是一个文件或者目录的绝对路径。
-p [r|w|x|a] 和-w一起使用,监测用户对这个目录的读 写 执行 或者属性变化如时间戳变化。
-k 指定一个key,在ausearch的时候使用
系统调用的监控:
-a 添加一条系统调用监控规则
-S 后面接需要监测的系统调用的名称
显示规则和移除规则:
-D 删除所有规则
-d 删除一条规则和-a对应
-W 删除一条规则和-w对应
-l 列出所有规则
-s
根据名称或数字指定一个系统。要指定所有系统调用,可使用all作为系统调用名称。如果程序使用了这个系统调用,则开始一个审计记录。可以为相同的规则指定多个系统调用,每个系统调用必须用-S启动。在相同的规则中指定多个系统,而不是列出单独的规则,这样可以导致更好的性能,因为只需要评价一个规则。
- F ,<=]value>
指定一个规则字段。如果为一个规则指定了多个字段,则只有所有字段都为真才能启动一个审计记录。每个规则都必须用-F启动,最多可以指定64个规则。如果用用户名和组名作为字段,而不是用UID和GID,则会将它们解析为UID和GID以进行匹配。下面是有效的字段名:
auditctl -w /tmp -p e -k webserver_watch_tmp
-w 监控文件路径 /etc/passwd,
-p 监控文件筛选 r(读) w(写) x(执行) a(属性改变)
-k 筛选字符串,用于查询监控日志
auditctl -a entry,always -S all -F pid=1005
-S 监控系统调用
-F 给出更多监控条件(pid/path/egid/euid等)
可以用此命令查看日志:
ausearch -f /etc/passwd -x rm
-k 利用auditctl指定的key查询
-x 执行程序
# ausearch -ts today -k password-file
# ausearch -ts 3/12/07 -k password-file
-ts 指定时间后的log (start time)
-te 指定时间前的log (end time)
always
分配审计上下文,总是把它填充在系统调用条目中,总是在系统调用退出时写一个审计记录。
exit
从系统调用中退出值。
-S
报告关于系统调用的消息
linux中的audit审计日志的更多相关文章
- 在linux中怎么查看错误日志
cat或者tail -f命令 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/var/log/secure 与安全 ...
- [转帖]Linux教程(8)-Linux中的进程和日志㐇、
Linux教程(8)-Linux中的进程和日志 2018-08-20 23:42:23 钱婷婷 阅读数 3554更多 分类专栏: Linux教程与操作 Linux教程与使用 版权声明:本文为博主原 ...
- Linux中查看进程与日志
转至:https://www.cnblogs.com/dengxiaoning/p/13336778.html Linux尽管使用频繁,仍然每次都还是需要到处去找相关的命令,如进程,日志之类的,既然这 ...
- (转)linux中项目部署和日志查看
1 查找进程 ps -ef | grep java 查看所有关于java的进程 root 17540 1 0 2009 ? 01:42:27 /usr/java/ ...
- Linux中的 awk查找日志中的相关记录
假设要在 api.log.201707201830 文件中,(此文件的多个字段数据以不可见字符^A(键盘上按下Ctrl+V+A)分隔),要输出第70个字段: awk -F '^A' '{print $ ...
- linux中tomcat修改错误日志路径
涉及文件 log4j.properties (一般开发将该文件放在项目的缺省目录即源包下,在文件系统里,就是在项目的/src/java目录下,缺省的文件名是log4j.properties,这样项 ...
- Linux中的系统默认日志
/var/log/cron 记录了系统定时任务相关的日志 /var/log/cups 记录了打印信息的日志 /var/log/dmesg 记录了系统在开机时内核自检的信息,可以通过dmesg命令直接查 ...
- linux中hadoop组件启动日志存放问题
如果是nohup xxxx &的话会在当前目录下生成一个nohup文件存放当前出现所有的日志,&表示后台启动: 当然你也可以将日志存放在>/dev/null表示当前日志存放的位置 ...
- Linux中清空docker容器日志
新建文件docker-clear-log,放在/usr/local/bin/目录下,文件内容如下: #!/bin/bash -e if [[ -z $ ]]; then echo "No c ...
随机推荐
- Java日期时间使用总结
一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在J ...
- 20145305 《Java程序设计》第4周学习总结
教材学习内容总结 1.子类只能继承一个父类 2.检查多态语法逻辑是否正确,方式是从=号右边往左读:右边是不是一种左边(右边类型是不是左边类型的一种子类) 3.可以使用abstract标示该方法为抽象方 ...
- 最最基层的ajax交互代码jquery+java之间的json跨域传递以及java的json代码返回
首先导入jar包 上面的jar包主要是用来将map或list数据转换成json字符串,传递到前台使用. 静态页面的代码:2.html <!DOCTYPE html> <html> ...
- linux locate: command not found
装好系统发现使用locate查找文件,提示 -bash: locate: command not found yum install locate 无效,看来locate不是软件名称 [root@ce ...
- cwRsync 配置文件详解
GLOBAL PARAMETERS(全局参数) The first parameters in the file (before a [module] header) are the global p ...
- 菜鸟-手把手教你把Acegi应用到实际项目中(6)
在企业应用中,用户的用户名.密码和角色等信息一般存放在RDBMS(关系数据库)中.前面几节我们采用的是InMemoryDaoImpl,即基于内存的存放方式.这节我们将采用RDBMS存储用户信息. Us ...
- pytest学习笔记(二)
继续文档的第二章 (一)pytest中可以在命令行中静态/动态添加option,这里没什么好讲的,略过... 这里面主要讲下如何试用skip/xfail,还有incremental(包含一些列的测试步 ...
- C语言程序设计50例(二)(经典收藏)
[程序11]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1 ...
- PMP-产品范围与项目范围区别
如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 1.产品范围--某项产品.服务或成果所具有的特性和功能. 2.项目范围--为交付具有 ...
- Django基础篇之数据库选择及相关操作
在djanjo框架中我们最常用的框架分别就是mysql和sqlit了,下面我们将分别讲述一下这俩种数据库的基础必备知识 mysql 一.利用命令创建(在终端上执行) 1.首先创建一个project项目 ...