[转帖]linux audit审计(8)--开启audit对系统性能的影响
https://www.cnblogs.com/xingmuxin/p/8875783.html
我们使用测试性能的工具,unixbench,它有一下几项测试项目:

Execl Throughput 每秒钟执行 execl 系统调用的次数
Pipe Throughput 一秒钟内一个进程向一个管道写 512 字节数据然后再读回的次数
Pipe-based Context Switching 两个进程(每秒钟)通过一个管道交换一个不断增长的整数的次数
Process Creation 每秒钟一个进程可以创建子进程然后收回子进程的次数(子进程一定立即退出)
Shell Scripts (1 concurrent) 一秒钟一个进程可以并发地开始一个 shell 脚本的 1 个拷贝的次数
Shell Scripts (8 concurrent) 一秒钟内一个进程可以并发地开始一个 shell 脚本的 8 个拷贝的次数
System Call Overhead 进入和离开操作系统内核的代价

测试结果类似如下:

Benchmark Run: Wed Apr 18 2018 14:54:55 - 15:23:15
16 CPUs in system; running 1 parallel copy of tests Dhrystone 2 using register variables 24249307.1 lps (10.0 s, 7 samples)
Double-Precision Whetstone 2867.3 MWIPS (10.0 s, 7 samples)
Execl Throughput 2447.9 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 547726.0 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 149186.7 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1297448.0 KBps (30.0 s, 2 samples)
Pipe Throughput 946343.5 lps (10.0 s, 7 samples)
Pipe-based Context Switching 186950.1 lps (10.0 s, 7 samples)
Process Creation 7092.8 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 5631.6 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 2726.4 lpm (60.0 s, 2 samples)
System Call Overhead 905666.4 lps (10.0 s, 7 samples)

