System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种高效、可靠的Linux命令行操作审计的方法、系统技术方案_技高网

一种高效、可靠的Linux命令行操作审计的方法、系统技术方案

技术编号:40908562 阅读:5 留言:0更新日期:2024-04-18 14:38
本发明专利技术公开了一种高效、可靠的Linux命令行操作审计的方法、系统,包括:管理平台、agent模块、bash审计模块、信息处理模块,所述管理平台以可视化界面的方式供用户管理云主机,向各云主机agent下发审计开启/关闭指令。本发明专利技术灵活调整bash审计模块中的信息获取函数get_info的实现,获取命令行执行相关信息,如执行进程号、登录用户、执行用户、登录终端和IP等,相较只能获取到执行命令的读取bash日志的方案,可提供的命令行审计信息更为丰富;对主机系统修改小,仅替换了主机系统中的bash模块,未对内核和其他程序进行修改;本发明专利技术提出的bash审计方法、系统适用于对公有云及私有云中海量云主机的命令行审计,方便管理员对云主机进行安全审计。

【技术实现步骤摘要】

本专利技术涉及linux命令行操作审计结构,尤其涉及一种高效、可靠的linux命令行操作审计的方法、系统。


技术介绍

1、shell命令行是一个c语言编写的程序,用户可以通过shell去执行命令,访问操作系统提供的服务,而bash则是目前linux操作系统默认使用的shell程序。

2、传统读取系统日志的方式可获取的信息更多,且可以实时审计,但由于需要大量修改程序内部指令的逻辑,很有可能引入bug,导致程序崩溃,用户无法正常使用命令行。


技术实现思路

1、本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。

2、鉴于上述现有一种高效、可靠的linux命令行操作审计的方法、系统存在的问题,提出了本专利技术。

3、因此,本专利技术目的是提供一种高效、可靠的linux命令行操作审计的方法、系统,其适用于解决传统读取系统日志的方式可获取的信息更多,且可以实时审计,但由于需要大量修改程序内部指令的逻辑,很有可能引入bug,导致程序崩溃,用户无法正常使用命令行。

4、为解决上述技术问题,本专利技术提供如下技术方案:一种高效、可靠的linux命令行操作审计的方法、系统,包括:管理平台、agent模块、bash审计模块、信息处理模块,

5、所述管理平台以可视化界面的方式供用户管理云主机,向各云主机agent下发审计开启/关闭指令,并展示各云主机命令行执行的命令供用户审计,

6、所述agent模块是安装在用户主机中的agent程序,并与管理平台通过tls进行通信,所述agent模块会在接收到管理平台下发的审计指令后,将系统原生bash替换为agent所携带的bash审计模块,并监听本地socket,用于接收bash命令行执行信息,

7、所述bash审计模块则是通过分析bash源码逻辑,找到bash源码中将命令写入~/.bash_history文件的函数add_history,在其中插入对命令执行上下文信息获取函数get_info和信息发送函数send_info。

8、作为本专利技术所述一种高效、可靠的linux命令行操作审计的方法、系统的一种优选方案,其中:所述信息处理模块将资源池内云主机agent发送的命令行执行信息进行汇总,并将命令与系统规则库进行正则匹配,匹配成功则标记为可疑命令,存放在数据库中,供管理平台获取以展示在前端界面上让用户进行审计。

9、作为本专利技术所述一种高效、可靠的linux命令行操作审计的方法、系统的一种优选方案,其中:所述agent收取到bash审计模块收集到的命令行执行信息后,将该信息通过tls发送给信息处理模块,用于后续分析、审计。

10、作为本专利技术所述一种高效、可靠的linux命令行操作审计的方法、系统的一种优选方案,其中:所述get_info内通过系统或内置方法获取到bash进程号、登录bash的终端名和登录ip等信息,便于后续审计,所述send_info则通过unix socket将命令信息和命令执行上下文信息发送至agent模块。

11、作为本专利技术所述一种高效、可靠的linux命令行操作审计的方法、系统的一种优选方案,其中:所述bash审计模块并未对原有的读取、执行指令核心逻辑进行改动,而是在执行命令结束后、写日志前插入对bash审计信息的获取、发送。

12、作为本专利技术所述一种高效、可靠的linux命令行操作审计的方法、系统的一种优选方案,其中:所述信息处理模块将信息向数据库内进行传递,所述管理平台可调用数据库内部信息。

13、作为本专利技术所述一种高效、可靠的linux命令行操作审计的方法、系统的一种优选方案,其中,bash审计流程:

14、a1.构造命令执行信息获取函数和信息发送函数;

15、a2.通过分析bash源码逻辑,在追加日志函数中插入准备好的命令信息获取函数和信息发送函数,构造bash审计模块;

16、a3.agent收到审计指令后,安装bash审计模块至主机中;

17、a4.用户登录主机执行bash命令行指令后,bash审计模块将执行的指令信息通过本地socket发送给agent;

18、a5.agent将指令信息发送至信息处理模块,经汇总处理后,展示在前端界面供用户审计。

19、作为本专利技术所述一种高效、可靠的linux命令行操作审计的方法、系统的一种优选方案,其中:所述agent模块负责在接收到命令行审计开启指令后将bash审计模块安装至主机中,后续会将bash审计模块收集的命令行执行指令信息发送至信息处理模块。

20、作为本专利技术所述一种高效、可靠的linux命令行操作审计的方法、系统的一种优选方案,其中:所述agent收到管理平台的开启审计指令后,会将bash审计模块安装至用户主机中,替换系统原有bash。

