一种操作指令管理方法、装置与流程

文档序号:24495805发布日期:2021-03-30 21:23阅读:100来源:国知局
一种操作指令管理方法、装置与流程

本申请涉及网络安全领域,尤其涉及一种操作指令管理方法、装置。



背景技术:

随着网络与计算机技术的飞速发展,云技术在医疗、安防、银行、金融等领域的应用也越来越广泛,因此保证云数据管理过程的安全性显得尤为重要。

当前技术中的操作指令管理方法在记录操作指令的来源时只能记录本地账号,无法和真正的实名用户联系到一起,如果有多个实名用户用同一个本地账户登录,则该方法无法区分是哪个真实用户发出的操作指令,这种漏洞容易被破坏者利用来攻击云服务器,从而极大的影响云服务器的信息安全。

因此,当前操作指令管理方法存在操作指令无法与真正的实名用户进行关联等技术问题,需要改进。



技术实现要素:

本申请实施例提供一种操作指令管理方法、装置,用于缓解当前操作指令管理方法中存在的操作指令无法与真正的实名用户进行关联的技术问题。

为了解决上述技术问题,本申请实施例提供以下技术方案:

本申请提供一种操作指令管理方法,所述操作指令管理方法包括:

接收来自操作终端的操作指令;

读取本地存储实名账户标识;

绑定所述操作指令和实名账户标识,生成审计数据;

在接收到审计终端的审计请求时,解析所述审计请求以从所述审计数据中确定所述审计请求对应的目标审计数据;

向所述审计终端发送所述目标审计数据,以使得所述审计终端在审计页面展示所述目标审计数据。

同时,本申请还提供一种操作指令管理方法,所述操作指令管理方法包括:

通过审计页面接收针对审计数据的选择指令;

根据所述选择指令对应的选择参数生成审计请求;

发送所述审计请求;

接收基于所述审计请求返回的目标审计数据;审计数据根据绑定的操作指令和实名账户标识生成;

在所述审计页面展示所述目标审计数据。

同时,本申请提供一种操作指令管理装置,所述操作指令管理装置包括:

第一接收模块,用于接收来自操作终端的操作指令;

读取模块,用于读取本地存储的实名账户标识;

绑定模块,用于绑定所述操作指令和实名账户标识,生成审计数据;

第一解析模块,用于在接收到审计终端的审计请求时,解析所述审计请求以从所述审计数据中确定所述审计请求对应的目标审计数据;

第一发送模块,用于向所述审计终端发送所述目标审计数据,以使得所述审计终端在审计页面展示所述目标审计数据。

在一种实施例中,所述操作指令管理装置还包括:

第一数据处理模块,用于接收来自操作终端的登录请求;解析所述来自操作终端的登录请求,得到所述实名账户标识;存储所述实名账户标识至跳板设备;

第二数据处理模块,用于接收来自跳板设备的环境变量参数;解析所述环境变量参数,得到所述实名账户标识;存储所述实名账户标识至第一业务服务器。

在一种实施例中,所述操作指令管理装置还包括:

第二接收模块,用于接收来自跳板设备的登录请求;

第二解析模块,用于解析所述来自跳板设备的登录请求,得到登录账户标识,所述登录账户标识包括本地账户标识或者实名账户标识;

验证模块,用于对所述登录账户标识进行验证;

第三接收模块,用于在所述登录账户标识通过验证时,接收来自跳板设备的环境变量参数。

在一种实施例中,所述操作指令管理装置还包括:

第四接收模块,用于接收来自操作终端的实名账号修改请求,所述实名账号修改请求携带修改后的实名账户标识;

标识比对模块,用于比对所述本地存储的实名账户标识、与所述修改后的实名账户标识;

响应返回模块,用于返回比对未通过时的实名账号修改失败响应,或者返回比对通过时的实名账号修改成功响应。

在一种实施例中,所述操作指令管理装置还包括:

第五接收模块,用于接收来自上级设备的环境变量参数;

第三解析模块,用于解析所述环境变量参数,得到所述实名账户标识;

存储模块,用于存储所述实名账户标识至第二业务服务器。

在一种实施例中,所述操作指令管理装置还包括:

确定模块,用于确定所述操作指令的危险类型;

标记模块,用于根据所述危险类型对审计数据进行标记。

在一种实施例中,所述操作指令管理装置还包括:

获取模块,用于获取所述实名账户标识对应的操作权限;

执行模块,用于执行满足所述操作权限的操作指令,或者拒绝执行不满足所述操作权限的操作指令。

同时,本申请还提供一种操作指令管理装置,所述操作指令管理装置包括:

第六接收模块,用于通过审计页面接收针对审计数据的选择指令;

请求生成模块,用于根据所述选择指令对应的选择参数生成审计请求;

第二发送模块,用于发送所述审计请求;

第七接收模块,用于接收基于所述审计请求返回的目标审计数据;审计数据根据绑定的操作指令和实名账户标识生成;

展示模块,用于在所述审计页面展示所述目标审计数据。

同时,本申请提供一种计算机设备,其包括处理器和存储器,存储器存储有多条指令,指令适于处理器进行加载,以执行上述方法中的步骤。

同时,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行上述方法中的步骤。

同时,本申请提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法中的步骤。

有益效果:本申请提供一种操作指令管理方法和装置,该方法通过绑定操作指令和实名账户标识,生成审计数据,然后通过解析审计请求,从审计数据中确定该审计请求对应的目标审计数据,最后向审计终端发送目标审计数据,以使得审计终端在审计页面展示目标审计数据。与当前技术相比较而言,使用这种方法进行操作指令审计时,由于审计数据包括各操作指令对应的实名信息可以进行实名追踪,方便安全人员审计和回溯,保证了云端数据的安全性和可靠性。

附图说明

下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。

图1是本申请实施例提供的云系统的组网示意图;

图2是本申请实施例提供的操作指令管理方法的第一种流程示意图;

图3是本申请实施例提供的操作指令管理方法的第二种流程示意图;

图4是本申请实施例提供的操作指令管理方法的第三种流程示意图;

图5是本申请实施例提供的操作指令管理方法的第四种流程示意图;

图6至图7是本申请实施例提供的审计页面的示意图;

图8是本申请实施例提供的第一种操作指令管理装置结构示意图;

图9是本申请实施例提供的第二种操作指令管理装置结构示意图;

图10是本申请实施例提供的计算机设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请实施例的描述中,需要理解的是,说明书和权利要求书以及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的实施例能够以除了在附图或者描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。

本申请实施例涉及的操作指令管理方法可以通过服务器实现,具体的可以通过云系统中的服务器实现,例如可以基于云技术进行审计数据的调度,保证审计数据的有效性和可靠性。