测试了/boot/grub2/grub.cfg 中audit=0,和去除audit=0,以及开启auditd服务等的性能数据:
1、内核参数去掉audit=0,auditd服务默认不启动:这种情况性能没有太大变化;
2、服务开启,auditctl -D删除所有可配置规则:这种情况Pipe Throughput下降近20%,System Call Overhead下降35%,其他下降%2-10%左右;
3、删除所有规则,配置 -a never,task取消系统调用的审计:性能没有太大变化;
4、配置-a never,task,配置audit目录访问,提权,账户变更等基本规则:性能变化不大;
5、audit服务开启,配置pci-dss规则,没有取消系统调用审计:Pipe Throughput下降近30%,System Call Overhead下降近50%,Pipe-based Context Switching下降10%,其他下降%2-10%左右;
从性能结果可以看到,开启内核参数,这个对性能影响不大,但是开启auditd服务后对性能影响就比较明显。
这里需要注意的是,如果auditd服务开启后,再服务停止,auditctl –e 0,性能也没有上升,依然比较差,是因为在audit内核处理中,会判断是否曾经开启过即auditctl -s查询的enabled项,只要开启了,即使后面设置auditctl –e 0后,系统调用依然会走audit流程,这就会影响系统性能。具体代码在arch/x86/kernel/entry_64.S,copy_process()中 ,int audit_alloc函数。
另外,如果配置 -a never,task后,所有的审计 type类型为SYSCALL的都不会记录了,一般情况下是要对系统调用进行审计的。
[转帖]linux audit审计(8)--开启audit对系统性能的影响的更多相关文章
- linux的审计功能(audit)
为了满足这样的需求:记录文件变化.记录用户对文件的读写,甚至记录系统调用,文件变化通知.什么是auditThe Linux Audit Subsystem is a system to Collect ...
- linux audit审计(5)--audit规则配置
audit可以配置规则,这个规则主要是给内核模块下发的,内核audit模块会按照这个规则获取审计信息,发送给auditd来记录日志. 规则类型可分为: 1.控制规则:控制audit系统的规则: 2.文 ...
- linux audit审计(2)--audit启动
参考:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec- ...
- linux audit审计(4)--audit的日志切分,以及与rsyslog的切分协同使用
audit的规则配置稍微不当,就会短时间内产生大量日志,所以这个规则配置一定要当心.当audit日志写满后,可以看到如下场景: -r-------- 1 root root 8388609 Mar 3 ...
- ORACLE AUDIT 审计
转自 http://blog.csdn.net/dnnyyq/article/details/4525980 1.什么是审计 审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计 ...
- 【转】在使用实体框架(Entity Framework)的应用中加入审计信息(Audit trail)跟踪数据的变动
在一些比较重要的业务系统中,通常会要求系统跟踪数据记录的变动情况.系统要记录什么时间,什么人,对那些信息进行了变动. 比较简单的实现方式是在每个表中加入两个字段CreatedBy和CreatedAt, ...
- 在使用实体框架(Entity Framework)的应用中加入审计信息(Audit trail)跟踪数据的变动
在一些比较重要的业务系统中,通常会要求系统跟踪数据记录的变动情况.系统要记录什么时间,什么人,对那些信息进行了变动. 比较简单的实现方式是在每个表中加入两个字段CreatedBy和CreatedAt, ...
- MySQL5.7 (审计)安装audit审计插件
转载自:https://blog.51cto.com/13941177/2173086 注意: 安装插件的方式优缺点: 缺点:日志信息比较大,对性能影响大. 优点:对每一时刻每一用户的操作都有记录. ...
- Linux History安全问题【保存记录防止删除】+完善Linux/UNIX审计 将每个shell命令记入日志
2011-09-27 22:11:51| 分类: rhel5_033|举报|字号 订阅 Linux利用PROMPT_COMMAND实现审计功能 这个系统审计,记录什么用户,在什么时间,做 ...
- Linux防火墙(Iptables)的开启与关闭
Linux防火墙(iptables)的开启与关闭 Linux中的防火墙主要是对iptables的设置和管理. 1. Linux防火墙(Iptables)重启系统生效 开启: chkconfig ipt ...
随机推荐
- Shell的概念、shebang、bash的概念
什么是shell shell的作用是 解释执行用户输入的命令或程序等 用户输入一条命令,shell就解释一条 键盘输入命令,Linux给与响应的方式,称之为交互式 linux的计算机是如何跟用户进行交 ...
- 在ubuntu下将virtualbox虚拟机的磁盘重设大小的方法
1.VBoxManage modifyhd /home/beyond/xxx.vdi --resize 20480 {20480(单位:M)是你要扩容之后的总大小,/home/beyond 是你存放 ...
- 一文了解Vprix容器流媒体平台和传统云桌面的区别、优劣势
在当今数字化时代,随着云计算和远程办公的兴起,云桌面项目成为了提升工作效率和灵活性的重要工具.云桌面项目通过将用户的桌面环境和应用程序虚拟化,为用户提供了随时随地访问个人工作环境的便利.本文将介绍Vp ...
- 【API 进阶之路】做 OCR 文字识别,谁说必须要有 AI 工程师?
摘要:有些功能还真不能光凭自己的直觉和认识,来自一线的声音才是最真实的用户需求.比方说名片录入的需求. 在公司技术委员会副主席这个位置上干了有几个月了,期间,我一方面给研发团队整理各种文档资料,做技术 ...
- 小熊派开发实践丨小熊派+合宙Cat.1接入云服务器
摘要:使用小熊派开发板,以合宙的AIR724为通信模组(Cat.1),以AT指令方式,通过mqtt协议接入云服务器. 本贴使用小熊派开发板+合宙的Air724(Cat.1模组),接入自己搭建的EMQ服 ...
- 跟我学丨如何用鲲鹏服务器搭建Hadoop全分布式集群
摘要:今天教大家如何利用鲲鹏服务器搭建Hadoop全分布式集群,动起来··· 一.Hadoop常见的三种运行模式 1.单机模式(独立模式)(Local或Standalone Mode) 默认情况下Ha ...
- python 搭建HTTP服务器
WSGI(Web Server Gateway Interface,web服务器网关接口)主要规定了服务器端和应用程序之间的接口,即规定了请求的URL到后台处理函数之间的映射该如何实现.wsgiref ...
- 从 Rancher 学习 K8s - Rancher 的基础使用
舞台环境 Rancher v2.6.9 K8s v1.24.16 如果你不具备该环境,可以移步 使用 Rancher 安装 K8s 集群 查看.本文适合已经了解了 k8s 基础概念,想使用 ranch ...
- 地图区域大数据量 marker 坐标点高效抽稀算法
按网上的思路一般要写双层循环,第一层循环遍历点集合,时间复杂度为O(N),第二层循环遍历结果集,逐一计算距离,距离小于阈值的不加入结果集,距离大于阈值的加入结果集,时间复杂度为O(M),双层循环总时间 ...
- Codeforces Round #669 (Div. 2) A、B题题解
Problem A - Ahahahahahahahaha https://codeforces.com/contest/1407/problem/A 题意: 给定一个偶数数组(元素值 0,1),在删 ...