21、作为本专利技术所述一种高效、可靠的linux命令行操作审计的方法、系统的一种优选方案,其中:

22、bash命令行审计流程,步骤如下:

23、s1.首先通过分析bash源码后,在追加日志add_history函数中插入已构造好的命令信息获取函数和信息发送函数,构成bash审计模块;

24、s2.agent接收到审计指令后,先将主机内的自带bash备份,再将bash审计模块安装至主机中,使之成为默认使用的命令行程序;

25、s3.登录主机后,启动的命令行程序为该bash审计模块,用户执行命令行指令后,

26、s4.除了基本的指令信息,还额外记录了命令行的登录用户、登录ip、登录终端、进程信息,指令的执行用户和执行时间等信息;

27、s5.bash审计模块将记录的信息发送至agent模块,agent添加上主机信息后发送至信息处理模块,信息处理模块将接收到的审计信息解析处理后存入数据库中;

28、s6.管理平台从数据库中读取指令信息展示在前端界面上供用户审计。

29、本专利技术的有益效果:

30、审计信息丰富,本专利技术提出的审计方法、系统可根据需要,灵活调整bash审计模块中的信息获取函数get_info的实现,获取命令行执行相关信息,如执行进程号、登录用户、执行用户、登录终端和ip等,相较只能获取到执行命令的读取bash日志的方案,可提供的命令行审计信息更为丰富;

31、对主机系统修改小,仅替换了主机系统中的bash模块,未对内核和其他程序进行修改,且bash审计模块相较默认bash只在追加日志逻辑中增加了信息获取和信息发送函数,修改少,对bash整体执行逻辑影响较小,相比基于hook技术的方案更为适用且稳定;

32、本专利技术提出的bash审计方法、系统适用本文档来自技高网...

【技术保护点】

1.一种高效、可靠的Linux命令行操作审计的系统,其特征在于,包括:管理平台、agent模块、bash审计模块、信息处理模块,

2.根据权利要求1所述的一种高效、可靠的Linux命令行操作审计的系统,其特征在于:所述信息处理模块将资源池内云主机agent发送的命令行执行信息进行汇总,并将命令与系统规则库进行正则匹配,匹配成功则标记为可疑命令,存放在数据库中,供管理平台获取以展示在前端界面上让用户进行审计。

3.根据权利要求1所述的一种高效、可靠的Linux命令行操作审计的系统,其特征在于:所述agent收取到bash审计模块收集到的命令行执行信息后,将该信息通过TLS发送给信息处理模块,用于后续分析、审计。

4.根据权利要求1所述的一种高效、可靠的Linux命令行操作审计的系统,其特征在于:所述get_info内通过系统或内置方法获取到bash进程号、登录bash的终端名和登录IP等信息,便于后续审计,所述send_info则通过unix socket将命令信息和命令执行上下文信息发送至agent模块。

5.根据权利要求1所述的一种高效、可靠的Linux命令行操作审计的系统,其特征在于:所述bash审计模块并未对原有的读取、执行指令核心逻辑进行改动,而是在执行命令结束后、写日志前插入对bash审计信息的获取、发送。

6.根据权利要求1所述的一种高效、可靠的Linux命令行操作审计的系统,其特征在于:所述信息处理模块将信息向数据库内进行传递,所述管理平台可调用数据库内部信息。

7.一种应用于权利要求1-6任一项所述的一种高效、可靠的Linux命令行操作审计的系统的方法,其特征在于:

8.根据权利要求7所述的一种高效、可靠的Linux命令行操作审计的方法,其特征在于,bash审计流程:

9.根据权利要求7所述的一种高效、可靠的Linux命令行操作审计的方法,其特征在于:所述agent模块负责在接收到命令行审计开启指令后将bash审计模块安装至主机中,后续会将bash审计模块收集的命令行执行指令信息发送至信息处理模块。

10.根据权利要求7所述的一种高效、可靠的Linux命令行操作审计的方法,其特征在于:所述agent收到管理平台的开启审计指令后,会将bash审计模块安装至用户主机中,替换系统原有bash。

...

【技术特征摘要】

1.一种高效、可靠的linux命令行操作审计的系统,其特征在于,包括:管理平台、agent模块、bash审计模块、信息处理模块,

2.根据权利要求1所述的一种高效、可靠的linux命令行操作审计的系统,其特征在于:所述信息处理模块将资源池内云主机agent发送的命令行执行信息进行汇总,并将命令与系统规则库进行正则匹配,匹配成功则标记为可疑命令,存放在数据库中,供管理平台获取以展示在前端界面上让用户进行审计。

3.根据权利要求1所述的一种高效、可靠的linux命令行操作审计的系统,其特征在于:所述agent收取到bash审计模块收集到的命令行执行信息后,将该信息通过tls发送给信息处理模块,用于后续分析、审计。

4.根据权利要求1所述的一种高效、可靠的linux命令行操作审计的系统,其特征在于:所述get_info内通过系统或内置方法获取到bash进程号、登录bash的终端名和登录ip等信息,便于后续审计,所述send_info则通过unix socket将命令信息和命令执行上下文信息发送至agent模块。

5.根据权利要求1所述的一种高效、可靠的linux命令...

【专利技术属性】
技术研发人员:高飞辛晨潘艺宁钱奂奂冯纯刚邹东雪
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1