linux audit原理,Wauzh原理简析及audit规则风险评估

本文介绍了Linux的audit系统审计框架,及其在HIDS如Wazuh中的应用。讨论了audit的syscall原理,强调了过度配置可能带来的性能下降和服务器宕机风险,并给出了规则配置建议,包括如何合并规则以减少性能影响。同时,文章指出了audit配置中的关键参数,如-e和-f,以及可能遇到的问题,如缓冲区瓶颈和主机重启。最后,分享了作者在64位系统中针对execve进程的监控规则配置经验。
摘要由CSDN通过智能技术生成

HIDS基本原理

熟悉HIDS的朋友应该了解,服务器的shell监控一般有两种,一种依靠Linux的audit审计功能,比如Wazuh,一种是重编译和替换bash二进制文件,将shell上执行的命令实时通过socket传递到服务端。

前一种方法优点是记录完整,缺点是会产生大量的日志,以及audit.rules配置失误的话导致服务器宕机。

后一种方式虽然日志简洁,但如果通过命令远程执行漏洞不走服务器的shell则捕获不到操作。在此我主要介绍Wazuh所使用的audit监控。

audit的原理浅显来说,linux 用于用户空间与内核空间的中间层叫做syscall,是连接用户态和内核态的桥梁,当用户访问硬件设备,比如申请系统资源、操作设备读写、创建新进程时,用户空间发起请求,内核空间负责执行,syscall提供一套标准接口实现。

当用户空间向内核空间发出syscall时,会产生软中断,让程序由用户态进入内核态进而执行相应的操作,每个syscall都有唯一的系统调用号对应。

这样做的好处是内核空间是在受保护的地址空间中,用户空间程序无法直接执行内核代码,也无法访问内核数据。

网上举例了kill()函数的执行流程:

kill() -> kill.S -> swi陷入内核态 -> 从sys_call_table查看到sys_kill -> ret_fast_syscall -> 回到用户态执行kill()下一行代码。

audit框架如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值