云技术(cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。在本申请中,云技术可以用于实现操作指令的管理,例如基于安全外壳协议(secureshell,ssh)和命令处理器(bourneagainshell,bash)将操作用户的实名信息和操作指令绑定,以实现审计过程中的实名追踪,保证云端数据的安全性和可靠性。

本申请实施例提供的操作指令管理方法可以通过云系统来执行,具体地,请参阅图1,图1为本申请实施例提供的云系统的组网示意图,该系统可以包括操作终端101、跳板设备102、第一业务服务器103、第二业务服务器104、审计服务器105以及审计终端106,其中:

终端以及服务器之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

操作终端101和审计终端106可以是智能手机、平板电脑、笔记本电脑等便携终端,也可以是台式计算机、查询机等固定终端,但并不限于此,操作终端101和审计终端106都是用户可以使用并操作的服务端口。操作终端101可以用于提供用户登录跳板设备102或者业务服务器的登录窗口,也可以用于提供输入操作指令的输入窗口,同时,还可以对云端数据进行下载、删除等操作;审计终端106主要用于查询、处理以及展示云端数据。

跳板设备102可以是跳板机,也可以是其他作为跳板批量操作远程设备的网络设备。其中,跳板机是系统管理员或者运维人员常用的操作平台之一。现在一定规模的互联网企业,往往都拥有大量云服务器,如何安全并高效的管理这些云服务器是每个系统运维人员的必要工作。对于云服务器的管理,一般都是采取通过终端连接到远程服务器的方式进行运维工作,但由于安全等因素,登录云服务器时需要先登录跳板设备102,因此需要搭建这样一个跳板设备环境作为线上云服务器的入口,所有云服务器只能通过跳板设备102进行登录访问。

第一业务服务器103和第二业务服务器104用于实现不同的功能。其中,以微信为例,第一业务服务器103主要用于实现账号管理,数据存储、查询、删除等大功能,以及作为上级设备对第二业务服务器104进行管理;第二业务服务器104主要用于实现联系人信息、聊天记录管理等具体的功能。

在本申请实施例中,跳板设备102、第一业务服务器103、第二业务服务器104以及审计服务器105可以分别是一个提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器,也可以是多个云服务器的组合。

在本申请实施例中,用户实名登录跳板设备102之后,无论是以实名还是以本地账号的方式登录业务服务器,均能将实名信息正确的带到业务服务器,并通过自研bash将实名信息和操作指令传给审计服务器105,经过处理后将由若干审计参数组成的审计数据展示在审计终端106提供的审计页面上。具体地,用户通过操作终端101登录跳板设备102,这一步一般是实名登录,登录形式为实名信息realname加请求令牌token;在跳板设备102登录成功之后,sshd接收来自操作终端101发出的实名信息realname,并通过自研bash读取实名信息realname,并将实名信息realname和操作指令进行绑定,随后传给审计服务器105,然后,通过自研ssh将携带实名信息realname的第一环境变量参数传给第一业务服务器103;第一业务服务器103中的sshd在接收到来自跳板设备102传送的第一环境变量参数后,通过自研bash读取第一环境变量参数中的实名信息realname,并将实名信息realname和操作指令进行绑定,然后传给审计服务器105,同时,通过自研ssh将实名信息realname写到第二环境变量参数real_name中,将该第二环境变量参数传给第二业务服务器104;第二业务服务器104中的sshd在接收到来自第一业务服务器103传送的第二环境变量参数后,通过自研bash读取第二环境变量参数中的实名信息realname,并绑定实名信息realname和操作指令,然后传给审计服务器105;审计服务器105接收来自各个服务器发送的实名信息和对应的操作指令,存储在本地数据库中,对其进行处理,并基于审计请求确定目标审计数据,然后将目标审计数据传给审计终端106;审计终端106接收并展示相应的目标审计数据,供安全运维人员或者审计管理员查看实名用户或者本地用户的登录日志以及操作指令日志,检查有无异常的操作指令。

在本申请实施例中,本地存储的实名账户标识,是利用环境变量参数进行存储的。具体地,先将实名账户标识写入环境变量参数中,然后将环境变量参数存储于本地的自研bash中。此外,存储于本地自研bash中的实名账户标识,只能通过本地的自研ssh进行读取。

在本申请实施例中,绑定所述操作指令和实名账户标识,生成审计数据的步骤是在接收到操作终端发出的操作指令之后,且在目标服务器执行该操作指令之前完成的。

在本申请实施例中,接收审计终端发出的审计请求和接收来自操作终端的操作指令这两个步骤没有时序关联,接收审计请求的步骤可以在接收操作指令的步骤之后,也可以在接收操作指令的步骤之前,还可以与接收操作指令的步骤同时进行。

在本申请实施例中,生成的审计数据可以直接发送到审计终端,并通过审计页面进行展示,审计页面会对页面中的审计数据进行实时更新,以使得安全运维人员或者审计管理员可以对审计数据进行实时动态审核。

在本申请实施例中,洋葱客户端可以应用于所述云系统的云服务器。云服务器通过安装洋葱客户端,将上报所有用户行为数据至洋葱服务端,并对用户行为进行分析、分类,同时针对对检测入侵行为链和对敏感操作进行有效监控、分析、告警。

在本申请实施例中,所述云系统可以通过接入铁将军系统,建立账号管理、权限管理以及运维审计体系对云服务器进行管理。其中,铁将军系统可以基于实名制用户通过动态口令进行登录的方式实现集中管理账户,可以基于sudo权限管理实现账号权限管理,还可以实现实名审计操作行为及操作指令的回溯。

需要说明的是,图1所示的云系统的组网示意图仅仅是一个示例,本申请实施例描述的服务器以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

结合上述云系统的组网,下面将对本申请中操作指令管理方法进行介绍,请参阅图2,图2为本申请实施例提供的操作指令管理方法的第一种流程图,如图2所示,本申请实施例提供的操作指令管理方法在服务器侧的体现至少包括以下步骤:

步骤201:接收来自操作终端的操作指令。

在本申请实施例中,操作指令包括ls(显示文件或目录)、-l(列出文件详细信息)、-a(列出当前目录下所有文件及目录,包括隐藏的文件及目录)、mkdir(创建目录)、cd(切换目录)、cat(查看文件内容)、cp(拷贝)、mv(移动或者重命名)、rm(删除文件)、find(在文件系统中搜索某文件)等,此处不再一一列举。用户可以通过操作终端,发送上述指令到对应的服务器,从而对服务器进行管理。

在本申请实施例中,操作指令都会存储到审计服务器中,最后生成审计数据并展示在审计终端,供安全运维人员或者审计管理员进行查看和管理。

步骤202:读取本地存储实名账户标识。

在本申请实施例中,由于用户在登录跳板设备时,需要使用实名账户登录,因此,在用户登录跳板设备后,跳板设备会存储用户的实名信息,所述实名账户标识即用户的实名信息,该实名信息会以环境变量参数的方式,传给业务服务器,并存储到业务服务器中,同时用户的实名信息也会通过跳板设备和业务服务器分别传到审计服务器中进行存储。

在本申请实施例中,实名账户标识即实名信息,可以理解为用户的代号,通过该代号可以唯一确定某个真实用户。

步骤203:绑定操作指令和实名账户标识,生成审计数据。

在本申请实施例中,所述绑定指的是:用户通过操作终端采用实名账户登录跳板设备,登录成功之后,用户通过操作终端发出操作指令到业务服务器,对业务服务器进行相应的操作,这一过程中的实名账户标识和操作指令是对应的,即每一条操作指令都能对应到其操作的真实用户。可选地,可以将操作指令和对应的实名账户标识写在一条数据中进行存储。

在本申请实施例中,审计数据主要是由操作指令、登录账户标识和实名标识、机器ip、登录时间、登录类型、操作时间、是否为高危指令、状态、操作等审计参数组成的。

在本申请实施例中,出于非法考虑,用户可能通过操作终端向服务器发出修改实名账号的请求。例如,操作终端想要将实名账号改为pamelayuan1,因此会向服务器发出修改实名账号为pamelayuan1的请求,服务器接收到该修改请求,通过解析该修改请求,得到用户想要修改的实名账号为pamelayuan1,同时,服务器通过本地自研ssh读取到本地自研bash中存储的环境变量参数,得到本地存储的实名账号为pamelayuan,然后将pamelayuan和pamelayuan1这两个账号进行对比,对比发现用户想要修改的实名账号与本地存储的实名账号不一致,因此比对不通过,此时服务器会生成一个实名账号修改失败的响应,并将该响应返回到操作终端,操作终端可能会以弹窗等的形式将实名账号修改失败的信息展现出来。又例如,操作终端想要将实名账号改为pamelayuan,服务器本地存储的实名账号为pamelayuan,通过将两个实名账号进行比对,发现两个账号一致,因此比对通过,此时服务器会生成一个实名账号修改成功的响应,并将该响应返回到操作终端,同样的,操作终端可能会以弹窗等的形式将实名账号修改成功的信息展现出来。

步骤204:在接收到审计终端的审计请求时,解析审计请求以从审计数据中确定审计请求对应的目标审计数据。

在本申请实施例中,审计终端会向审计服务器发出审计请求,所述审计请求包括对登录账户、机器ip、操作指令、处理状态等审计参数的审计。具体地,可以请求审计使用某个登录账户如本地账户root、scan,又如实名账户pamelayuan的操作及相关数据;也可以请求审计对某台服务器,如对ip为127.0.0.1的服务器进行的操作及相关数据;也可以请求审计用户发出某条操作指令,如操作指令为“ls”等的相关数据;还可以请求审计某种处理状态如未处理状态或者已处理状态下的相关数据等。

在本申请实施例中,通过对审计请求进行解析,从而生成对应的目标审计数据。具体地,可以通过取报头等方式对请求进行解析,而审计请求可以是基于审计参数如登录账户为“root”提出的,或者是基于审计参数如服务器ip为“127.0.0.1”提出的,或者是基于审计参数如操作指令为“ls”提出,或者是基于审计参数如状态为“未处理”提出的,也可以是同时基于两个审计参数如登录账户为“root”、机器ip为“127.0.0.1”提出的,还可以是同时基于三个审计参数如登录账户为“root”、机器ip为“127.0.0.1”、操作指令为“ls”提出的,还可以是同时基于四个审计参数如登录账户为“root”、机器ip为“127.0.0.1”、操作指令为“ls”、状态为“未处理”提出的,等,在此不再一一列举。总之,审计请求可以是基于某个审计参数,也可以是同时基于多个审计参数的提出的。

步骤205:向审计终端发送目标审计数据,以使得审计终端在审计页面展示目标审计数据。

在本申请实施例中,审计服务器根据审计请求在审计数据中确定对应的目标审计数据,最后将所有目标审计数据展示在审计页面中,通过列表的形式将目标审计数据展示在审计页面中,便于安全运维人员或者审计管理员进行查看和管理。

请参阅图3,图3是本申请实施例提供的操作指令管理方法的第二种流程示意图,如图3所示,本申请实施例提供的操作指令管理方法在审计终端侧的体现至少包括以下步骤:

步骤301:通过审计页面接收针对审计数据的选择指令。

在本申请实施例中,审计数据主要由机器ip、登录时间、登录类型、登录账户、实名账户、操作时间、操作指令、状态等审计参数组成,审计页面提供了例如登录账户、机器ip、操作指令、处理状态等选择参数的选择框或者输入框,用户可以通过审计页面,选择或者输入想要查询的选择参数生成相应的选择指令,审计页面会通过有线或者无线传输的方式将该选择指令传到审计终端,最后再由审计终端将该选择指令传到审计服务器中进行处理。

步骤302:根据选择指令对应的选择参数生成审计请求。

在本申请实施例中,审计终端接收到由审计页面生成的选择指令后,根据选择指令的选择参数生成审计请求。具体地,选择指令是用户基于例如登录账户、机器ip、操作指令、处理状态等选择参数得到的,一个选择指令可以包含一个选择参数,也可以同时包含多个选择参数,对应的,基于所述选择指令生成的审计请求可以请求审计一个选择参数,也可以同时请求审计多个选择参数。

步骤303:发送审计请求。

在本申请实施例中,审计终端将生成的审计请求发送至审计服务器中。其发送过程依赖的通信方式可以是有线通信,也可以是无线通信,在此不作限定。

步骤304:接收基于所述审计请求返回的目标审计数据;审计数据根据绑定的操作指令和实名账户标识生成。

在本申请实施例中,审计服务器根据接收到的审计请求,对该审计请求进行解析,根据解析到的选择参数,在数据库的审计数据中匹配与选择参数相关的数据,作为目标审计数据,然后将目标审计数据发送至审计终端。

在本申请实施例中,若审计请求由登录账户为“root”的选择参数组成,则审计服务器会匹配到所有登录账户为“root”的审计数据;若审计请求由登录账户为“root”、机器ip为“127.0.0.1”的选择参数组成,则审计服务器会匹配到登录账户为“root”,且对ip为“127.0.0.1”的业务服务器进行操作的审计数据。需要理解的是,审计请求还可以由其他选择参数组成,选择参数越多,即审计请求越具体,匹配到的目标审计数据也就越精确,在此不再一一举例。

步骤305:在审计页面展示目标审计数据。

在本申请实施例中,为了较为详细的向安全运维人员或者审计管理员展示审计数据,审计终端设有审计页面,审计终端将通过上述方式得到的目标审计数据展示在审计页面中,供用户更直观的查看,方便管理。

具体地,当用户使用本地账号登录业务服务器时,请参阅图4,图4是本申请实施例提供的操作指令管理方法的第三种流程示意图,该方法至少包括以下步骤:

步骤401:用户通过操作终端101登录跳板设备102。

在一种实施例中,用户通过操作终端101登录跳板设备102通常采用ssh登录软件。具体地,ssh登录软件是在管理和配置linux服务器用到很多的软件,常用来远程登录系统和远程执行命令行。常见的ssh登录软件有xshell、termius、putty等,其中,xshell是国内比较流行的ssh管理软件,和其他的ssh软件相比,xshell更加注重用户体验的一些东西,比如其现代化的界面,多种语言包括简体中文支持,代码高亮等;termius是一款全平台的ssh软件,该软件最大的特点就是支持全部平台,包括windows、mac、linux、ios、android等,有了移动设备支持,只要有网络,就可以在任何时间任何地点管理服务器;putty是一款开源免费的ssh软件,支持scp,ssh,telnet,rlogin等多种网络协议,该软件的特点非常小巧,大小只有1m左右,在此不对使用具体哪一款ssh软件进行限制。

步骤402:跳板设备102接收来自操作终端的登录请求,其登录请求携带实名信息realname和令牌token。

在一种实施例中,用户通过操作终端101登录跳板设备102,操作终端101会存储登录请求中的realname和token,比如存放在操作终端上的数据(cookie)里或者本地存储(localstorage)里,然后将其发送至跳板设备102中,跳板设备102接收该携带实名信息realname和令牌token的登录请求。

步骤403:跳板设备102对其接收到的登录请求进行验证。

在一种实施例中,使用操作终端101的ssh登录软件登录服务器有两种级别的验证方法。其中,一种是基于口令的安全验证,只要用户知道自己的账号和口令,就可以登录到远程主机,所有传输的数据都会被加密。

在一种实施例中,跳板设备102验证登录请求的目的是校验用户realname的身份,其校验方式可以是校验静态密码,使用这种校验方式,服务器需要频繁的去数据库查询用户名和密码并进行对比,从而判断用户名和密码正确与否。

可选地,在一种实施例中,还可以使用令牌token进行身份校验,这种方法不需要在服务器中存储用户的登录记录。具体地,令牌token,一般显示为6位动态数字,其可以在30秒、1分钟、或者2分钟等时间内变化一次,用于敏感操作时身份的校验,此外,令牌还可以分为软件令牌和硬件令牌。使用令牌token进行身份校验可以减轻服务器的压力,减少查询数据库的频率,从而使得服务器更加健壮。

可选地,在一种实施例中,当用户使用操作终端101向跳板设备102请求资源的时候可以带着令牌token,跳板设备102收到请求后,会对令牌token进行校验,如果校验成功,则允许该用户登录访问跳板设备102。

步骤404:跳板设备102存储realname,并生成登录票据ticket。

在一种实施例中,在跳板设备102登录成功之后,跳板设备102会存储用户的实名信息realname以及跳板设备102签发的登录票据ticket。具体地,所述登录票据ticket,是适用范围最广的一种单点登录(singlesignon,sso)的实现方式,也就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理。

在一种实施例中,登录票据ticket可以理解为,用户下次通过跳板设备登录服务器时,可以用这个登录票据ticket来校验身份,主要是用于本申请登录系统中的免密登录。

步骤405:用户通过操作终端101登录业务服务器。

在一种实施例中,在跳板设备102登录成功之后,跳板设备102可以向操作终端101返回登录业务服务器的页面数据,在操作终端侧体现为弹出登录业务服务器的页面,用户可以通过操作终端101,在此页面输入或者选择相应的信息登录业务服务器,可选地,用户可以通过在本地账号选择列表中选择相应的本地账号进行登录。

在一种实施例中,登录第一业务服务器103的方式有两种,一种是实名账号登录,另一种是本地账号登录。具体地,所述登录业务服务器的页面包括本地账号登录和实名账号登录的选择框,还包括登录信息的输入框。相应地,登录后会生成登录账户标识,即登录账号信息,该登录账户标识包括本地账户标识和实名账户标识,所述本地账户标识即本地账户信息,实名账户标识即实名账户信息。

在一种实施例中,登录第一业务服务器103有两种级别的远程登录,其中,一种是口令登录,口令登录非常简单,只需要一条命令,命令格式为:ssh客户端用户名@服务器ip地址。使用本地账号登录时,需要在操作终端101登录第一业务服务器103的登录页面选择本地账号登录,在登录输入框输入sshlocal@a.ip,其中,sshlocal@a.ip中的local即本地账户的账户名,例如root、scan等;sshlocal@a.ip中的a.ip指代的是第一业务服务器的ip地址。例如,账号可以为sshroot@127.0.0.1。

步骤406:第一业务服务器103判断登录账户的权限。

在一种实施例中,第一业务服务器103接收到登录请求后,会对登录账户标识进行解析,得到相应的本地账户标识,并存储于本地数据库中。

在一种实施例中,使用操作终端101的ssh登录软件登录业务服务器有两种级别的登录权限验证方法。其中,一种是基于口令的安全验证,只要用户知道自己的账号和口令,就可以登录到远程服务器。

在一种实施例中,用户通过操作终端101成功登录第一业务服务器103之后,需要对本地账号例如“root”进行权限判断,从而决定能否使用所述本地账号“root”对第一业务服务器103进行操作或者是决定所述本地账号“root”对于第一业务服务器103的操作范围。一般情况下,权限管理要明确用户、角色、权限三个概念,其中,用户是登录平台的人,对应此处的本地账号;角色是一个或多个用户的集合;权限是可操作范围的集合。一般地,一个用户可以属于一个或者多个角色,一个角色关联了一组可操作范围,也就是权限。

在一种实施例中,通过第一业务服务器103对登录的本地账号“root”进行权限判断,该本地账号“root”具有删除、更新第一业务服务器中数据的等权限,则允许执行对应的删除、更新等操作指令从而对第一业务服务器103进行操作。

步骤407:第一业务服务器103对登录账户进行权限验证完成后,返回权限验证完成的信号给跳板设备102,跳板设备102在接收到验证完成的信号后,读取实名信息realname,并将携带realname的第一环境变量参数以及登录密码发送至第一业务服务器103。

在一种实施例中,用户通过本地账号local加密码的方式成功访问第一业务服务器103;跳板设备102在接收到本地账号具有登录、管理第一业务服务器103的权限信号后,读取跳板设备102中本地存储的实名信息realname,然后将实名信息realname写进第一环境变量参数中,再通过ssh将携带实名信息realname的第一环境变量参数发送至第一业务服务器103的sshd进程中,同时发送本地账号的登录密码至第一业务服务器103。

在一种实施例中,当linux主机中开启安全外壳协议的免费开源服务(openssh),那么就相当于对外开放了远程连接的接口,此时,ssh为openssh服务的客户端,sshd为openssh服务的服务端。

步骤408:第一业务服务器103读取第一环境变量参数中的realname并存储,发送携带实名信息realname的第二环境变量参数至第二业务服务器104。

在一种实施例中,为了接收跳板设备102传送的第一环境变量参数,第一业务服务器103需要使用acceptenv配置接收环境变量参数real_name,具体地,在/etc/ssh/sshd_config中,有一个名为acceptenv的选项,其功能是允许ssh客户端发送环境变量参数,所述accptenv选项只支持sshv2协议;通过设置第一业务服务器103的接收环境变量参数,第一业务服务器103中的sshd就可以接收到由跳板设备102发出的携带实名信息realname的环境变量参数。

在一种实施例中,上述sshd不需要重新开发,只需要修改配置以允许ssh客户端发送环境变量参数,在/etc/ssh/sshd_config中,有一个名为acceptenv的选项,意思为指定客户端发送的哪些环境变量参数将会被传递到会话环境中,同时sshd中的环境变量参数会存储用户的实名信息(realname)。这种方式不需要修改和重启服务器的sshd,操作便捷而且风险小。

在一种实施例中,第一业务服务器103会对接收到跳板设备102发送的密码进行校验,校验通过后,第一业务服务器103中自研bash会读取存储于sshd进程中的第一环境变量参数real_name,并存储,与此同时,也会存储基于第一环境变量参数的实名信息realname至第一业务服务器的自研bash中。由于用户在下一次登录服务器时,有可能使用其他的实名账号,因此会重新设定新的环境变量参数,linux系统中的环境变量参数在被重新设定时,就会将上一次登录时设定的环境变量参数覆盖,导致环境变量参数所携带的实名信息被篡改。但是,将实名信息以环境变量参数的方式存储在服务器的自研bash中,即使使用其他的实名账号登录服务器,也不会改变自研bash中的环境变量参数,因为重新设定的环境变量参数是linux系统中的,而不是服务器自研bash中的。此外,读取服务器自研bash中的环境变量参数,只能通过服务器的自研ssh进行,因此将环境变量参数存储于自研bash中,可以有效地防止用户登录后篡改环境变量参数,从而得到错误的数据。

在一种实施例中,第一业务服务器103会通过自研ssh将用户的实名信息realname写到第二环境变量参数real_name中,然后将第二环境变量参数发送至第二业务服务器104的sshd进程中。

需要理解的是,自研ssh还能用于从自研bash中读取环境变量参数。

步骤409:第二业务服务器104接收由第一业务服务器103发送的第二环境变量参数,并读取该第二环境变量参数中的实名信息realname,将实名信息realname存储于本地。

在一种实施例中,第二业务服务器104接收到第一业务服务器103发出的登录请求,会对该登录请求进行验证,在验证通过后,才能接收由第一业务服务器103发出的数据。在此过程中,第一业务服务器103作为第二业务服务器104的上级设备,在云系统中,第二业务服务器104只能通过上级设备接收信息。

在一种实施例中,第二业务服务器104只能从第一业务服务器103中获取数据,第二业务服务器104中的sshd在接收到来自第一业务服务器103传送的第二环境变量参数后,通过自研bash读取该第二环境变量参数中的实名信息realname,然后将该实名信息realname以环境变量参数的形式存储于第二业务服务器的自研bash中,防止用户登录后篡改环境变量参数,从而得到错误的数据。

步骤410:用户通过操作终端101输入操作指令,并发送至跳板设备102。

在一种实施例中,用户输入操作指令的步骤是在操作终端101上完成的,操作终端101可以提供操作指令输入界面,方便安全人员对服务器进行管理和操作。在输入操作指令后,操作终端101会将该操作指令发送至跳板设备102中。

步骤411至步骤413:跳板设备102、第一业务服务器103以及第二业务服务器104分别接收到由上级设备发送的操作指令后,将该操作指令和存储于本地的实名信息进行绑定,并分别将绑定后的数据发送至审计服务器105中。

在一种实施例中,操作终端101将用户输入的操作指令传给跳板设备102、跳板设备102将操作指令传给第一业务服务器103,以及第一业务服务器103将操作指令传给第二业务服务器104的过程,和跳板设备102、第一业务服务器103以及第二业务服务器104将绑定后的数据传送给审计服务器105的过程,可以每条都实时传送,也可以当某一种类型的操作指令达到一定的条目比如100条时进行传送,在此不对传输的具体实施方式进行限定。

步骤414:审计服务器105存储由跳板设备102、第一业务服务器103以及第二业务服务器104传送的绑定后的数据到本地数据库中,并对高危的操作指令进行标记。

在一种实施例中,数据库可视为电子化的文件柜,即一种存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

在一种实施例中,高危的操作指令包括:“rm–rfcommand”,该指令在linux系统中可以快速删除文件夹及其内容,执行可能导致不可恢复的系统崩坏;“command>/dev/sda”,这个指令会将某个“指令”的输出写到块设备/dev/sda中,该操作会将在块设备中的所有数据块替换为指令写入的原始数据,从而导致整个块设备的数据丢失;“mvfile/dev/null”,这个指令会移动某个“文件夹”到/dev/null,在linux中/dev/null或null设备是一个特殊的文件,所有写入它的数据都会被清除,还有一些高危指令在此不再一一列出。

在一种实施例中,对高危指令进行标记的方式有多种。可以使用xml进行标记,xml标记形式是最早的通用信息标记语言,扩展性好,但繁琐,常用于internet上的信息交互与传递中。

步骤415:审计终端106生成审计请求,并向审计服务器105发送该审计请求。

在一种实施例中,安全运维人员或者审计管理员等用户可以在审计页面中输入或者选择基于登录账户、机器ip、操作指令以及状态等一个或者多个选择参数,审计页面基于这些选择参数生成了选择指令,审计终端基于这些选择指令生成了对应的审计请求,然后将审计请求以有线或者无线传输的方式发送至审计服务器105。

在一种实施例中,用户在审计页面输入或者选择了登录账户为“root”、且机器ip为“127.0.0.1”的选择参数,审计终端基于这两个审计参数生成了审计请求,并发送到审计服务器中,要求审计服务器匹配与登录账户为“root”、且机器ip为“127.0.0.1”相关的审计数据。

步骤416:审计服务器105接收到由审计终端发送来的审计请求,然后解析该审计请求,从而确定对应的目标审计数据。

在一种实施例中,审计服务器105可以通过取报头等方式解析审计请求所要传达的信息。

在一种实施例中,审计请求要求审计登录账户为“root”的审计数据,则审计服务器105将在数据库中匹配到所有登录账户为“root”的审计数据,将其确定为目标审计数据发送至审计终端106。

在一种实施例中,审计请求要求审计登录账户为“scan”,机器ip为“127.0.0.2”的审计数据,则审计服务器105将在数据库中匹配到所有登录账户为“scan”,同时机器ip为“127.0.0.2”的审计数据,并将其确定为目标审计数据发送至审计终端106。

在一种实施例中,审计请求要求审计登录账户为“root”,机器ip为“127.0.0.1”,且操作指令为“cd/data/”的审计数据,则审计服务器105将在数据库中匹配到所有登录账户为“root”,同时机器ip为“127.0.0.1”,并且操作指令为“cd/data/”的审计数据,然后将其作为目标审计数据发送至审计终端106。

在一种实施例中,审计请求可以是基于一项选择参数的,也可以是基于多项选择参数的,审计服务器105会基于该审计请求匹配满足选择参数的审计数据,若有多项选择参数,则是匹配同时满足多项选择参数的审计数据作为目标审计数据,在此不再一一举例。

步骤417:审计终端106接收来自审计服务器105的目标审计数据,并将其展示在审计页面中。

在一种实施例中,审计页面涉及的内容可以包括机器ip、登录时间、登录类型、登录账户、实名账户、操作时间、操作指令、是否高位指令、状态、操作等审计参数。审计页面可以通过列表的方式对所述目标审计数据进行展示,通过这种直观的展示,方便安全运维人员或者审计管理员管理操作指令。

在一种实施例中,审计页面可以仅展示机器ip为“127.0.0.1”的审计数据,具体地,审计数据中,仅要求机器ip为“127.0.0.1”,对其他审计参数不作要求。

当用户使用实名账号登录业务服务器时,请参阅图5,图5是本申请实施例提供的操作指令管理方法的第四种流程示意图,该方法至少包括以下步骤:

步骤501:用户通过操作终端101登录跳板设备102。

在一种实施例中,用户通过操作终端101登录跳板设备102通常采用ssh登录软件。例如mobaxterm、finalshell等,具体地,mobaxterm是一种非常强大的终端增强工具,除了支持基本的ssh终端管理外,还有非常多的增强和扩展功能,支持ssh、telent、ftp、sftp等多种协议,让其不管是linux、windows还是vnc等,都可以在一个软件中进行操作管理,配合内置的sftp文件管理和mobatexteditor,可以让终端文件管理更加便捷;finalshell是一款支持windows、linux和macos等系统的远程连接工具,不仅可以在远程窗口上执行命令,还可以实时监测到系统的消耗,比如cpu、内存、网络等资源的使用量,还可以像在ftp软件中那样传输文件,支持右键上传下载,支持鼠标拖拽文件上传到服务器,省去了很多命令行的繁琐步骤,在此不对具体使用的ssh登录软件进行限制。

步骤502:跳板设备102接收来自操作终端的登录请求,其登录请求携带实名信息realname和令牌token。

在一种实施例中,用户通过操作终端101中的ssh登录软件登录跳板设备,采用实名账号的方式登录,用户在操作终端101的登录界面输入实名账号,可选的,会向跳板设备102发送令牌token。

在一种实施例中,操作终端101会存储实名信息realname和令牌token在数据(cookie)里或者本地存储(localstorage)里,然后将其发送至跳板设备102中,跳板设备102接收该携带实名信息realname和令牌token的登录请求。

步骤503:跳板设备102对其接收到的登录请求进行验证。

在一种实施例中,跳板设备102验证登录请求的目的是校验用户realname的身份,其校验方式可以是校验动态密码,这种密码校验的方式需要服务器频繁的访问数据库,将用户的账号和密码进行比对。可选地,还可以使用令牌token进行身份校验,在此不对校验的方式进行限定。

在一种实施例中,令牌token一般显示为6位动态数字,其可以在30秒、1分钟、或者2分钟等时间内变化一次,用于敏感操作时身份的校验,此外,令牌还可以分为软件令牌和硬件令牌。使用令牌token进行身份校验可以减少服务器向数据库查询的频率,从而减轻服务器的压力,使得服务器更加健壮。

步骤504:跳板设备102存储realname,并生成登录票据ticket。

在一种实施例中,用户使用操作终端101成功登录跳板设备102,跳板设备102会将登陆账户使用的实名信息realname存储于本地数据库中,并基于该登录账户签发一个登录票据ticket,用于用户下次实名登录跳板设备102时的身份验证。

需要理解的是,登录票据ticket可以视为跳板设备102签发给操作终端101的登录票据,要求操作终端101请求登录跳板设备102时,出示该登录票据ticket即可。在实际应用中tcp协议的syncookie机制就是这么做的,这样可以防止tcp半连接攻击,另外tls协议的ticketsession机制也是如此。

步骤505:用户通过操作终端101登录业务服务器。

在一种实施例中,在跳板设备102登录成功之后,跳板设备102会向操作终端101返回登录业务服务器的页面数据,此时操作终端101会弹出一个登录业务服务器的页面,用户可以通过操作终端101,在此页面输入或者选择相应的信息登录业务服务器。

在一种实施例中,登录第一业务服务器103的方式有两种,一种是实名账号登录,另一种是本地账号登录。具体地,所述登录业务服务器的页面包括本地账号登录和实名账号登录的选择框,还包括登录信息的输入框。相应地,登录后会生成登录账户标识,即登录账号信息,该登录账户标识包括本地账户标识和实名账户标识,所述本地账户标识即本地账户信息,实名账户标识即实名账户信息。

在一种实施例中,登录第一业务服务器103有两种级别的远程登录,其中,一种是口令登录,口令登录非常简单,只需要一条命令,命令格式为:ssh客户端用户名@服务器ip地址。使用实名账号登录时,需要在操作终端101登录第一业务服务器103的登录页面选择实名账号登录,然后在登录输入框输入sshrealname@a.ip,其中realname即实名账户的账户名,例如zhangsan、lisi等;a.ip指代的是第一业务服务器的ip地址。例如,账号可以为sshzhangsna@127.0.0.2。

步骤506:第一业务服务器103判断登录账户对应的操作权限。

在一种实施例中,第一业务服务器103接收到登录请求后,会对登录账户标识进行解析,得到相应实名账户标识,并存储于本地数据库中。

在一种实施例中,使用操作终端101的ssh登录软件登录业务服务器有两种级别的登录权限验证方法。其中,一种是基于密钥的安全验证,用户必须为自己创建一对密钥,并把公钥放在需要访问的服务器上,先在该服务器上的主目录下寻找公钥,然后把它和用户发送的公钥进行比较。如果两个密钥一致,服务器就用公钥加密“质询(challenge)”并把它发送给操作终端的软件。操作终端的软件收到“质询”之后就可以使用用户的私钥在本地解密再把它发送给服务器完成登录。这种登录权限的验证方式不仅加密所有传输的数据,也不需要在网络上传送口令,因此安全性更高,可以有效防止中间人攻击。

在一种实施例中,用户通过操作终端101成功登录第一业务服务器103之后,需要对实名账号例如“pamelayuan”进行权限判断,从而决定能否使用所述实名账号“pamelayuan”对第一业务服务器103进行操作或者是决定所述实名账号“pamelayuan”对于第一业务服务器103的操作范围。一般情况下,权限管理要明确用户、角色、权限三个概念,其中,用户是登录平台的人,对应此处的本地账号;角色是一个或多个用户的集合;权限是可操作范围的集合。一般地,一个用户可以属于一个或者多个角色,一个角色关联了一组可操作范围,也就是权限。

在一种实施例中,通过第一业务服务器103对登录的实名账号“zhangsan”进行权限判断,该实名账号“zhangsan”具有查询、增加第一业务服务器中数据的等权限,则允许执行对应的查询、增加等操作指令从而对第二业务服务器104进行操作。

步骤507:第一业务服务器103对登录账户进行权限验证完成后,返回权限验证完成的信号给跳板设备102,跳板设备102读取实名信息realname,并将携带realname的第一环境变量参数以及登录票据ticket发送至第一业务服务器103。

在一种实施例中,用户通过实名账号realname加登录票据ticket的方式成功登录到第一业务服务器103中;跳板设备102在接收到实名账号具有登录、管理第一业务服务器103的权限信号后,读取跳板设备102中本地存储的实名信息realname,然后将实名信息realname写进第一环境变量参数中,再通过ssh将携带实名信息realname的第一环境变量参数发送至第一业务服务器103的sshd进程中,同时发送本地账号的登录密码至第一业务服务器103。

需要理解的是,上述ssh和sshd可以分别视为安全外壳协议的免费开源服务(openssh)的客户端和服务端。

在一种实施例中,采用实名账号登录第一业务服务器103的用户不需要输入密码,只需要通过使用登录票据ticket就可以访问第一业务服务器103,登录票据ticket相当于入场门票,向第一业务服务器103出示该门票,核验通过,就能进入会场。

步骤508:第一业务服务器103读取第一环境变量参数中的realname并存储,发送携带实名信息realname的第二环境变量参数至第二业务服务器104。

在一种实施例中,第一业务服务器103会对接收到跳板设备102发送的登录票据ticket进行校验,校验通过后,第一业务服务器103中自研bash会读取存储于sshd中的环境变量参数real_name,并存储,与此同时,也会存储基于第一环境变量参数的实名信息realname至第一业务服务器的自研bash中,防止用户登录后篡改环境变量参数,从而得到错误的数据。

在一种实施例中,第一业务服务器103会通过自研ssh将用户的实名信息realname写到第二环境变量参数real_name中,然后将第二环境变量参数发送至第二业务服务器104的sshd进程中,并由第二业务服务器中的自研bash进行存储。

需要理解的是,自研ssh还能用于从自研bash中读取环境变量参数。

步骤509:第二业务服务器104接收由第一业务服务器103发送的第二环境变量参数,并读取该第二环境变量参数中的实名信息realname,将实名信息realname存储于本地。

在一种实施例中,第一业务服务器103可以作为第二业务服务器104的上级设备,用户要想访问第二业务服务器104必须通过第一业务服务器103,因此第二业务服务器104需要对第一业务服务器103发出的请求进行验证,验证通过后,才能接收请求携带的信息。

在一种实施例中,第二业务服务器104中的sshd在接收到来自第一业务服务器103传送的第二环境变量参数后,通过自研bash读取该第二环境变量参数中的实名信息realname,然后将该实名信息realname存储于第二业务服务器的自研bash中。由于用户在下一次登录服务器时,有可能使用其他的实名账号,因此会重新设定新的环境变量参数,linux系统中的环境变量参数在被重新设定时,就会将上一次登录时设定的环境变量参数覆盖,导致环境变量参数所携带的实名信息被篡改。但是,将实名信息以环境变量参数的方式存储在服务器的自研bash中,即使使用其他的实名账号登录服务器,也不会改变自研bash中的环境变量参数,因为重新设定的环境变量参数是linux系统中的,而不是服务器自研bash中的。此外,读取服务器自研bash中的环境变量参数,只能通过服务器的自研ssh进行,因此将环境变量参数存储于自研bash中,可以有效地防止用户登录后篡改环境变量参数,从而得到错误的数据。

步骤510:用户操作终端101输入操作指令,并发送至跳板设备102。

在一种实施例中,操作终端101可以提供操作指令输入界面,安全人员可以通过在界面中输入相应的操作指令对服务器进行管理和操作。在输入操作指令后,操作终端101会将该操作指令发送至跳板设备102,使得操作指令能对通过跳板设备传至其下级设备中。

步骤511至步骤513:跳板设备102接收到由操作终端101发送的操作指令、第一业务服务器103接收到由跳板设备102发送的操作指令,以及第二业务服务器104接收到由第一业务服务器103发送的操作指令后,将该操作指令和存储于本地的实名信息进行绑定,并分别将绑定后的数据发送至审计服务器105中。

在一种实施例中,操作终端101将用户输入的操作指令传给跳板设备102、跳板设备102将操作指令传给第一业务服务器103,以及第一业务服务器103将操作指令传给第二业务服务器104的过程,和跳板设备102、第一业务服务器103以及第二业务服务器104将绑定后的数据传送给审计服务器105的过程,可以当传送过程累计到一定的时间比如10分钟再传送,在此不对传输的具体实施方式进行限定。

在一种实施例中,绑定可以是将操作指令和对应的实施者,即用户的账号信息写在同一条数据中进行存储等。

步骤514:审计服务器105存储由跳板设备102、第一业务服务器103以及第二业务服务器104传送的绑定后的数据到本地数据库中,并对高危的操作指令进行标记。

在一种实施例中,数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

在一种实施例中,高危的操作指令包括:“:(){:|:&};:command”,该指令就是个fork炸弹的实例,具体操作是通过定义一个名为‘:’的函数,它会调用自己两次,一次运行在前台,另一次运行在后台,它会反复的执行下去直到系统崩溃;“>file”,该命令常用来清空文件内容或记录命令输出,如果用执行时输入错误或无知的输入类似“>xt.conf”的命令会覆盖配置文件或其他任何的系统配置文件;“ddif=/dev/randomof=/dev/sda”,该命令会向块设备sda写入随机的垃圾文件从而擦出数据,可能让系统陷入混乱和不可恢复的状态,还有一些高危指令在此不再一一列出。

在一种实施例中,对标记指令的方式有多种。可以使用json进行标记,josn标记形式适合程序处理,比xml简洁,但没有注释,常用于移动应用云端和节点的信息通信;还可以使用yaml进行标记,yaml标记形式文本信息比例最高,可读性好,而且有注释易读,常用于各类系统的配置文件。

步骤515:审计终端106生成审计请求,并向审计服务器105发送该审计请求。

在一种实施例中,安全运维人员或者审计管理员等用户可以在审计页面中输入或者选择基于登录账户、机器ip、操作指令以及状态等一个或者多个选择参数,审计页面基于这些选择参数生成了选择指令,审计终端基于这些选择指令生成了对应的审计请求,然后将审计请求以有线或者无线传输的方式发送至审计服务器105。

在一种实施例中,用户在审计页面输入或者选择了登录账户为“pamelayuan”、且状态为“未处理”的选择参数,审计终端基于这两个选择参数的选择指令生成了审计请求,并发送到审计服务器105中,要求审计服务器105匹配与登录账户为“pamelayuan”、且状态为“未处理”相关的审计数据。

步骤516:审计服务器105接收到由审计终端发送来的审计请求,然后解析该审计请求,从而确定对应的目标审计数据。

在一种实施例中,审计服务器105解析请求的方式可以使用json解析、xml解析等。具体地,json是一种传递对象的语法,对象可以是name/value对,数组和其他对象。前后台传输的时候其实是字符串,解析是把字符串重新变成json类型的对象,这样就能对里面的各种类型的属性或对象作操作了;xml是一种数据格式,每一种数据格式都需要一个解析器将其中的信息解析出来,xml中可以用sax或者dom来构建这种解析器。

在一种实施例中,审计请求要求审计登录账户为“pamelayuan”的审计数据,则审计服务器105将在数据库中匹配到所有登录账户为“pamelayuan”的审计数据,将其确定为目标审计数据发送至审计终端106。

在一种实施例中,审计请求要求审计登录账户为“pamelayuan”,机器ip为“127.0.0.1”的审计数据,则审计服务器105将在数据库中匹配到所有登录账户为“pamelayuan”,同时机器ip为“127.0.0.2”的审计数据,并将其确定为目标审计数据发送至审计终端106。

在一种实施例中,审计请求要求审计登录账户为“pamelayuan”,机器ip为“127.0.0.1”,且操作指令为“ls”的审计数据,则审计服务器105将在数据库中匹配到所有登录账户为“pamelayuan”,同时机器ip为“127.0.0.1”,并且操作指令为“ls”的审计数据,然后将其作为目标审计数据发送至审计终端106。

在一种实施例中,审计请求可以是基于一项选择参数的,也可以是基于多项选择参数的,审计服务器105会基于该审计请求匹配满足选择参数的审计数据,若有多项选择参数,则是匹配同时满足多项选择参数的审计数据作为目标审计数据,在此不再一一举例。

步骤517:审计终端106接收来自审计服务器105的目标审计数据,并将其展示在审计页面中。

在一种实施例中,审计页面涉及的内容可以包括机器ip、登录时间、登录类型、登录账户、实名账户、操作时间、操作指令、是否高位指令、状态、操作等审计参数。审计页面可以通过列表的方式对所述目标审计数据进行展示,通过这种直观的展示,方便安全运维人员或者审计管理员管理操作指令。

在一种实施例中,审计页面可以仅展示登录账号为“pamelayuan”的审计数据,具体地,审计数据中,仅要求登录账号为“pamelayuan”,对其他参数不作要求。因此,审计请求要求的审计参数越多,审计页面展示的审计数据也就越具体,范围也越小。

需要理解的是,在本申请中,上述bash为命令处理器(bourneagainshell)的缩写,通常运行于文本窗口中,并且能执行用户直接输入的指令。bash还能从文件中读取指令,这样的文件称为脚本。bash是大多数linux系统的缺省shell,而shell是用户和linux之间的接口程序,用户在提示符下输入的每个指令都由shell先解释然后传给linux内核。

上述ssh为安全外壳协议(secureshell)的缩写,是一种建立在应用层基础上,专为远程登录会话和其他网络服务提供安全性的安全协议,也是目前远程管理linux系统最首选的方式。因为传统的文件传输协议(filetransferprotocol,ftp)或者终端仿真协议(telnet协议)是不安全的,它们会把账号口令和数据资料等数据在网络中以明文的形式进行传送,这种数据传输方式很容易受到黑客“中间人”的攻击,轻则篡改了传输的数据信息,重则直接抓取到了服务器的账号密码,因此利用ssh协议可以有效防止远程管理过程中的信息泄露问题。

上述sshd是基于ssh协议开发的一款远程管理服务程序。不仅用起来方便快捷,而且能提供两种安全验证的方法:一种是基于口令的安全验证,指的就是用账号和密码验证登录,另一种是基于密钥的安全验证,指的是需要在本地生成密钥对,然后把公钥传送至服务端主机进行的公共密钥比较的验证方式,这种验证方式相比较来说更加的安全。

为了方便安全运维人员或者审计管理员对操作命令进行查看和处理,审计终端设置了审计页面以展示与审计请求相关的目标审计数据,具体地,请参阅图6至图7,图6至图7是本申请实施例提供的审计页面示意图。

如图6所示,图中模板所示的选择参数设置区域包括登录账户设置区域、机器ip设置区域、操作指令设置区域、状态设置区域以及数据展示区域。其中,状态设置区域提供已处理和未处理两种状态,数据展示区域展示的审计参数包括机器ip、登录时间、登录类型、登录账户、实名账户、操作时间、操作指令、是否为高危指令、状态以及操作,具体地,数据展示区域所展示的审计数据和上述审计参数设置区域内输入或者选择的内容相匹配。在实际场景中,选择参数设置区域可以为输入框或者选择框。

在一种实施例中,每个选择参数设置区域都有多个内容供用户选择,同一时间同一选择参数设置区域只能输入或者选择一个内容,但是每个选择参数设置区域可以随意组合,具体地,可以同时输入或者选择登录账户设置区域以及机器ip设置区域的内容,也可以同时输入或者选择机器ip设置区域、操作指令设置区域以及状态设置区域的内容,还可以同时输入或者选择登录账户设置区域、机器ip设置区域、操作指令设置区域以及状态设置区域的内容等,此处不做限定。

此外,图中模板还设置了查询键,刷新键以及导出键。具体地,用户点击查询键,则审计终端会收到查询指令,然后在审计页面上显示与选择参数设置区域输入或者选择内容相匹配的审计数据;用户点击刷新键,则审计终端会收到刷新指令,此时,审计页面会更新并显示对应的数据,由于审计数据是实时更新的,为了显示最新的审计数据,需要进行刷新操作;用户点击导出键,则审计终端会收到导出指令,然后将审计页面的数据导出到用户选择的其他设备或者其他位置中。

在配置完成后,用户通过该审计页面对审计数据进行查询,审计页面上会显示查询到的相关目标审计数据。

如图7所示,由于选择参数设置区域没有任何输入或者选择的内容,因此界面上显示的是没有分类的所有审计数据。

具体地,在一种实施例中,用户在登录账户设置区域输入“scan”,审计页面就会生成基于“scan”的选择指令,审计终端根据该选择指令生成审计请求,然后将该审计请求发送给审计服务器,审计服务器通过对该审计请求的解析,在数据库中匹配到与该请求相关的目标审计数据,然后发送给审计终端,由审计页面展示所有使用“scan”账号登录业务服务器的审计数据,例如:

“机器ip:127.0.0.2,登录时间:2020-10-0315:00:23,登录类型:本地账户,登录账户栏:scan,实名账户:qinbochen,操作时间:2020-10-0315:00:50,操作指令:rm-if*,是否高危指令:是,状态:未处理,操作:忽略生成告警工单”;

“机器ip:127.0.0.2,登录时间:2020-10-0315:00:23,登录类型:本地账户,登录账户栏:scan,实名账户:qinbochen,操作时间:2020-10-0315:00:50,操作指令:mysql-uroot,是否高危指令:否,状态:已处理,操作:忽略生成告警工单”;

“机器ip:127.0.0.2,登录时间:2020-10-0315:00:23,登录类型:本地账户,登录账户栏:scan,实名账户:qinbochen,操作时间:2020-10-0315:00:38,操作指令:./apachectlrestart,是否高危指令:否,状态:已处理,操作:忽略生成告警工单”;

在一种实施例中,用户在登录账户设置区域输入或者选择“root”,且在机器ip设置区域输入“127.0.0.1”,则审计页面将展示所有使用“root”账号登录ip地址为127.0.0.1的业务服务器的审计数据,例如:

“机器ip:127.0.0.1,登录时间:2020-10-0615:02:43,登录类型:本地账户,登录账户栏:root,实名账户:pamelayuan,操作时间:2020-10-0615:03:01,操作指令:pythonindex.py,是否高危指令:否,状态:未处理,操作:忽略生成告警工单”;

“机器ip:127.0.0.1,登录时间:2020-10-0615:02:43,登录类型:本地账户,登录账户栏:root,实名账户:pamelayuan,操作时间:2020-10-0615:02:51,操作指令:cd/data/,是否高危指令:否,状态:未处理,操作:忽略生成告警工单”;

在一种实施例中,用户在登录账户设置区域输入“pamelayuan”,机器ip设置区域输入“127.0.0.1”,并且在操作指令设置区域输入“ls”,则审计页面将展示所有使用“pamelayuan”账号登录ip地址为127.0.0.1的业务服务器,且操作指令为“ls”的审计数据,例如:

“机器ip:127.0.0.1,登录时间:2020-10-0609:24:22,登录类型:实名账户,登录账户栏:pamelayuan,实名账户:pamelayuan,操作时间:2020-10-0609:25:10,操作指令:ls,是否高危指令:否,状态:未处理,操作:忽略生成告警工单”;

需要说明的是,操作栏中,用户可以根据对该条审计数据的判断,通过审计终端在审计页面对“忽略”和“生成告警工单”进行选择,审计页面会将相应的选择指令传给审计终端,审计终端会根据该选择指令生成处理请求,并发送给审计服务器,审计服务器在接收到该处理请求后,对该指令进行处理。同时,选择完成后,刷新审计页面,状态栏会相应的变为“已处理”。

需要理解的是,图7所展示的是黑白的审计页面,在实际应用中,是否高危指令栏,“是”可以显示为红色等区别于列表中其他文字的颜色,以使得该列表中的“是”显得更加醒目,便于安全运维人员进行查看。

可见,审计页面可以通过解析用户的审计请求,从而展示用户所需的审计数据,对于展示的审计数据,用户还可以根据“是否高危指令”栏的提示对其进行操作,例如,是否高危指令栏显示“否”,可以选择“忽略”操作;是否高危指令栏显示“是”,可以选择“生成告警工单”等。用户对审计数据进行操作后,刷新审计页面,该条审计数据的状态就会由未处理变为已处理。由此,避免了现有技术中查看日志文件的繁琐的问题,便于安全人员审计可疑高危指令。

基于上述实施例的内容,本申请实施例提供了一种操作指令管理装置,该装置可以设置于跳板设备102、第一业务服务器103、第二服务器104以及审计服务器105任一云服务器中,也可以设置于这些云服务器任意组合的服务器集群中。该操作指令管理装置用于执行上述方法实施例中提供的服务器侧操作指令管理方法,请参阅图8,该装置包括:

第一接收模块801,用于接收来自操作终端的操作指令;

读取模块802,用于读取本地存储的实名账户标识;

绑定模块803,用于绑定所述操作指令和实名账户标识,生成审计数据;

解析模块804,用于在接收到审计终端的审计请求时,解析所述审计请求以从所述审计数据中确定所述审计请求对应的目标审计数据;

第一发送模块805,用于向所述审计终端发送所述目标审计数据,以使得所述审计终端在审计页面展示所述目标审计数据。

在一种实施例中,第一接收模块801用于和操作终端101建立通信连接,从而接收由操作终端101发出的操作指令。第一发送模块805用于和审计终端建立通信连接,从而向审计终端106发送目标审计数据。

在一种实施例中,绑定模块803对于操作指令和实名账户标识的绑定,也可以理解为对二者的关联保存,这种绑定可以使得每一条操作指令都能唯一对应到其操作者的实名账户标识,便于安全人员进行审计和追溯。

在一种实施例中,解析模块804用于解析审计服务器105接收到的审计请求,该审计请求可以是基于登录账户、机器ip、操作指令以及状态等选择参数提出的。其解析的方式可以为取报头、json解析、xml解析等,通过解析能获取审计请求携带的信息,以确定用户的审计意图,即用户想对具体哪些选择参数匹配的审计数据进行查询和处理。

在一种实施例中,操作指令管理装置还包括第一数据处理模块,用于接收来自操作终端的登录请求;解析所述来自操作终端的登录请求,得到所述实名账户标识;存储所述实名账户标识至跳板设备;第二数据处理模块,用于接收来自跳板设备的环境变量参数;解析所述环境变量参数,得到所述实名账户标识;存储所述实名账户标识至第一业务服务器。

在一种实施例中,所述操作指令管理装置还包括第二接收模块,用于接收来自跳板设备的登录请求;第二解析模块,用于解析所述来自跳板设备的登录请求,得到登录账户标识,所述登录账户标识包括本地账户标识或者实名账户标识;验证模块,用于对所述登录账户标识进行验证;第三接收模块,用于在所述登录账户标识通过验证时,接收来自跳板设备的环境变量参数。

在一种实施例中,所述操作指令管理装置还包括第四接收模块,用于接收来自操作终端的实名账号修改请求,所述实名账号修改请求携带修改后的实名账户标识;标识比对模块,用于比对所述本地存储的实名账户标识、与所述修改后的实名账户标识;响应返回模块,用于返回比对未通过时的实名账号修改失败响应,或者返回比对通过时的实名账号修改成功响应。

在一种实施例中,所述操作指令管理装置还包括第五接收模块,用于接收来自上级设备的环境变量参数;第三解析模块,用于解析所述环境变量参数,得到所述实名账户标识;存储模块,用于存储所述实名账户标识至第二业务服务器。

在一种实施例中,所述操作指令管理装置还包括确定模块,用于确定所述操作指令的危险类型;标记模块,用于根据所述危险类型对审计数据进行标记。

在一种实施例中,所述操作指令管理装置还包括获取模块,用于获取所述实名账户标识对应的操作权限;执行模块,用于执行满足所述操作权限的操作指令,以及拒绝执行不满足所述操作权限的操作指令。

本申请实施例的操作指令管理装置,可以用于执行前述方法实施例在服务器侧的技术方案,其实现原理和技术效果类似,此处不再赘述。

区别于现有技术,本申请提供的操作指令管理装置,设置有绑定模块,主要用于将实名账户标识和操作指令进行绑定,使得操作指令能对应到实名账户,便于安全人员进行审计、追溯。

此外,在上述实施例所述的方法基础上,本申请实施例还提供了另一种操作指令管理装置,该操作指令管理装置设置于审计终端中,用于执行上述方法实施例中提供的审计终端侧的操作指令管理方法。请参阅图9,该装置可以包括:

第六接收模块901,用于通过审计页面接收针对审计数据的选择指令;

请求生成模块902,用于根据所述选择指令对应的选择参数生成审计请求;

第二发送模块903,用于发送所述审计请求;

第七接收模块904,用于接收基于所述审计请求返回的目标审计数据;审计数据根据绑定的操作指令和实名账户标识生成;

展示模块905,用于在所述审计页面展示所述目标审计数据。

在一种实施例中,第六接收模块901用于和审计页面建立通信连接,以获取审计页面针对审计数据的选择指令,所述选择指令是基于登录账户、机器ip、操作指令、状态等选择参数生成的;第二发送模块903用于和审计服务器105建立通信连接,以向审计服务器105发出的审计请求,并通过解析该审计请求,从审计服务器105中获取与审计请求匹配的目标审计数据。

在一种实施例中,展示模块905设有审计页面,审计数据以列表的方式展示在审计页面中,审计页面根据不同的审计请求,会展示不同的目标审计数据。

本申请实施例的操作指令管理装置,可以用于执行前述方法实施例审计终端侧的技术方案,其实现原理和技术效果类似,此处不再赘述。

区别于现有技术,本申请提供的操作指令管理装置,设置有展示模块,用于展示由操作指令、实名账户、登录账户、机器ip、状态等审计参数组成的审计数据,审计服务器105中的数据库会存储所有的操作指令,且通过展示模块在审计页面展示与审计请求相匹配的审计数据,此外,还会对审计服务器105中标记的高危指令进行更为直观的展示,在审计页面中以区别于列表中其他文字的方式展示该操作指令是否为高危指令,避免了当前技术中查看日志文件的繁琐,便于安全人员审计可疑高危指令,保障服务器安全。

相应的,本申请实施例还提供一种计算机设备,该计算机设备包括服务器或者终端等。

如图10所示,该计算机设备可以包括有一个或者一个以上处理核心的处理器1001、包括有一个或一个以上计算机可读存储介质的存储器1002、输入单元1003、显示单元1004、无线保真(wifi,wirelessfidelity)模块1005、电源1006以及射频(rf,radiofrequency)电路1007等部件。本领域技术人员可以理解,图10中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器1001是计算机设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行计算机设备的各种功能和处理数据。

存储器1002可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。输入单元1003可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

显示单元1004可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。

wifi属于短距离无线传输技术,计算机设备通过wifi模块1005可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了wifi模块1005,但是可以理解的是,其并不属于计算机设备的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。

计算机设备还包括给各个部件供电的电源1006(比如电池),优选的,电源可以通过电源管理系统与处理器1001逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

射频电路1007可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1001处理;另外,将涉及上行的数据发送给基站。

尽管未示出,计算机设备还可以包括蓝牙模块等,在此不再赘述。具体在本实施例中,计算机设备中的处理器1001会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1002中,并由处理器1001来运行存储在存储器1002中的应用程序。

例如,将该计算机设备设置于服务器侧,从而实现以下功能:

接收来自操作终端的操作指令;

读取本地存储的实名账户标识;

绑定所述操作指令和实名账户标识,生成审计数据;

在接收到审计终端的审计请求时,解析所述审计请求以从所述审计数据中确定所述审计请求对应的目标审计数据;

向所述审计终端发送所述目标审计数据,以使得所述审计终端在审计页面展示所述目标审计数据。

或者,将该计算机设备设置于审计终端侧,从而能实现以下功能:

通过审计页面接收针对审计数据的选择指令;

根据所述选择指令对应的选择参数生成审计请求;

发送所述审计请求;

接收基于所述审计请求返回的目标审计数据;审计数据根据绑定的操作指令和实名账户标识生成;

在所述审计页面展示所述目标审计数据。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文的详细描述,此处不再赘述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,在服务器侧用于实现以下功能:

接收来自操作终端的操作指令;

读取本地存储的实名账户标识;

绑定所述操作指令和实名账户标识,生成审计数据;

在接收到审计终端的审计请求时,解析所述审计请求以从所述审计数据中确定所述审计请求对应的目标审计数据;

向所述审计终端发送所述目标审计数据,以使得所述审计终端在审计页面展示所述目标审计数据。

或者,将该计算机可读存储介质用于审计终端侧可以实现以下功能:

通过审计页面接收针对审计数据的选择指令;

根据所述选择指令对应的选择参数生成审计请求;

发送所述审计请求;

接收基于所述审计请求返回的目标审计数据;审计数据根据绑定的操作指令和实名账户标识生成;

在所述审计页面展示所述目标审计数据。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

同时,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。例如,可以实现以下功能:

接收来自操作终端的操作指令;

读取本地存储实名账户标识;

绑定所述操作指令和实名账户标识,生成审计数据;

在接收到审计终端的审计请求时,解析所述审计请求以从所述审计数据中确定所述审计请求对应的目标审计数据;

向所述审计终端发送所述目标审计数据,以使得所述审计终端在审计页面展示所述目标审计数据。

或者,还可以实现以下功能:

通过审计页面接收针对审计数据的选择指令;

根据所述选择指令对应的选择参数生成审计请求;

发送所述审计请求;

接收基于所述审计请求返回的目标审计数据;审计数据根据绑定的操作指令和实名账户标识生成;

在所述审计页面展示所述目标审计数据。

以上对本申请实施例所提供的一种操作指令管理方法及装置、计算机设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1