CN111125039A - 一种生成操作日志的方法及装置 - Google Patents
一种生成操作日志的方法及装置 Download PDFInfo
- Publication number
- CN111125039A CN111125039A CN201811280523.0A CN201811280523A CN111125039A CN 111125039 A CN111125039 A CN 111125039A CN 201811280523 A CN201811280523 A CN 201811280523A CN 111125039 A CN111125039 A CN 111125039A
- Authority
- CN
- China
- Prior art keywords
- host
- message
- address
- login
- session identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
一种生成操作日志的方法及装置,包括:日志服务器根据接收到的第一个包含第一主机会话标识和第一IP地址的日志报文,向报文中的登录会话标识对应的操作记录中写入第一登录信息,根据接收到的第二个包含第一主机会话标识和第一IP地址的日志报文,向报文中的登录会话标识对应的操作记录中写入第一退出信息,根据在第一登录信息被写入至第一退出信息被写入操作记录之间写入该操作记录的命令操作,确定第一目标主机上执行的命令操作,从而实现根据日志报文中携带的第一主机会话标识和第一IP地址有效区分第一主机会话的开始和结束,并依此识别在第一目标主机上执行的命令操作,提高主机操作审计的精确性的目的。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种生成操作日志的方法及装置。
背景技术
在堡垒机类产品中,一个重要的功能是主机操作安全审计,主机操作安全审计能够拦截非法访问和恶意攻击,对不合法命令进行命令阻断,过滤掉所有对目标主机的非法访问行为,并对内部人员误操作和非法操作进行审计监控。堡垒机应用场景如图1所示,当用户通过浏览器或者客户端连接到堡垒机,堡垒机对用户身份进行认证鉴权。认证鉴权成功,用户成功登录堡垒机,否则拒绝登录。用户登录到堡垒机后,堡垒机开始对用户操作进行记录和审计。用户通过堡垒机跳转到目标主机后,用户向目标主机上输入命令,堡垒机可以记录用户输入的执行命令和执行结果,将记录数据发送到远程日志服务器。
在现有技术中,通常将用户通过堡垒机跳转的目标主机的账号信息为主体进行审计。在用户通过堡垒机跳转到某个目标主机,再由该目标主机跳转到其它目标主机的多跳登录场景下,若用户登录到目标主机1,目标主机1开始发送操作命令给堡垒机,而当用户从目标主机1登录到目标主机2之后,目标主机2开始发送操作命令给堡垒机,同时目标主机1还在发送在目标主机2执行的操作命令到堡垒机。这使得堡垒机上报的操作信息中包含有目标主机1和目标主机2重叠的命令操作,日志服务器无法区分哪些命令操作是在目标主机1执行的,哪些命令操作是在目标主机2执行的,从而导致了日志服务器无法针对目标主机进行精确审计。
发明内容
本申请实施例提供一种生成操作日志的方法及装置,用以解决现有技术中无法针对目标主机进行精确审计的技术问题。
第一方面,本申请实施例提供一种生成操作日志的方法,该方法可由日志服务器执行,该方法包括:日志服务器接收堡垒机发送的第一报文,所述第一报文是所述日志服务器接收到的第一个包括登录会话标识、第一主机会话标识和第一IP地址的日志报文,所述登录会话标识所标识的登录会话是终端和所述堡垒机之间的会话,所述第一主机会话标识所标识的第一主机会话是所述终端和第一目标主机之间的会话,所述第一主机会话是通过所述登录会话被创建和结束的,所述第一IP地址是所述第一目标主机的IP地址;所述日志服务器在所述登录会话标识对应的操作记录中写入所述第一登录信息,所述第一登录信息包括所述第一主机会话标识和所述第一IP地址,所述第一登录信息指示所述终端登录到所述第一目标主机;所述日志服务器接收第二报文,所述第二报文是所述日志服务器接收到的第二个包括所述登录会话标识、所述第一主机会话标识和所述第一IP地址的日志报文;所述日志服务器在所述登录会话标识对应的操作记录中写入第一退出信息,所述第一退出信息包括所述第一主机会话标识和所述第一IP地址,所述第一退出信息用于指示所述终端退出所述第一目标主机;所述日志服务器根据所述第一登录信息被写入至所述第一退出信息被写入之间的时间段中被写入所述登录会话标识对应的操作记录的命令操作信息,确定所述第一目标主机上执行的命令操作。
由此可知,本申请实施例中日志服务器可根据接收到的第一个包含第一主机会话标识和第一IP地址的日志报文,向登录会话标识对应的操作记录中写入第一登录信息,根据接收到的第二个包含第一主机会话标识和第一IP地址的日志报文,向登录会话标识对应的操作记录中写入第一退出信息,从而实现根据日志报文中携带的第一主机会话标识和第一IP地址有效区分第一主机会话的开始和结束,并依此识别在第一目标主机上执行的命令操作,提高主机操作审计的精确性的目的。
在一种可能的设计中,所述日志服务器在所述登录会话标识对应的操作记录中写入所述第一登录信息之后,所述方法还包括:所述日志服务器将所述第一IP地址设定为操作记录地址;
在所述登录会话标识对应的操作记录中写入第一登录信息之后、且在所述登录会话标识对应的操作记录中写入第一退出信息之前,所述方法还包括:所述日志服务器接收第三报文,所述第三报文中包括命令操作信息;所述日志服务器在所述登录会话标识对应的操作记录中写入所述命令操作信息,并将所述命令操作信息记录为在所述操作记录地址上执行的命令操作;
所述日志服务器在所述登录会话标识对应的操作记录中写入第一退出信息之后,还包括:所述日志服务器将所述第一目标主机的上一跳主机的IP地址设定为所述操作记录地址。
本申请实施例中,日志服务器中可通过设置操作记录地址这一变量来记录命令操作信息的归属目标主机的IP地址,并根据终端在第一目标主机上的登录和退出行为对操作记录主机进行更新。当日志服务器接收到包含命令操作信息的第三报文时,可将其中的命令操作信息记录为在当前的操作记录地址上执行的命令操作,如此,即使终端在多个目标主机之间跳转,日志服务器也能实现精确地主机操作审计。
在一种可能的设计中,所述日志服务器在接收第一报文之后至接收所述第二报文之前,所述方法还包括:所述日志服务器接收所述堡垒机发送的第四报文,所述第四报文是所述日志服务器接收到的第一个包括所述登录会话标识、第二主机会话标识和第二IP地址的日志报文,所述第二主机会话标识所标识的第二主机会话是所述终端和第二目标主机之间的会话,所述第二主机会话是通过所述登录会话被创建和结束的,所述第二IP地址是所述第二目标主机的IP地址;所述日志服务器在所述登录会话标识对应的操作记录中写入第二登录信息,所述第二登录信息包括所述第二主机会话标识和所述第二IP地址,所述第二登录信息用于指示所述终端登录到所述第二目标主机;
所述日志服务器接收第五报文,所述第五报文是所述日志服务器接收到的第二个包括所述登录会话标识,所述第二主机会话标识和所述第二IP地址的日志报文;所述日志服务器在所述登录会话标识对应的操作记录中写入第二退出信息,所述第二退出信息用于指示所述终端退出所述第二目标主机。
本申请实施例中,终端在登录到第一目标主机后,还可由第一目标主机跳转登录到第二目标主机,如此,第二主机会话将被嵌入到第一主机会话之中,日志服务器可根据接收到的第四报文和第五报文准确识别终端在第二目标主机上的登录和退出行为,也就是第二主机会话的开始和结束,从而提高主机操作审计精确度。
在一种可能的设计中,所述日志服务器在接收第一报文之前,还包括:所述日志服务器接收第六报文,所述第六报文为所述日志服务器接收到的第一个包含所述登录会话标识的日志报文;所述日志服务器创建所述登录会话标识对应的操作记录,并将所述堡垒机的IP地址设定为所述操作记录地址。
本申请实施例中,日志服务器可在第一次接收到某个登录会话标识的日志报文时,创建该登录会话标识对应的操作记录,从而可对该登录会话标识所标识的登录会话的命令操作进行准确地记录和审计。
在一种可能的设计中,所述第一报文和所述第二报文包括报文头部和报文载荷两部分,其中,所述报文头部用于承载所述登录会话标识、用户账号、当前时间和所述报文载荷的长度信息,所述报文载荷用于承载所述第一主机会话标识和所述第一IP地址;
所述第三报文包括报文头部和报文载荷两部分,其中,所述第三报文的报文头部用于承载所述登录会话标识、用户账号、当前时间和所述第三报文的报文载荷的长度信息,所述第三报文的报文载荷用于承载命令操作信息。
在一种可能的设计中,所述第一报文和所述第二报文的报文载荷中的所述第一主机会话标识和所述第一IP地址符合预定义的信息格式,所述日志服务器根据所述信息格式从所述第一报文或所述第二报文中获得所述第一主机会话标识和所述第一IP地址。
第二方面,本申请实施例提供另一种生成操作日志的方法,该方法可由堡垒机执行,终端采用远程登录的方式通过所述堡垒机登录至少一个目标主机。该方法包括:所述堡垒机获取登录会话标识,所述登录会话标识所标识的登录会话是终端和所述堡垒机之间的会话;所述堡垒机获取所述至少一个目标主机中的第一目标主机输出的第一主机会话标识和第一IP地址,所述第一主机会话标识和第一IP地址是所述第一目标主机响应所述终端输入的登录操作指令而输出的,所述第一主机会话标识所标识的第一主机会话是所述终端和所述第一目标主机之间的会话,所述第一主机会话是通过所述登录会话被创建和结束的,所述第一IP地址是所述第一目标主机的IP地址;所述堡垒机对所述登录会话标识、所述第一主机会话标识和所述第一IP地址进行封装,得到第一报文;所述堡垒机向日志服务器发送所述第一报文;
所述堡垒机再次获取所述第一目标主机输出的所述第一主机会话标识和所述第一IP地址,所述第一主机会话标识和所述第一IP地址是所述第一目标主机响应所述终端输入的退出操作指令而输出的;所述堡垒机对所述登录会话标识、所述第一主机会话标识和所述第一IP地址进行封装,得到第二报文;所述堡垒机向所述日志服务器发送所述第二报文。
由此可知,终端在登录第一目标主机时,堡垒机可向日志服务器发送携带有第一主机会话标识和第一IP地址的第一报文,终端在退出第一目标主机时,堡垒机可向日志服务器发送携带有第一主机会话标识和第一IP地址的第二报文,如此可使日志服务器能够根据接收到的第一报文和第二报文,准确识别终端在第一目标主机上的登录和退出行为,并依此对操作记录地址进行实时地更新,从而有效区分在不同目标主机上执行的命令操作,实现精确主机操作审计。
在一种可能的设计中,所述堡垒机获取所述至少一个目标主机中的第一目标主机输出的第一主机会话标识和第一IP地址之前,所述方法还包括:所述堡垒机接收所述终端发送的认证请求,所述认证请求中包括用户账号;所述堡垒机对所述用户账号进行认证,认证成功后创建所述登录会话,允许所述终端通过所述登录会话登录到所述堡垒机,并生成所述登录会话标识;所述堡垒机生成包含所述登录会话标识的第三报文,并向所述日志服务器发送所述第三报文。
本申请实施例中,堡垒机可在对终端发送的认证请求中的用户账号认证成功后,创建所述登录会话,允许终端通过该登录会话登录到堡垒机,并生成登录会话标识,以有效标识终端当前所进入的登录会话,并识别终端在此次登录会话中进行的命令操作。此外,堡垒机还可向日志服务器发送包含该登录会话标识的日志报文,以触发日志服务器生成该登录会话标识对应的操作记录。
在一种可能的设计中,所述堡垒机生成所述登录会话标识,包括:所述堡垒机根据所述用户账号、所述堡垒机的IP地址、当前时间、所述堡垒机中处理所述登录会话的进程的名称和所述进程的标识,生成所述登录会话标识。
在一种可能的设计中,所述堡垒机根据所述用户账号、所述堡垒机的IP地址、当前时间、所述堡垒机中处理所述登录会话的进程的名称和所述进程的标识,生成所述登录会话标识,包括:所述堡垒机获取所述用户账号、所述堡垒机的IP地址、当前时间、所述堡垒机中处理所述登录会话的进程名和进程标识;所述堡垒机生成一特定位数的第一随机数;所述堡垒机将所述第一随机数、所述用户账号、所述堡垒机的IP地址、所述当前时间、所述堡垒机中处理所述登录会话的进程的名称和所述进程的标识按照特定顺序连接成第一字符串,并所述第一字符串进行散列计算,得到所述登录会话标识。
在一种可能的设计中,所述第一报文和所述第二报文包括报文头部和报文载荷两部分,其中,所述报文头部用于承载所述登录会话标识、用户账号、当前时间和所述报文载荷的长度信息,所述报文载荷用于承载所述第一主机会话标识和所述第一IP地址;所述第三报文包括报文头部和报文载荷两部分,其中,所述第三报文的报文头部用于承载所述登录会话标识、用户账号、当前时间和所述第三报文的报文载荷的长度信息,所述第三报文的报文载荷用于承载命令操作信息。
在一种可能的设计中,所述第一报文和所述第二报文的报文载荷中的所述第一主机会话标识和所述第一IP地址符合预定义的信息格式,所述日志服务器根据所述信息格式从所述第一报文或所述第二报文中获得所述第一主机会话标识和所述第一IP地址。
第三方面,本申请实施例提供另一种生成操作日志的方法,该方法可由第一目标主机执行,终端采用远程登录的方式通过堡垒机登录所述第一目标主机。该方法包括:所述第一目标主机接收所述终端通过所述堡垒机输入的登录操作指令,并建立所述终端与所述第一目标主机之间的第一主机会话;所述第一目标主机向所述堡垒机输出第一主机会话标识和第一IP地址,所述第一主机会话标识为所述第一主机会话的标识,所述第一IP地址为所述第一目标主机的IP地址;所述第一目标主机接收所述终端通过所述堡垒机输入的退出操作指令;所述第一目标主机向所述堡垒机输出所述第一主机会话标识和所述第一IP地址,并结束所述第一主机会话。
如此可知,本申请实施例中,第一目标主机在响应终端输入的登录操作指令和退出操作指令时输出的第一主机会话标识和第一IP地址,能够有效标识第一主机会话的开始和结束,使得日志服务器能够根据该第一主机会话标识和第一IP地址,准确识别终端在第一目标主机上的登录和退出行为,从而提高主机操作审计精度。
在一种可能的设计中,所述第一目标主机在接收所述终端通过堡垒机输入的登录操作指令之后,还包括:所述第一目标主机根据用户账号、所述第一IP地址、当前时间、所述第一目标主机中处理所述第一主机会话的进程的名称和所述进程的标识,生成所述第一主机会话标识。
本申请实施例中,当终端通过堡垒机登录第一目标主机后,第一目标主机可为当前创建的主机会话生成一个主机会话标识,该标识可与用户账号、所述第一IP地址、当前时间、所述第一目标主机中处理所述第一主机会话的进程的名称和所述进程的标识等因素相关,从而可有效保证主机会话标识的唯一性。
在一种可能的设计中,所述第一目标主机根据用户账号、所述第一IP地址、当前时间、所述第一目标主机中处理所述第一主机会话的进程的名称和所述进程的标识,生成所述第一会话标识,包括:所述第一目标主机获取所述用户账号、所述第一IP地址、所述当前时间、所述第一目标主机中处理所述第一主机会话的进程的名称和所述进程的标识;所述第一目标主机生成一特定位数的第二随机数;所述第一目标主机将所述第二随机数、所述用户账号、所述第一IP地址、所述当前时间、所述第一目标主机中处理所述第一主机会话的进程的名称和所述进程的标识按照特定顺序连接成第二字符串,并对所述第二字符串进行散列计算,得到所述第一主机会话标识。
在一种可能的设计中,所述第一目标主机向所述堡垒机输出第一主机会话标识和第一IP地址,包括:所述第一目标主机通过所述第一目标主机的shell程序中的标准错误输出文件,向所述堡垒机输出所述第一主机会话标识和第一IP地址。
第四方面,本申请实施例提供一种日志服务器,所述日志服务器具有实现上述第一方面或第一方面的任一种可能的设计中日志服务器的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一种可能的设计中,所述日志服务器的结构中包括处理模块和收发模块,所述处理模块被配置为支持该日志服务器执行上述第一方面或第一方面的任一种设计中相应的方法步骤。所述收发模块用于支持该日志服务器与其他通信设备之间的通信。所述日志服务器还可以包括存储模块,所述存储模块与处理模块耦合,其保存有日志服务器必要的程序指令和数据。作为一种示例,处理模块可以为处理器,通信模块可以为收发器,存储模块可以为存储器。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机存储介质中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述第一方面中任一种可能的设计中的方法。
第六方面,本申请实施例提供一种计算机程序产品,当计算机读取并执行所述计算机程序产品时,使得计算机执行上述第一方面中任一种可能的设计中的方法。
第七方面,本申请实施例提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述第一方面中任一种可能的设计中的方法。
第八方面,本申请实施例提供一种堡垒机,所述堡垒机具有实现上述第二方面或第二方面的任一种可能的设计中堡垒机的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一种可能的设计中,所述堡垒机的结构中包括处理模块和收发模块,所述处理模块被配置为支持该堡垒机执行上述第二方面或第二方面的任一种设计中相应的方法步骤。所述收发模块用于支持该堡垒机与其他通信设备之间的通信。所述堡垒机还可以包括存储模块,所述存储模块与处理模块耦合,其保存有日志服务器必要的程序指令和数据。作为一种示例,处理模块可以为处理器,通信模块可以为收发器,存储模块可以为存储器。
第九方面,本申请实施例提供一种计算机可读存储介质,所述计算机存储介质中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述第二方面中任一种可能的设计中的方法。
第十方面,本申请实施例提供一种计算机程序产品,当计算机读取并执行所述计算机程序产品时,使得计算机执行上述第二方面中任一种可能的设计中的方法。
第十一方面,本申请实施例提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述第二方面中任一种可能的设计中的方法。
第十二方面,本申请实施例提供一种第一目标主机,所述第一目标主机具有实现上述第三方面或第三方面的任一种可能的设计中第一目标主机的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一种可能的设计中,所述第一目标主机的结构中包括处理模块和收发模块,所述处理模块被配置为支持该目标主机执行上述第三方面或第三方面的任一种设计中相应的方法步骤。所述收发模块用于支持该第一目标主机与其他通信设备之间的通信。所述第一目标主机还可以包括存储模块,所述存储模块与处理模块耦合,其保存有日志服务器必要的程序指令和数据。作为一种示例,处理模块可以为处理器,通信模块可以为收发器,存储模块可以为存储器。
第十三方面,本申请实施例提供一种计算机可读存储介质,所述计算机存储介质中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述第三方面中任一种可能的设计中的方法。
第十四方面,本申请实施例提供一种计算机程序产品,当计算机读取并执行所述计算机程序产品时,使得计算机执行上述第三方面中任一种可能的设计中的方法。
第十五方面,本申请实施例提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述第三方面中任一种可能的设计中的方法。
第十六方面,本申请实施例提供一种网络系统,该系统包括日志服务器、堡垒机和一个或多个目标主机,其中,所述日志服务器可用于执行上述第一方面或第一方面的任一种可能的设计中所述的方法,所述堡垒机可用于执行上述第二方面或第二方面的任一种可能的设计中所述的方法,所述目标主机可用于执行上述第三方面或第三方面的任一种可能的设计中所述的方法。
附图说明
图1为现有技术中堡垒机的一种应用场景示意图;
图2为本申请实施例适用的一种网络架构示意图;
图3为本申请实施例中终端登录堡垒机后的访问路径示意图;
图4为本申请实施例提供的一种生成操作日志的方法所对应的流程示意图;
图5为本申请实施例提供的一种日志报文的格式示意图;
图6为本申请实施例提供的日志服务器处理和存储主机会话标识和主机IP地址的方式示意图;
图7为本申请实施例提供的一种堡垒机的功能模块的结构示意图;
图8为本申请实施例提供的一种生成操作日志的方法的程序处理流程图;
图9为本申请实施例提供的一种日志服务器的结构示意图;
图10为本申请实施例提供的一种日志服务器的另一结构示意图;
图11为本申请实施例提供的一种堡垒机的一种结构示意图;
图12为本申请实施例提供的一种堡垒机的另一结构示意图;
图13为本申请实施例提供的一种目标主机的结构示意图;
图14为本申请实施例提供的一种目标主机的另一结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合说明书附图对本申请实施例进行具体描述。需要说明的是,本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
需要理解的是,在下文的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图2为本申请实施例适用的一种网络架构示意图。参照图2所示,该网络架构中包括终端设备(以下简称“终端”)、堡垒机bastion、一个或多个目标主机host(如图2中所示的目标主机1、目标主机2、目标主机3、目标主机4、目标主机5)和日志服务器。本申请实施例中,目标主机也可以称作目标服务器,堡垒机和各个目标主机共同构成一服务器集群。用户可以通过终端上安装的浏览器或客户端访问堡垒机。但由于网络限制、信息安全或者用户使用习惯等方面的原因,终端访问目标主机的路径可能比较复杂。例如,终端不会直接访问目标主机,而是先登录到堡垒机,进而借由堡垒机再跳转到其它目标主机中进行访问。如此,堡垒机可对终端在服务器集群中任一目标主机上执行的命令操作进行实时的记录和审计,并将记录上传至日志服务器中存储。例如,堡垒机可以对一些不合法的命令操作采取控制阻断、告警等措施,以避免由于一些敏感的操作导致网络中断或信息泄露。
在实际的应用场景中,终端登录目标主机执行命令操作时的访问路径可如图3所示。以访问路径1为例,具体过程可包括:
步骤1:终端登录到堡垒机,在堡垒机上执行了一些命令操作后,从堡垒机跳转到目标主机1。
步骤2:终端在目标主机1上执行了一些命令操作后,从目标主机1跳转到目标主机2。
步骤3:终端在目标主机2上执行了一些命令操作后,从目标主机2跳转到目标主机3。
步骤4:终端在目标主机3上执行一些命令操作后,最后依次退出目标主机3、目标主机2、目标主机1,退回到堡垒机。
经过上述4步操作,访问路径1中的登录路径可记作:堡垒机->目标主机1->目标主机2->目标主机3,访问路径1中的退出路径可记作:目标主机3->目标主机2->目标主机1->堡垒机。
同理,访问路径2中的登录路径可记作:堡垒机->目标主机1->目标主机4->目标主机7,退出路径可记作:目标主机7->目标主机4->目标主机1->堡垒机。访问路径3中的登录路径可记作:堡垒机->目标主机1->目标主机5->目标主机6,退出路径可记作:目标主机6->目标主机5->目标主机1->堡垒机。
本申请实施例中,可将终端从登录到堡垒机至最后退出堡垒机的整个登录生命周期称为一个登录会话(即global session),将访问路径中登录到一台目标主机至退出该目标主机的生命周期称为一个主机会话(即host session)。以访问路径1为例,终端从登录到堡垒机,然后从堡垒机跳转到目标主机1,接着从目标主机1跳转到目标主机2,从目标主机2跳转到目标主机3,然后退出目标主机3返回到目标主机2,退出目标主机2返回到目标主机1,退出目标主机1返回到堡垒机的整个过程,为一个登录会话。而终端从登录到目标主机1,之后跳转到目标主机2,跳转到目标主机3,退出目标主机3,退出目标主机2,直至最后退出目标主机1的过程,为目标主机1上的一个主机会话。终端从登录到目标主机2,之后跳转到目标主机3,退出目标主机3,直至最后退出目标主机2的过程,为目标主机2上的一个主机会话。终端从登录到目标主机3至退出目标主机3的过程,为目标主机3上的一个主机会话。
如此可知,在如图3中所示的多跳主机的应用场景下,一个登录会话可包含多个主机会话。而且,主机会话之间存在着会话的嵌套,下一跳主机的主机会话嵌套在上一跳主机的主机会话之中,这使得堡垒机向日志服务器上报的某一命令操作可能同时属于多个主机会话,而日志服务器很难分辨这个命令操作具体是在哪个目标主机上执行的。
因此,为了在多跳主机场景下实现精确的主机操作审计,本申请实施例提供了一种生成操作日志的方法。如图4所示,该方法具体包括如下步骤:
步骤S401:堡垒机获取登录会话标识,该登录会话标识所标识的登录会话是终端和堡垒机之间的会话。
步骤S402:第一目标主机接收终端通过堡垒机输入的登录操作指令,并建立终端与第一目标主机之间的第一主机会话。
步骤S403:第一目标主机向堡垒机输出第一主机会话标识和第一IP地址,该第一主机会话标识为第一主机会话的标识,该第一IP地址为第一目标主机的IP地址。
步骤S404:堡垒机获取至少一个目标主机中的第一目标主机输出的第一主机会话标识和第一IP地址,该第一主机会话标识和第一IP地址是第一目标主机响应终端输入的登录操作指令而输出的,第一主机会话标识所标识的第一主机会话是终端和第一目标主机之间的会话,第一主机会话是通过上述登录会话被创建和结束的。
步骤S405:堡垒机对登录会话标识、第一主机会话标识和第一IP地址进行封装,得到第一报文。
步骤S406:堡垒机向日志服务器发送第一报文。
步骤S407:日志服务器接收堡垒机发送的第一报文,该第一报文是日志服务器接收到的第一个包括登录会话标识、第一主机会话标识和第一IP地址的日志报文。
步骤S408:日志服务器在登录会话标识对应的操作记录中写入第一登录信息,该第一登录信息包括第一主机会话标识和第一IP地址,且该第一登录信息指示终端登录到第一目标主机。
步骤S409:第一目标主机接收终端通过堡垒机输入的退出操作指令。
步骤S410:第一目标主机向堡垒机输出第一主机会话标识和第一IP地址,并结束该第一主机会话。
步骤S411:堡垒机再次获取第一目标主机输出的第一主机会话标识和第一IP地址,该第一主机会话标识和第一IP地址是第一目标主机响应终端输入的退出操作指令而输出的。
步骤S412:堡垒机对登录会话标识、第一主机会话标识和第一IP地址进行封装,得到第二报文。
步骤S413:堡垒机向日志服务器发送第二报文。
步骤S414:日志服务器接收第二报文,该第二报文是日志服务器接收到的第二个包括登录会话标识、第一主机会话标识和第一IP地址的日志报文。
步骤S415:日志服务器在登录会话标识对应的操作记录中写入第一退出信息,该第一退出信息包括第一主机会话标识和第一IP地址,且该第一退出信息用于指示终端退出所述第一目标主机。
步骤S416:日志服务器根据第一登录信息被写入至第一退出信息被写入之间的时间段中被写入登录会话标识对应的操作记录的命令操作信息,确定第一目标主机上执行的命令操作。
本申请实施例中,堡垒机可获取第一目标主机输出的第一主机会话标识和第一IP地址,并将该第一主机会话标识和第一IP地址封装到日志报文中,发送给日志服务器。由于第一目标主机在响应接收到的终端输入的登录操作指令时,会在建立终端与第一目标主机之间的第一主机会话之后,向堡垒机输出第一主机会话标识和第一IP地址,而且第一目标主机在响应接收到的终端输入的退出操作指令时,会在结束第一主机会话之前,向堡垒机输出第一主机会话标识和第一IP地址。因此,日志服务器可共接收到两个包含第一会话标识和第一IP地址的日志报文,其中,第一个包含第一会话标识和第一IP地址的日志报文为第一报文,该第一报文用来标志第一目标主机上进行的第一主机会话的开始,第二个包含第一会话标识和第一IP地址的日志报文为第二报文,该第二报文用来标志第一目标主机上进行的第一主机会话的结束。于是,日志服务器接收到第一报文后,可在登录会话标识对应的操作记录中写入第一登录信息,以指示终端登录到第一目标主机,日志服务器接收到第二报文后,可在登录会话标识对应的操作记录中写入第一退出信息,以指示终端退出第二目标主机,从而日志服务器可根据在写入第一登录信息至写入第一退出信息之间的时间段内写入操作记录的命令操作信息,确定第一目标主机上执行的命令操作,实现针对第一目标主机的精确审计。
需要说明的是,本申请实施例是以堡垒机获取第一目标主机的输入输出数据,并将该输入输出数据封装到日志报文中发送给日志服务器,日志服务器接收并处理该与第一目标主机相关的日志报文为例进行描述的。但应理解,本申请实施例不限于此。本申请实施例中,终端可通过堡垒机登录至少一个目标主机,为了精确地识别在每台目标主机上执行的命令操作,日志服务器可对接收到每个日志报文均执行相同处理。
具体来说,本申请实施例在执行步骤S401之前,终端可首先向堡垒机发送认证请求,该认证请求中包括用户账号。堡垒机接收到该认证请求后,可基于安全外壳协议(secure shell,SSH)的密码认证或公钥认证等方式对用户账号进行认证。若认证成功,堡垒机记录该用户账号,创建登录会话,并允许终端登录到堡垒机。
本申请实施例中,认证成功后记录的用户账号可以与目标主机的主机审计信息相关联,以便确定该终端访问了哪些目标主机,以及在每个目标主机上执行了哪些命令操作。所述用户账号可以为自然人账号,该自然人账号与目标主机的运维账号(如root账号、admin账号等)相区别,例如,自然人账号可以是windows ad账号。
在一种可能的实现方式中,堡垒机在接收到认证请求后,可将该认证请求转发给外部认证源,由外部认证源对用户账号进行认证,从而有效提高系统的可扩展性。例如,外部认证源可以为windows ad域、ldap服务器,或者其他IAM系统,本申请实施例对此不作具体限定。
在步骤S401的具体实施中,终端登录到堡垒机后,堡垒机可获取登录会话对应的登录会话标识,也称global session id。进而,堡垒机可将该登录会话标识封装进一个日志报文中,并发送给日志服务器,以便日志服务器为该登录会话创建对应的操作记录。该登录会话标识可与用户账号、堡垒机的IP地址、当前时间、堡垒机中处理该登录会话的进程标识pid和进程名等因素相关。
在一种可能的设计中,该登录会话标识可以是堡垒机为当前创建的登录会话生成的。具体的,堡垒机生成登录会话标识的过程可包括:首先,堡垒机获取用户账号、堡垒机的IP地址、当前时间、堡垒机中处理该登录会话的进程的名称和进程标识等信息;随后,堡垒机采用预设方法生成一个特定位数的第一随机数,如32字节;最后,堡垒机采用预设算法(如sha1算法)对前面获取到的第一随机数、用户账号、堡垒机的IP地址、当前时间、堡垒机中处理该登录会话的进程的名称和进程标识等进行散列计算,生成一个具有相同位数的登录会话标识。
以一个具体示例为例,假定堡垒机中处理当前登录会话的进程名称为authbash,堡垒机IP地址为192.168.1.1,当前时间为1532748986(自1970年1月1日以来所经历的秒数,单位是秒),进程标识为28867,登录用户账号为root,随机数为5ef6f64bdad32102606fce68943714eb(十六进制)。使用::作为连接符将上述所有字段按先后顺序连接起来可得到如下字符串:
authbash::192.168.1.1::1532748986::28867::root::5ef6f64bdad32102606fce68943714eb。然后,使用得到的连接字符串作为参数,利用sha1算法计算出登录会话标识为53539e1a28f0ed6380ccf59b2a34b0eb4bda8dfe。
本申请实施例中,堡垒机中记录的用户账号还可与各个目标主机中的运维账号相关联。以第一目标主机为例,当堡垒机接收到终端针对第一目标主机输入的登录操作指令时,堡垒机可将登录操作指令中原有的用户账号替换为该用户账号在第一目标主机中对应的运维账号,再将该登录操作指令转发给第一目标主机,以便终端使用对应的运维账号登录第一目标主机。
一般来说,本申请实施例中,终端通过堡垒机输入的针对第一目标主机的操作指令可以为请求登录第一目标主机的登录操作指令、请求退出该第一目标主机的退出操作指令、请求在该第一目标主机上执行的其他操作指令等多种类型的操作指令。
在步骤S401的具体实施中,第一目标主机可接收终端通过堡垒机输入的登录操作指令,对该登录操作指令中携带的运维账号进行认证,认证通过后允许终端登录第一目标主机,建立终端与第一目标主机之间的第一主机会话。
本申请实施例中,终端登录第一目标主机后,第一目标主机首先为当前创建的第一主机会话生成一个对应的主机会话标识host session id,称作第一主机会话标识,然后在步骤S403中,向堡垒机输出该第一主机会话标识和第一IP地址,第一IP地址为第一目标主机的IP地址。在一种可能的设计中,第一目标主机可通过shell程序的标准错误输出文件输出该第一主机会话标识和第一IP地址。
本申请实施例中,第一目标主机生成的第一主机会话标识可与用户账号、第一IP地址、第一目标主机中处理第一主机会话的进程的进程名称和进程标识等因素相关。在一种可能的实现方式中,第一目标主机生成第一主机会话标识的过程可包括:首先,第一目标主机获取用户账号、第一IP地址、当前时间、第一目标主机中处理第一主机会话的进程的进程名称和进程标识等信息;随后,第一目标主机采用预设方法生成一特定位数的第二随机数,如32字节;最后,第一目标主机采用预设算法(如sha1算法)对前面获取到的第二随机数、用户账号、第一IP地址、当前时间、第一目标主机中处理第一主机会话的进程的进程名称和进程标识进行散列计算,得到具有相同特定位数的主机会话标识。
以一个具体示例为例,假定第一目标主机中处理第一主机会话的进程名为ssh,第一IP地址为192.168.1.1,当前时间为1532748986(自1970年1月1日以来所经历的秒数,单位是秒),进程标识为28867,登录用户账号为root,随机数为20d5abe49684ba2600b54948598b4b18(十六进制)。使用::作为连接符将上述所有字段按先后顺序连接起来得到如下字符串:ssh::192.168.1.1::1532748986::28867::root::20d5abe49684ba2600b54948598b4b18。然后,使用得到的连接字符串作为参数,利用sha1算法计算出第一目标主机的主机会话标识为baeb5f1cd0e93707ce4b33b2ba7cb4c79471c2dc。
随后,在步骤S404的具体实施中,堡垒机可获取到该第一目标主机因响应终端输入的登录操作指令而输出的第一主机会话标识和第一IP地址,并在步骤S405中,对该登录会话标识、第一主机会话标识和第一IP地址进行封装,得到第一报文,在步骤S406中,向日志服务器发送该第一报文。
在步骤S407的具体实施中,日志服务器可接收堡垒机发送的第一报文。由于终端登录第一目标主机执行命令操作时,总是先输入登录操作指令,在执行一些其它操作指令后,再输入退出操作指令,因此,该第一报文为日志服务器接收到的第一个包括登录会话标识、所述第一主机会话标识和所述第一IP地址的日志报文。
在步骤S408的具体实施中,日志服务器可根据该第一报文,在登录会话标识对应的操作记录中写入第一登录信息,用以指示出终端登录到第一目标主机,并将当前的操作记录地址设置为第一IP地址。本申请实施例中,该第一登录信息包括第一主机会话标识和第一IP地址,因此也可以理解为第一登录信息用以表示终端登录到IP地址为第一IP地址的目标主机中执行的第一主机会话。操作记录地址为操作记录主机的IP地址,用于标识命令操作的归属目标主机,即命令操作是在哪个IP地址的目标主机上执行的。
在步骤S409的具体实施中,第一目标主机可接收终端通过堡垒机输入的退出操作指令,并在步骤S410中结束第一主机会话之前,向堡垒机输出第一主机会话标识和第一IP地址。
随后,在步骤S411的具体实施中,堡垒机可获取到第一目标主机因响应终端输入的退出操作指令而输出的第一主机会话标识和第一IP地址,并在步骤S412中对该登录会话标识、第一主机会话标识和第一IP地址进行封装,得到第二报文,并在S413中向日志服务器发送该第二报文。
在步骤S414的具体实施中,日志服务器可接收堡垒机发送的第二报文。由于终端在输入退出操作指令之前通过堡垒机向第一目标主机输入了登录操作指令,而第一目标主机为响应该登录操作指令又触发了第一目标主机输出第一主机会话标识和第一IP地址,堡垒机对登录会话标识、第一主机会话标识、第一IP地址进行封装得到第一报文,堡垒机向日志服务器发送第一报文等一系列操作,因此,该第二报文为日志服务器接收到的第二个包含登录会话标识、第一主机会话标识和第一IP地址的日志报文。
在步骤S415的具体实施中,日志服务器可根据该第二报文,在登录会话标识对应的操作记录中写入第一退出信息,该第一退出信息用于指示终端退出第一目标主机,并将当前的操作记录地址修改为第一目标主机的上一跳主机的IP地址。本申请实施例中,该第一退出信息包括第一主机会话标识和第一IP地址,因此也可以理解为第一退出信息用于指示终端退出第一目标主机中的第一主机会话。
如此可知,终端在登录第一目标主机时,堡垒机可向日志服务器发送携带有第一主机会话标识和第一IP地址的第一报文,终端在退出第一目标主机时,堡垒机可向日志服务器发送携带有第一主机会话标识和第一IP地址的第二报文,因此,日志服务器可根据接收到的第一报文和第二报文,准确识别终端在第一目标主机上的登录和退出行为,并依此对操作记录主机进行实时地更新,从而有效区分在不同目标主机上执行的命令操作。
本申请实施例中,在执行步骤S401之后,步骤S409之前,第二目标主机若接收到终端通过堡垒机输入的登录操作指令,第二目标主机也可创建终端与第二目标主机之间的第二主机会话,并输出第二主机会话标识和第二IP地址。此时,这一情形下,堡垒机获取到该第二主机会话标识和第二IP地址后,可对登录会话标识、第二主机会话标识和第二IP地址进行封装得到第四报文,并向日志服务器发送该第四报文。
于是,日志服务器可接收堡垒机发送的第四报文。由于该第四报文为日志服务器接收到的第一个同时包括登录会话标识、第二主机会话标识和第二IP地址的日志报文,日志服务器可在登录会话标识对应的操作记录中写入第二登录信息,以指示终端登录到第二目标主机,并将当前的操作记录地址由之前的第一IP地址修改为第二IP地址。同理,该第二登录信息也可包括第二主机会话标识和第二IP地址,因此也可以理解为第二登录信息用于指示终端登录到第二目标主机中的第二主机会话。
在此之后,步骤S409之前,第二目标主机还会接收到终端通过堡垒机输入的退出操作指令,第二目标主机可在接收到该退出操作指令后,输出第二主机会话标识和第二IP地址,并结束该第二主机会话。这一情形下,堡垒机获取该第二主机会话标识和第二IP地址后,可对登录会话标识、第二主机会话标识和第二IP地址进行封装得到第五报文,并向日志服务器发送第五报文。
于是,日志服务器可接收堡垒机发送的第五报文。由于该第五报文为日志服务器接收到的第二个同时包括登录会话标识、第二主机会话标识和第二IP地址的日志报文,日志服务器可在登录会话标识对应的操作记录中写入第二退出信息,以指示终端登录到第二目标主机,并将当前的操作记录地址由之前的第二IP地址修改为第二目标主机的上一跳主机的IP地址,即第一IP地址。同理,该第二退出信息也可包括第二主机会话标识和第二IP地址,因此也可以理解为第二退出信息用于指示终端退出第二目标主机中的第二主机会话。
由于第四报文是日志服务器在接收到第一报文之后接收到的,这表示堡垒机在将第一报文发送给日志服务器后,堡垒机又接收到了第二目标主机响应终端输入的登录操作指令而输出的第二主机会话标识和第二IP地址,并将该第二主机会话标识和第二IP地址封装进第四报文发送给日志服务器。也就是说,终端通过堡垒机登录到第一目标主机后,又基于该第一目标主机登录到第二目标主机,从而在第一主机会话中嵌套了第二主机会话。
相应地,日志服务器在接收到第二报文之前接收到第五报文,这表示在终端退出目标主机的过程中,堡垒机将第五报文发送给日志服务器后,堡垒机又接收到了第一目标主机响应终端输入的退出操作指令而输出的第一主机会话标识和第一IP地址,并将该第一主机会话标识和第一IP地址封装进第二报文发送给日志服务器。也就是说,在终端退出目标主机的过程中,先退出第二目标主机,再退出第一目标主机,或者也可以理解为终端先退出内层嵌套的第二主机会话,再退出外层的第一主机会话。
由此可知,在终端在多个目标主机间跳转,存在主机会话嵌套的场景下,不同目标主机响应终端输入的登录操作指令和退出操作指令时输出的主机会话标识和主机IP地址,能够使得日志服务器有效识别不同主机会话的开始和结束,从而对当前的操作记录地址进行及时第更新,准确区分终端在不同目标主机上执行的命令操作。
在步骤S416的具体实施中,日志服务器可根据在第一登录信息被写入至第一退出信息被写入之间的时间段中被写入登录会话标识对应的操作记录的命令操作信息,确定第一目标主机上执行的命令操作。
在一个具体示例中,在登录会话标识对应的操作记录中写入第一登录信息之后、且在登录会话标识对应的操作记录中写入第一退出信息之前,日志服务器还可接收到堡垒机发送的第三报文。该第三报文是堡垒机对第一目标主机的输入输出数据进行封装得到的,其中包含第一目标主机上执行的命令操作信息,例如可以是终端针对第一目标主机输入的操作指令或者第一目标主机响应操作指令的输出结果。此时,日志服务器可将第三报文中的命令操作信息写入登录会话标识对应的操作记录中,并将该命令操作信息记录为当前的操作记录地址上执行的命令操作。
若日志服务器在接收到第一报文至接收到第二报文之间的时间段内,没有接收到包含其它目标主机的主机会话标识和主机IP地址的日志报文,如第四报文和第五报文,这表示第一主机会话中没有嵌套其它目标主机的主机会话,在日志服务器接收到第一报文并将操作记录主机地址为第一IP地址后,操作记录地址没有再被修改。因此,日志服务器接收到第三报文时,可将第三报文中的命令操作信息记录为当前的操作记录地址(即第一IP地址)上执行的命令操作。
若日志服务器在接收到第一报文至接收到第二报文之间的时间段内,接收到第四报文和第五报文,这表示第一主机会话中嵌套了第二主机会话。日志服务器在接收到第一报文时,将操作记录地址由第一目标主机的上一跳主机的IP地址修改为第一IP地址;在接收到第四报文时,将操作记录地址由第一IP地址修改为第二IP地址;在接收到第五报文时,将操作记录主机由第二IP地址修改为第一IP地址;在接收到第二报文时,将操作记录地址由第一IP地址修改为第一目标主机的上一跳主机的IP地址。如此,在日志服务器接收到第一报文至接收到第四报文的时间段内,操作记录地址为第一IP地址,在日志服务器接收到第四报文至接收到第五报文之间的时间段内,操作记录地址为第二IP地址,在日志服务器接收到第五报文至接收到第二报文之间的时间段内,操作记录地址为第一IP地址。
当日志服务器在接收到第一报文之后且接收到第四报文之前,接收到第三报文,那么日志服务器可将第三报文中的命令操作信息记录为当前的操作记录地址(即第一IP地址)上执行的命令操作。当日志服务器在接收到第四报文之后且接收到第五报文之前,接收到第三报文,那么日志服务器可将第三报文中的命令操作信息记录为当前的操作记录地址(即第二IP地址)上执行的命令操作。当日志服务器在接收到第五报文之后且接收到第二报文之前,接收到第三报文,那么日志服务器可将第三报文中的命令操作信息记录为当前的操作记录地址(即第一IP地址)上执行的命令操作。
可以看出,尽管日志服务器在接收到包含命令操作信息的日志报文时,始终将该日志报文中携带的命令操作信息记录为操作记录地址上执行的命令操作,但由于日志服务器能够根据终端在不同目标主机上的登录和退出行为对操作记录地址进行及时地更新,当终端在多个目标主机之间跳转,发生主机会话嵌套时,操作记录地址始终被设定为执行最内层的主机会话的目标主机的IP地址,从而可实现对不同目标主机上执行的命令操作进行精确审计的目的。
需要说明的是,本申请实施例中,第一目标主机的上一跳主机可以是堡垒机或其他目标主机,如第三目标主机。这可以理解为,第一主机会话可直接嵌套在登录会话中,也可以嵌套在第三目标主机的第三主机会话中。具体的,当终端登录堡垒机后,操作记录主机默认设置为堡垒机。若第一目标主机的上一跳主机为堡垒机,则表示终端在登录堡垒机后,从堡垒机直接跳转到第一目标主机,进入第一主机会话,此时操作记录地址被修改为第一IP地址,相应地,当终端退出第一目标主机时,终端将再次退回到堡垒机,操作记录地址再次被修改为堡垒机的IP地址。若第一目标主机的上一跳主机为第三目标主机,则表示终端在登录堡垒机后,直接或间接地登录到第三目标主机,此时操作记录地址为第三IP地址,进而终端基于该第三目标主机,登录到第一目标主机,进入第一主机会话。
尽管上述实施例是以终端通过堡垒机登录第一目标主机,然后跳转到第二目标主机为例进行描述的。但由于终端可采用远程登录的方式通过堡垒机登录至少一个目标主机,因此,本申请实施例中,堡垒机可获取上述至少一个目标主机中的任一目标主机的输入输出数据,并将其封装进日志报文中,发送给日志服务器。相应地,日志服务器为实现精确主机审计,可针对接收到的每个日志报文都执行如下处理逻辑:
日志服务器在接收到一个日志报文时,首先解析该日志报文,获取该日志报文中的登录会话标识。若该日志报文为日志服务器接收到的第一个包含该登录会话标识的日志报文,日志服务器可为该登录会话标识创建一个对应的操作记录,并将堡垒机设定为该登录会话标识对应的操作记录主机。例如,若日志报文中的登录会话标识为gsd1,该日志报文为日志服务器接收到的第一个包含gsd1的日志报文,则表示堡垒机创建了一个标识为gsd1的登录会话,该日志报文为登录会话gsd1中,堡垒机发送的第一个日志报文。如此,当登录会话结束,终端退出堡垒机时,日志服务器可根据gsd1对应的操作记录中记载的每个IP地址的登录信息和退出信息,生成gsd1所标识的登录会话的访问路径。其中,访问路径可包括终端通过堡垒机首先登录到第三目标主机,然后跳转登录到第一目标主机,然后跳转登录到第二目标主机,然后依次退出第二目标主机、第一目标主机、第三目标主机,退回到堡垒机,最后退出堡垒机。
随后,日志服务器判断该日志报文中是否包含主机会话标识和主机IP地址,若该日志报文中不包含主机会话标识和主机IP地址,则表示该日志报文中承载的是命令操作信息,日志服务器可获取该日志报文中的命令操作信息,将该命令操作信息写入登录会话标识对应的操作记录中,并将该命令操作信息记录为是在当前的操作记录地址上执行的命令操作。该命令操作信息可以为终端输入的操作指令,也可以为目标主机响应操作指令的输出结果。可以理解,虽然命令操作信息都记录在操作记录主机名下,但本申请实施例中的操作记录地址能够根据终端在目标主机上的登录和退出行为进行及时地被更新,因此,可实现对不同目标主机上的命令操作进行精确审计的目的。
若日志报文中包含主机会话标识和主机IP地址,以包含的主机会话标识为第一主机会话标识,主机IP地址为第一IP地址为例,则日志服务器进一步判断该日志报文为接收到的第一个包含第一主机会话标识和第一IP地址的日志报文,还是接收到的第二个包含第一主机会话标识和第一IP地址的日志报文。若该日志报文为接收到的第一个包含第一主机会话标识和第一IP地址的日志报文,日志服务器可将第一登录信息写入登录会话标识对应的操作记录中,并将操作记录地址修改为第一IP地址,以表示当前的操作记录主机为具有第一IP地址的目标主机,即第一目标主机。其中,该第一登录信息包括第一主机会话标识和第一IP地址,用于指示终端登录到第一目标主机上进行的第一主机会话。
若该日志报文为接收到的第二个包含第一主机会话标识和第一IP地址的日志报文,日志服务器可将第一退出信息写入登录会话标识对应的操作记录中,并将操作记录地址修改为第一目标主机的上一跳主机的IP地址,以表示当前的操作记录主机为第一目标主机的上一跳主机。其中,该第一退出信息包括第一主机会话标识和第一IP地址,用于指示终端将退出第一目标主机上进行的第一主机会话。如此,日志服务器每接收到一个包含主机会话标识和主机IP地址的日志报文,都可对当前的操作记录地址进行修改,通过对操作记录地址的及时更新,可使操作记录地址始终为执行当前正在进行的一个或多个主机会话中嵌套最里层的主机会话的目标主机的IP地址,从而准确识别在不同目标主机上执行的命令操作,实现精确的主机操作审计。
图5为本申请实施例提供的一种日志报文的格式示意图。堡垒机向日志服务器发送的每个日志报文,包括上述实施例中所涉及的第一报文、第二报文、第三报文、第四报文、第五报文等日志报文均可采用该报文格式,本申请实施例后续对此不再赘述。如图5所示,日志报文包括报文头部header和报文载荷payload两部分。其中,报文头部可包括用户账号、登录会话标识、时间、信息长度共四个字段。报文载荷可用于承载目标主机的输入输出数据,该输入输出数据可以包括用户登录和退出目标主机时输出的主机会话标识、主机IP地址和终端在目标主机上的命令操作信息,该命令操作信息又可包括终端针对目标主机输入的操作指令和目标主机响应终端输入的操作指令的输出结果。
以第一报文为例,报文头部的用户账号是指该第一报文相关的用户账号,例如可以是自然人账号,长度为32字节;登录会话标识是指第一报文所在的登录会话的登录会话标识,该登录会话标识是堡垒机在初始创建该登录会话时生成的;时间是指堡垒机发送该第一报文的时间,信息长度是指报文载荷的信息长度,用于日志服务器在接收到该第一报文后,根据该信息长度分配合理的内存空间以读取报文载荷中的数据。当堡垒机获取到第一目标主机响应登录操作指令而输出的第一主机会话标识和第一IP地址时,可将该第一主机会话标识和第一IP地址承载在第一报文的报文载荷中。
需要说明的是,本申请实施例中,日志报文的报文载荷中承载的主机会话标识和主机IP地址符合预定义的信息格式。日志服务器是根据该预定义的信息格式从日志报文中识别并获取该主机会话标识和主机IP地址的。在一种可能的设计中,所述预定义的信息格式可以为[主机会话标识:主机IP地址]。例如,若sid1为第一主机会话标识,ip1为第一IP地址,那么该预定义的信息格式可以为[sid1:ip1]。
应理解,图5中所示出的日志报文格式仅为本申请实施例提供的报文格式的一种可能的示例,日志报文的头部可以仅包含上述用户账号、登录会话标识、时间、信息长度四个字段,也可以根据审计的需要扩展出其它字段,本申请对此不作具体限定。
在一种可能的设计中,日志服务器可采用堆栈结构来存储从接收到的日志报文中获取到的主机会话标识和主机IP地址,即日志服务器每接收到一个包含主机会话标识和主机IP地址的日志报文,将其中的主机会话标识和主机IP地址存储到一个堆栈结构中。以一个具体示例为例,如图6所示,假设终端的访问路径为:终端登录到堡垒机后,从堡垒机跳转到第三目标主机,然后从第三目标主机跳转到第一目标主机,再从第一目标主机跳转第二目标主机,然后依次退出第二目标主机、第一目标主机、第三目标主机,最后回到堡垒机。各个目标主机在响应登录操作指令和退出操作指令时,输出的主机会话标识和主机IP地址采用[主机会话标识:主机IP地址]的信息格式。
日志服务器每接收到一个日志报文,首先通过正则匹配检查该日志报文的报文载荷部分是不否存在[主机会话标识:主机IP地址]的模式匹配,即报文载荷中是否存在符合预定义信息格式的主机会话标识和主机IP地址。若存在,则根据正则模式匹配提取出该[主机会话标识:主机IP地址]。
在本示例中,日志服务器的处理过程依次包括:
当日志服务器从接收到的日志报文中第一次提取出[第三主机会话标识:第三IP地址]时,表示终端登录到目标主机,日志服务器可将[第三主机会话标识:第三IP地址]压入堆栈结构中,此时,位于栈顶的第三IP地址为操作记录地址,用于标识当前的操作记录主机为第三目标主机。
然后,当日志服务器从接收到的日志报文中第一次提取出[第一主机会话标识:第一IP地址]时,表示终端登录到第一目标主机,目标服务器可将[第一主机会话标识:第一IP地址]压入堆栈结构中,此时,位于栈顶的第一IP地址为操作记录地址,用于标识当前的操作记录主机为第一目标主机。
接着,当日志服务器从接收到的日志报文中第一次提取出[第二主机会话标识:第二IP地址]时,表示终端登录到第二目标主机,目标服务器可将[第二主机会话标识:第二IP地址]压入堆栈结构中,此时,位于栈顶的第二IP地址为操作记录地址,用于标识当前的操作记录主机为第二目标主机。
随后,当日志服务器从接收到的日志报文中第二次提取出[第二主机会话标识:第二IP地址]时,表示终端将退出第二目标主机返回第一目标主机,目标服务器可将位于栈顶的[第二会话标识:第二IP地址]弹出堆栈结构,此时,位于栈顶的主机IP地址变为了第一IP地址,即第一IP地址为操作记录地址,用于标识当前的操作记录主机为第一目标主机。
之后,当日志服务器从接收到的日志报文中第二次提取出[第一主机会话标识:第一IP地址]时,表示终端将退出第一目标主机返回第三目标主机,目标服务器可将位于栈顶的[第一主机会话标识:第一IP地址]弹出堆栈结构,此时,位于栈顶的主机IP地址变为了第三IP地址,即第三IP地址为操作记录地址,用于标识当前的操作记录主机为第三目标主机。
最后,当日志服务器从接收到的日志报文中第二次提取出[第三主机会话标识:第三IP地址]时,表示终端将退出第三目标主机返回堡垒机,目标服务器可将位于栈顶的[第三主机会话标识:第三IP地址]弹出堆栈结构,此时,堆栈结构变为空,操作记录地址变为默认的堡垒机的IP地址,当前的操作记录主机变为堡垒机。
如图7所示,本申请实施例所述的堡垒机中可通过sshd、pam、authbath、bash等多个功能模块来实现。其中,sshd为SSH服务守护进程;pam是sshd的扩展认证模块,用于利用windows域账号或者外部认证源和软硬件令牌、短信进行双因素认证;authbash是独立程序,用于将用户字符终端输入和输出封装成特定的报文格式,并将报文发送到远程日志服务器。而各个目标主机中安装有SSH客户端程序,该SSH客户端程序用于在终端使用ssh登录或退出目标主机输出该目标主机的主机会话标识和IP地址,以区分特定主机执行的命令。
下面结合堡垒机中的各个功能模块以及目标主机中的SSH客户端程序来详细说明本申请实施例的一种实现方式。
如图8所示,具体包括如下步骤:
步骤1:authbash初始化,生成登录会话标识即gsid。
步骤2:authbash调用forkpty函数产生子进程,子进程调用终端shell进入到shell中,等待终端输入命令。
步骤3:当终端在authbash子进程所在的shell中,输入登录操作指令ssh user@host登录目标主机。
步骤4:ssh客户端程序生成主机会话标识sid。终端在登录到目标主机后,ssh客户端程序将[sid:ip]写入到shell的标准错误输出文件。当终端输入exit或者logout命令后,ssh在终端退出目标主机前,ssh客户端程序将[sid:ip]写入到shell的标准错误输出文件,这样用于分割主机会话的[sid:ip]会出现在shell输入和输出数据中,远程日志服务器据此可以区分终端在不同目标主机上的操作。对于同一次登录行为,登录和退出的sid和ip是相同的,ip为ssh连接目标主机IP地址。
步骤5:authbash父进程拷贝shell输入和输出数据,将其封装为如图5所示的tty报文格式发送到远程日志服务器。其中,payload为终端的输入和输出数据,当终端在登录和退出主机的时候payload中会嵌入主机会话的sid和ip信息。
基于相同的发明构思,本申请实施例还提供一种日志服务器,请参见图9所示,为本申请实施例提供的一种日志服务器的结构示意图,如图9所示,所述日志服务器包括:收发模块910和处理模块920。
收发模块910,用于执行接收堡垒机发送的第一报文和第二报文的操作;处理模块920,用于执行上述方法实施例中在收发模块910接收所述第一报文后,在所述登录会话标识对应的操作记录中写入第一登录信息,在所述收发模块910接收所述第二报文后,在所述登录会话标识对应的操作记录中写入第一退出信息,根据所述第一登录信息被写入至所述第一退出信息被写入之间的时间段中被写入所述登录会话标识对应的操作记录的命令操作信息,确定所述第一目标主机上执行的命令操作等操作。应理解,本发明实施例中的处理模块920可以由处理器或处理器相关电路组件实现,收发模块910可以由收发器或收发器相关电路组件实现。
请参见图10所示,为本申请实施例中提供的日志服务器的另一种结构示意图。如图10所示,该日志服务器1000包括处理器1010,存储器1020、和网络接口1030。可选地,日志服务器1000还包括输入设备1040、输出设备1050和总线1060。其中,处理器1010、存储器1020、网络接口1030以及输入设备1040、输出设备1060通过总线1050相互连接。存储器1020中存储指令或程序,处理器1010用于执行存储器1020中存储的指令或程序。存储器1020中存储的指令或程序被执行时,该处理器1010用于执行上述实施例中处理模块920执行的操作,网络接口1030用于执行上述实施例中收发模块910执行的操作。
本申请实施例还提供一种堡垒机,请参见图11所示,为本申请实施例提供的一种堡垒机的结构示意图,如图11所示,所述堡垒机包括收发模块1110和处理模块1120,收发模块1010用于执行上述方法实施例中获取登录会话标识,获取所述至少一个目标主机中的第一目标主机因响应终端输入的登录操作指令、退出操作指令而输出的第一主机会话标识和第一IP地址,向日志服务器发送第一报文,向日志服务器发送第二报文的操作,处理模块1120用于执行上述方法实施例中对登录会话标识,以及第一目标主机响应终端输入的登录操作指令而输出的第一主机会话标识和第一IP地址进行封装,得到第一报文;对登录会话标识,以及第一目标主机响应终端输入的退出操作指令而输出的第一主机会话标识和第一IP地址进行封装,得到第二报文的操作。应理解,处理模块1120可以由处理器或处理器相关电路组件实现,收发模块1120可以由收发器或收发器相关电路组件实现。
请参见图12所示,为本申请实施例中提供的堡垒机的另一种结构示意图。如图12所示,堡垒机1200包括:处理器1210,存储器1220、和网络接口1230。可选地,堡垒机1200还包括输入设备1240、输出设备1250和总线1260。其中,处理器1210、存储器1220、网络接口1230以及输入设备1240、输出设备1250通过总线1060相互连接,存储器1220中存储指令或程序,处理器1210用于执行存储器1120中存储的指令或程序。存储器1220中存储的指令或程序被执行时,该处理器1210用于执行上述实施例中处理模块1120执行的操作,收发器1230用于执行上述实施例中收发模块1110执行的操作。
本申请实施例还提供一种目标主机,请参见图13所示,为本申请实施例提供的一种目标主机的结构示意图,如图13所示,所述堡垒机包括收发模块1310和处理模块1320,收发模块1310用于执行上述方法实施例中接收终端通过所述堡垒机输入的登录操作指令和退出操作指令的操作;处理模块1320用于执行在所述收发模块1310接收所述登录操作指令后,建立所述终端与所述第一目标主机之间的第一主机会话,并通过所述收发模块1310向所述堡垒机输出第一主机会话标识和第一IP地址,以及通过所述收发模块1310向所述堡垒机输出所述第一主机会话标识和所述第一IP地址,并结束所述第一主机会话等操作。应理解,处理模块1320可以由处理器或处理器相关电路组件实现,收发模块1310可以由收发器或收发器相关电路组件实现。
请参见图14所示,为本申请实施例中提供的目标主机的另一种结构示意图。如图14所示,目标主机1400包括:处理器1410,存储器1420、和网络接口1430。可选地,目标主机1400还包括输入设备1440、输出设备1450和总线1460。其中,处理器1410、存储器1420、网络接口1430以及输入设备1440、输出设备1450通过总线1450相互连接,存储器1420中存储指令或程序,处理器1410用于执行存储器1420中存储的指令或程序。存储器1420中存储的指令或程序被执行时,该处理器1410用于执行上述实施例中处理模块1320执行的操作,收发器1430用于执行上述实施例中收发模块1310执行的操作。
本申请实施例还提供一种计算机可读存储介质,所述计算机存储介质中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述任一方法实施例中日志服务器侧的方法。
本申请实施例提供一种计算机程序产品,当计算机读取并执行所述计算机程序产品时,使得计算机执行上述任一方法实施例中日志服务器侧的方法。
本申请实施例提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述任一方法实施例中日志服务器侧的方法。
本申请实施例提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中堡垒机侧的方法。
本申请实施例提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中堡垒机侧的方法。
本申请实施例提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述任一方法实施例中堡垒机的方法。
本申请实施例提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中目标主机侧的方法。
本申请实施例提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中目标主机侧的方法。
本申请实施例提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述任一方法实施例中目标主机侧的方法。
本申请实施例提供一种网络系统,该系统包括日志服务器、堡垒机和一个或多个目标主机,其中,所述日志服务器可用于执行上述方法实施例中日志服务器侧的方法,所述堡垒机可用于执行上述方法实施例中堡垒机侧的方法,所述目标主机可用于执行上述方法实施例中堡垒机侧的方法。
应理解,本申请实施例中提及的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本申请实施例中提及的网络接口可以为有线通信接入口,无线通信接口或其组合,其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为WLAN接口。
本申请实施例中提及的总线可以是外设部件互连标准(peripheral componentinterconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10、12、14中仅用一条双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例中提及的输入设备可以为键盘、鼠标等主要用于接收输入数据的装置,输出装置可以为例如触摸屏、显示屏等用于输出数据的装置。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (30)
1.一种生成操作日志的方法,其特征在于,所述方法包括:
日志服务器接收堡垒机发送的第一报文,所述第一报文是所述日志服务器接收到的第一个包括登录会话标识、第一主机会话标识和第一IP地址的日志报文,所述登录会话标识所标识的登录会话是终端和所述堡垒机之间的会话,所述第一主机会话标识所标识的第一主机会话是所述终端和第一目标主机之间的会话,所述第一主机会话是通过所述登录会话被创建和结束的,所述第一IP地址是所述第一目标主机的IP地址;
所述日志服务器在所述登录会话标识对应的操作记录中写入第一登录信息,所述第一登录信息包括所述第一主机会话标识和所述第一IP地址,所述第一登录信息指示所述终端登录到所述第一目标主机;
所述日志服务器接收第二报文,所述第二报文是所述日志服务器接收到的第二个包括所述登录会话标识、所述第一主机会话标识和所述第一IP地址的日志报文;
所述日志服务器在所述登录会话标识对应的操作记录中写入第一退出信息,所述第一退出信息包括所述第一主机会话标识和所述第一IP地址,所述第一退出信息指示所述终端退出所述第一目标主机;
所述日志服务器根据所述第一登录信息被写入至所述第一退出信息被写入之间的时间段中被写入所述登录会话标识对应的操作记录的命令操作信息,确定所述第一目标主机上执行的命令操作。
2.根据权利要求1所述的方法,其特征在于,所述日志服务器在所述登录会话标识对应的操作记录中写入第一登录信息之后,所述方法还包括:
所述日志服务器将所述第一IP地址设定为操作记录地址;
在所述登录会话标识对应的操作记录中写入第一登录信息之后、且在所述登录会话标识对应的操作记录中写入第一退出信息之前,所述方法还包括:
所述日志服务器接收第三报文,所述第三报文中包括命令操作信息;
所述日志服务器在所述登录会话标识对应的操作记录中写入所述命令操作信息,并将所述命令操作信息记录为在所述操作记录地址上执行的命令操作;
所述日志服务器在所述登录会话标识对应的操作记录中写入第一退出信息之后,还包括:
所述日志服务器将所述第一目标主机的上一跳主机的IP地址设定为所述操作记录地址。
3.根据权利要求1或2所述的方法,其特征在于,所述日志服务器在接收第一报文之后至接收所述第二报文之前,所述方法还包括:
所述日志服务器接收所述堡垒机发送的第四报文,所述第四报文是所述日志服务器接收到的第一个包括所述登录会话标识、第二主机会话标识和第二IP地址的日志报文,所述第二主机会话标识所标识的第二主机会话是所述终端和第二目标主机之间的会话,所述第二主机会话是通过所述登录会话被创建和结束的,所述第二IP地址是所述第二目标主机的IP地址;
所述日志服务器在所述登录会话标识对应的操作记录中写入第二登录信息,所述第二登录信息包括所述第二主机会话标识和所述第二IP地址,所述第二登录信息指示所述终端登录到所述第二目标主机;
所述日志服务器接收第五报文,所述第五报文是所述日志服务器接收到的第二个包括所述登录会话标识,所述第二主机会话标识和所述第二IP地址的日志报文;
所述日志服务器在所述登录会话标识对应的操作记录中写入第二退出信息,所述第二退出信息指示所述终端退出所述第二目标主机。
4.根据权利要求2或3所述的方法,其特征在于,所述日志服务器在接收第一报文之前,还包括:
所述日志服务器接收第六报文,所述第六报文为所述日志服务器接收到的第一个包含所述登录会话标识的日志报文;
所述日志服务器创建所述登录会话标识对应的操作记录,并将所述堡垒机的IP地址设定为所述操作记录地址。
5.根据权利要求2所述的方法,其特征在于,所述第一报文和所述第二报文包括报文头部和报文载荷两部分,其中,所述报文头部用于承载所述登录会话标识、用户账号、当前时间和所述报文载荷的长度信息,所述报文载荷用于承载所述第一主机会话标识和所述第一IP地址;
所述第三报文包括报文头部和报文载荷两部分,其中,所述第三报文的报文头部用于承载所述登录会话标识、用户账号、当前时间和所述第三报文的报文载荷的长度信息,所述第三报文的报文载荷用于承载命令操作信息。
6.根据权利要求5所述的方法,其特征在于,所述第一报文和所述第二报文的报文载荷中的所述第一主机会话标识和所述第一IP地址符合预定义的信息格式,所述日志服务器根据所述信息格式从所述第一报文或所述第二报文中获得所述第一主机会话标识和所述第一IP地址。
7.一种生成操作日志的方法,终端采用远程登录的方式通过堡垒机登录至少一个目标主机,其特征在于,所述方法包括:
所述堡垒机获取登录会话标识,所述登录会话标识所标识的登录会话是所述终端和所述堡垒机之间的会话;
所述堡垒机获取所述至少一个目标主机中的第一目标主机输出的第一主机会话标识和第一IP地址,所述第一主机会话标识和第一IP地址是所述第一目标主机响应所述终端输入的登录操作指令而输出的,所述第一主机会话标识所标识的第一主机会话是所述终端和所述第一目标主机之间的会话,所述第一主机会话是通过所述登录会话被创建和结束的,所述第一IP地址是所述第一目标主机的IP地址;
所述堡垒机对所述登录会话标识、所述第一主机会话标识和所述第一IP地址进行封装,得到第一报文;
所述堡垒机向日志服务器发送所述第一报文;
所述堡垒机再次获取所述第一目标主机输出的所述第一主机会话标识和所述第一IP地址,所述第一主机会话标识和所述第一IP地址是所述第一目标主机响应所述终端输入的退出操作指令而输出的;
所述堡垒机对所述登录会话标识、所述第一主机会话标识和所述第一IP地址进行封装,得到第二报文;
所述堡垒机向所述日志服务器发送所述第二报文。
8.根据权利要求7所述的方法,其特征在于,所述堡垒机获取所述至少一个目标主机中的第一目标主机输出的第一主机会话标识和第一IP地址之前,所述方法还包括:
所述堡垒机接收所述终端发送的认证请求,所述认证请求中包括用户账号;
所述堡垒机对所述用户账号进行认证,认证成功后创建所述登录会话,允许所述终端通过所述登录会话登录到所述堡垒机,并生成所述登录会话标识;
所述堡垒机生成包含所述登录会话标识的第三报文,并向所述日志服务器发送所述第三报文。
9.根据权利要求8所述的方法,其特征在于,所述堡垒机生成所述登录会话标识,包括:
所述堡垒机根据所述用户账号、所述堡垒机的IP地址、当前时间、所述堡垒机中处理所述登录会话的进程的名称和所述进程的标识,生成所述登录会话标识。
10.根据权利要求9所述的方法,其特征在于,所述堡垒机根据所述用户账号、所述堡垒机的IP地址、当前时间、所述堡垒机中处理所述登录会话的进程的名称和所述进程的标识,生成所述登录会话标识,包括:
所述堡垒机获取所述用户账号、所述堡垒机的IP地址、当前时间、所述堡垒机中处理所述登录会话的进程名和进程标识;
所述堡垒机生成一特定位数的第一随机数;
所述堡垒机将所述第一随机数、所述用户账号、所述堡垒机的IP地址、所述当前时间、所述堡垒机中处理所述登录会话的进程的名称和所述进程的标识按照特定顺序连接成第一字符串,并所述第一字符串进行散列计算,得到所述登录会话标识。
11.根据权利要求7至10中任一项所述的方法,其特征在于,所述第一报文和所述第二报文包括报文头部和报文载荷两部分,其中,所述报文头部用于承载所述登录会话标识、用户账号、当前时间和所述报文载荷的长度信息,所述报文载荷用于承载所述第一主机会话标识和所述第一IP地址;
所述第三报文包括报文头部和报文载荷两部分,其中,所述第三报文的报文头部用于承载所述登录会话标识、用户账号、当前时间和所述第三报文的报文载荷的长度信息,所述第三报文的报文载荷用于承载命令操作信息。
12.根据权利要求11所述的方法,其特征在于,所述第一报文和所述第二报文的报文载荷中的所述第一主机会话标识和所述第一IP地址符合预定义的信息格式,所述日志服务器根据所述信息格式从所述第一报文或所述第二报文中获得所述第一主机会话标识和所述第一IP地址。
13.一种生成操作日志的方法,终端采用远程登录的方式通过堡垒机登录第一目标主机,其特征在于,所述方法包括:
所述第一目标主机接收所述终端通过所述堡垒机输入的登录操作指令,并建立所述终端与所述第一目标主机之间的第一主机会话;
所述第一目标主机向所述堡垒机输出第一主机会话标识和第一IP地址,所述第一主机会话标识为所述第一主机会话的标识,所述第一IP地址为所述第一目标主机的IP地址;
所述第一目标主机接收所述终端通过所述堡垒机输入的退出操作指令;
所述第一目标主机向所述堡垒机输出所述第一主机会话标识和所述第一IP地址,并结束所述第一主机会话。
14.根据权利要求13所述的方法,其特征在于,所述第一目标主机在接收所述终端通过堡垒机输入的登录操作指令之后,还包括:
所述第一目标主机根据用户账号、所述第一IP地址、当前时间、所述第一目标主机中处理所述第一主机会话的进程的名称和所述进程的标识,生成所述第一主机会话标识。
15.根据权利要求14所述的方法,其特征在于,所述第一目标主机根据用户账号、所述第一IP地址、当前时间、所述第一目标主机中处理所述第一主机会话的进程的名称和所述进程的标识,生成所述第一会话标识,包括:
所述第一目标主机获取所述用户账号、所述第一IP地址、所述当前时间、所述第一目标主机中处理所述第一主机会话的进程的名称和所述进程的标识;
所述第一目标主机生成一特定位数的第二随机数;
所述第一目标主机将所述第二随机数、所述用户账号、所述第一IP地址、所述当前时间、所述第一目标主机中处理所述第一主机会话的进程的名称和所述进程的标识按照特定顺序连接成第二字符串,并对所述第二字符串进行散列计算,得到所述第一主机会话标识。
16.根据权利要求13至15中任一项所述的方法,其特征在于,所述第一目标主机向所述堡垒机输出第一主机会话标识和第一IP地址,包括:
所述第一目标主机通过所述第一目标主机的shell程序中的标准错误输出文件,向所述堡垒机输出所述第一主机会话标识和第一IP地址。
17.一种日志服务器,其特征在于,所述日志服务器包括:
收发模块,用于接收堡垒机发送的第一报文,所述第一报文是所述收发模块接收到的第一个包括登录会话标识、第一主机会话标识和第一IP地址的日志报文,所述登录会话标识所标识的登录会话是终端和所述堡垒机之间的会话,所述第一主机会话标识所标识的第一主机会话是所述终端和第一目标主机之间的会话,所述第一主机会话是通过所述登录会话被创建和结束的,所述第一IP地址是所述第一目标主机的IP地址;
处理模块,用于在所述收发模块接收所述第一报文后,在所述登录会话标识对应的操作记录中写入第一登录信息,所述第一登录信息包括所述第一主机会话标识和所述第一IP地址,所述第一登录信息指示所述终端登录到所述第一目标主机;
所述收发模块,还用于接收第二报文,所述第二报文是所述收发模块接收到的第二个包括所述登录会话标识、所述第一主机会话标识和所述第一IP地址的日志报文;
所述处理模块,还用于在所述收发模块接收所述第二报文后,在所述登录会话标识对应的操作记录中写入第一退出信息,所述第一退出信息包括所述第一主机会话标识和所述第一IP地址,所述第一退出信息用于指示所述终端退出所述第一目标主机;
所述处理模块,还用于根据所述第一登录信息被写入至所述第一退出信息被写入之间的时间段中被写入所述登录会话标识对应的操作记录的命令操作信息,确定所述第一目标主机上执行的命令操作。
18.根据权利要求17所述的日志服务器,其特征在于,所述处理模块在所述登录会话标识对应的操作记录中写入第一登录信息之后,还用于将所述第一IP地址设定为操作记录地址;
所述处理模块在所述登录会话标识对应的操作记录中写入第一登录信息之后、且在所述登录会话标识对应的操作记录中写入第一退出信息之前,所述收发模块还用于接收第三报文,所述第三报文中包括命令操作信息;
所述收发模块接收所述第三报文之后,所述处理模块还用于,在所述登录会话标识对应的操作记录中写入所述命令操作信息,并将所述命令操作信息记录为在所述操作记录地址上执行的命令操作;
所述处理模块在所述登录会话标识对应的操作记录中写入第一退出信息之后,所述处理模块还用于,将所述第一目标主机的上一跳主机的IP地址设定为所述操作记录地址。
19.根据权利要求17或18所述的日志服务器,其特征在于,所述收发模块在接收第一报文之后至接收所述第二报文之前,还用于接收所述堡垒机发送的第四报文,所述第四报文是所述收发模块接收到的第一个包括所述登录会话标识、第二主机会话标识和第二IP地址的日志报文,所述第二主机会话标识所标识的第二主机会话是所述终端和第二目标主机之间的会话,所述第二主机会话是通过所述登录会话被创建和结束的,所述第二IP地址是所述第二目标主机的IP地址;
所述收发模块接收到所述第四报文后,所述处理模块还用于,在所述登录会话标识对应的操作记录中写入所述第二登录信息,所述第二登录信息包括所述第二主机会话标识和所述第二IP地址,所述第二登录信息用于指示所述终端登录到所述第二目标主机;
所述收发模块,还用于接收第五报文,所述第五报文是所述收发模块接收到的第二个包括所述登录会话标识,所述第二主机会话标识和所述第二IP地址的日志报文;
所述收发模块接收到所述第五报文后,所述处理模块还用于,在所述登录会话标识对应的操作记录中写入所述第二退出信息,所述第二退出信息包括所述第二主机会话标识和所述第二IP地址,所述第二退出信息用于指示所述终端退出所述第二目标主机。
20.根据权利要求18或19所述的日志服务器,其特征在于,所述收发模块在接收第一报文之前,还用于接收第六报文,所述第六报文为所述收发模块接收到的第一个包含所述登录会话标识的日志报文;
所述收发模块接收所述第六报文之后,所述处理模块还用于创建所述登录会话标识对应的操作记录,并将所述堡垒机的IP地址设定为所述操作记录地址。
21.根据权利要求18所述的日志服务器,其特征在于,所述第一报文和所述第二报文包括报文头部和报文载荷两部分,其中,所述报文头部用于承载所述登录会话标识、用户账号、当前时间和所述报文载荷的长度信息,所述报文载荷用于承载所述第一主机会话标识和所述第一IP地址;
所述第三报文包括报文头部和报文载荷两部分,其中,所述第三报文的报文头部用于承载所述登录会话标识、用户账号、当前时间和所述第三报文的报文载荷的长度信息,所述第三报文的报文载荷用于承载命令操作信息。
22.一种堡垒机,其特征在于,所述堡垒机包括:
收发模块,用于获取登录会话标识,所述登录会话标识所标识的登录会话是终端和所述堡垒机之间的会话;
所述收发模块,还用于获取所述至少一个目标主机中的第一目标主机输出的第一主机会话标识和第一IP地址,所述第一主机会话标识和第一IP地址是所述第一目标主机响应所述终端输入的登录操作指令而输出的,所述第一主机会话标识所标识的第一主机会话是所述终端和所述第一目标主机之间的会话,所述第一主机会话是通过所述登录会话被创建和结束的,所述第一IP地址是所述第一目标主机的IP地址;
处理模块,用于对所述登录会话标识、所述第一主机会话标识和所述第一IP地址进行封装,得到第一报文,并通过所述收发模块向日志服务器发送所述第一报文;
所述收发模块,还用于再次获取所述第一目标主机输出的所述第一主机会话标识和所述第一IP地址,所述第一主机会话标识和所述第一IP地址是所述第一目标主机响应所述终端输入的退出操作指令而输出的;
所述处理模块,还用于对所述登录会话标识、所述第一主机会话标识和所述第一IP地址进行封装,得到第二报文,并通过所述收发模块向所述日志服务器发送所述第二报文。
23.根据权利要求22所述的堡垒机,其特征在于,所述收发模块获取所述至少一个目标主机中的第一目标主机输出的第一主机会话标识和第一IP地址之前,所述收发模块还用于,接收所述终端发送的认证请求,所述认证请求中包括用户账号;
所述处理模块,还用于对所述用户账号进行认证,认证成功后创建所述登录会话,允许所述终端通过所述登录会话登录到所述堡垒机,并生成所述登录会话标识,生成包含所述登录会话标识的第三报文,并通过所述收发模块向所述日志服务器发送所述第三报文。
24.根据权利要求23所述的堡垒机,其特征在于,所述处理模块具体用于,根据所述用户账号、所述堡垒机的IP地址、当前时间、所述堡垒机中处理所述登录会话的进程的名称和所述进程的标识,生成所述登录会话标识。
25.一种第一目标主机,其特征在于,所述第一目标主机包括:
收发模块,用于接收终端通过所述堡垒机输入的登录操作指令;
所述处理模块,用于在所述收发模块接收所述登录操作指令后,建立所述终端与所述第一目标主机之间的第一主机会话,并通过所述收发模块向所述堡垒机输出第一主机会话标识和第一IP地址,所述第一主机会话标识为所述第一主机会话的标识,所述第一IP地址为所述第一目标主机的IP地址;
所述收发模块,还用于接收所述终端通过所述堡垒机输入的退出操作指令;
所述处理模块,还用于通过所述收发模块向所述堡垒机输出所述第一主机会话标识和所述第一IP地址,并结束所述第一主机会话。
26.根据权利要求25所述的第一目标主机,其特征在于,所述收发模块接收终端通过堡垒机输入的登录操作指令之后,所述处理模块还用于,根据用户账号、所述第一IP地址、当前时间、所述第一目标主机中处理所述第一主机会话的进程的名称和所述进程的标识,生成所述第一主机会话标识。
27.根据权利要求25或26所述的第一目标主机,其特征在于,所述收发模块具体用于:
通过所述第一目标主机的shell程序中的标准错误输出文件,向所述堡垒机输出所述第一主机会话标识和第一IP地址。
28.一种日志服务器,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,以使得所述装置执行如权利要求1至6中任一项所述的方法。
29.一种堡垒机,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,以使得所述装置执行如权利要求7至12中任一项所述的方法。
30.一种第一目标主机,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,以使得所述装置执行如权利要求13至16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280523.0A CN111125039B (zh) | 2018-10-30 | 2018-10-30 | 一种生成操作日志的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280523.0A CN111125039B (zh) | 2018-10-30 | 2018-10-30 | 一种生成操作日志的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125039A true CN111125039A (zh) | 2020-05-08 |
CN111125039B CN111125039B (zh) | 2022-06-10 |
Family
ID=70484781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811280523.0A Active CN111125039B (zh) | 2018-10-30 | 2018-10-30 | 一种生成操作日志的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125039B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113139181A (zh) * | 2021-04-30 | 2021-07-20 | 成都卫士通信息产业股份有限公司 | 一种安全审计方法、装置、设备及可读存储介质 |
CN113515493A (zh) * | 2021-07-20 | 2021-10-19 | 中国联合网络通信集团有限公司 | 日志关联方法和装置 |
CN114531433A (zh) * | 2020-11-06 | 2022-05-24 | 中盈优创资讯科技有限公司 | 一种web登陆设备的交互方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333090A (zh) * | 2011-09-28 | 2012-01-25 | 辽宁国兴科技有限公司 | 一种内控堡垒主机及安全访问内网资源的方法 |
CN203608215U (zh) * | 2013-10-18 | 2014-05-21 | 尚思卓越(北京)科技有限公司 | 非录屏单点运维数据库操作精确识别堡垒机 |
CN104618449A (zh) * | 2014-12-31 | 2015-05-13 | 北京神州绿盟信息安全科技股份有限公司 | 一种实现web单点登录的方法及装置 |
CN104796432A (zh) * | 2015-05-07 | 2015-07-22 | 浪潮电子信息产业股份有限公司 | 一种数据保护方法及安全堡垒机 |
US9531725B2 (en) * | 2013-10-17 | 2016-12-27 | Tata Consultancy Services | Optimizing infrastructure support based on authenticated access, validation and context related information retrieval |
CN106936772A (zh) * | 2015-12-29 | 2017-07-07 | 中国移动通信集团湖南有限公司 | 一种云平台资源的访问方法、装置及系统 |
CN107480509A (zh) * | 2017-09-22 | 2017-12-15 | 携程旅游网络技术(上海)有限公司 | 运维安全审计系统登录容器方法、系统、设备及存储介质 |
CN108366090A (zh) * | 2018-01-09 | 2018-08-03 | 国网安徽省电力公司阜阳供电公司 | 一种调度数据网远程访问加固及集中监控的系统 |
-
2018
- 2018-10-30 CN CN201811280523.0A patent/CN111125039B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333090A (zh) * | 2011-09-28 | 2012-01-25 | 辽宁国兴科技有限公司 | 一种内控堡垒主机及安全访问内网资源的方法 |
US9531725B2 (en) * | 2013-10-17 | 2016-12-27 | Tata Consultancy Services | Optimizing infrastructure support based on authenticated access, validation and context related information retrieval |
CN203608215U (zh) * | 2013-10-18 | 2014-05-21 | 尚思卓越(北京)科技有限公司 | 非录屏单点运维数据库操作精确识别堡垒机 |
CN104618449A (zh) * | 2014-12-31 | 2015-05-13 | 北京神州绿盟信息安全科技股份有限公司 | 一种实现web单点登录的方法及装置 |
CN104796432A (zh) * | 2015-05-07 | 2015-07-22 | 浪潮电子信息产业股份有限公司 | 一种数据保护方法及安全堡垒机 |
CN106936772A (zh) * | 2015-12-29 | 2017-07-07 | 中国移动通信集团湖南有限公司 | 一种云平台资源的访问方法、装置及系统 |
CN107480509A (zh) * | 2017-09-22 | 2017-12-15 | 携程旅游网络技术(上海)有限公司 | 运维安全审计系统登录容器方法、系统、设备及存储介质 |
CN108366090A (zh) * | 2018-01-09 | 2018-08-03 | 国网安徽省电力公司阜阳供电公司 | 一种调度数据网远程访问加固及集中监控的系统 |
Non-Patent Citations (1)
Title |
---|
陈健锋等: "浅析运维堡垒机的设计和应用前景 ", 《有线电视技术》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531433A (zh) * | 2020-11-06 | 2022-05-24 | 中盈优创资讯科技有限公司 | 一种web登陆设备的交互方法和装置 |
CN114531433B (zh) * | 2020-11-06 | 2023-07-21 | 中盈优创资讯科技有限公司 | 一种web登陆设备的交互方法和装置 |
CN113139181A (zh) * | 2021-04-30 | 2021-07-20 | 成都卫士通信息产业股份有限公司 | 一种安全审计方法、装置、设备及可读存储介质 |
CN113515493A (zh) * | 2021-07-20 | 2021-10-19 | 中国联合网络通信集团有限公司 | 日志关联方法和装置 |
CN113515493B (zh) * | 2021-07-20 | 2023-06-02 | 中国联合网络通信集团有限公司 | 日志关联方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111125039B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102204705B1 (ko) | 네트워크 접속 제어 시스템 및 그 방법 | |
KR102242218B1 (ko) | 사용자 인증 방법 및 장치, 및 웨어러블 디바이스 등록 방법 및 장치 | |
US10402594B2 (en) | Information processing apparatus and non-transitory computer readable medium | |
CN111125039B (zh) | 一种生成操作日志的方法及装置 | |
US20210271777A1 (en) | Container builder for individualized network services | |
US20140230017A1 (en) | Programmable security token | |
CN106533687A (zh) | 一种身份认证方法和设备 | |
CN104660557B (zh) | 操作处理方法和装置 | |
EP3685559B1 (en) | System and method for application session monitoring and control | |
CN104580553B (zh) | 网络地址转换设备的识别方法和装置 | |
JP6654651B2 (ja) | 動的なセキュリティーモジュール端末装置及びその駆動方法 | |
US20160241536A1 (en) | System and methods for user authentication across multiple domains | |
Ferry et al. | Security evaluation of the OAuth 2.0 framework | |
CN111193817B (zh) | 自动注册设备序列号的方法、装置、计算机设备及存储介质 | |
CN110069909B (zh) | 一种免密登录第三方系统的方法及装置 | |
CN108900324B (zh) | 校验虚拟机通信性能的方法及装置 | |
KR102439881B1 (ko) | 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
WO2014067925A1 (en) | Telecommunications chip card | |
US20240080299A1 (en) | Controller-based network access control system, and method thereof | |
Chothia et al. | Why banker Bob (still) can’t get TLS right: A Security Analysis of TLS in Leading UK Banking Apps | |
CN110113351A (zh) | Cc攻击的防护方法及装置、存储介质、计算机设备 | |
CN110166471A (zh) | 一种Portal认证方法及装置 | |
JP2018036940A (ja) | クラウドストレージシステム | |
CN106685901B (zh) | 用于处理跨域数据的方法、第一服务器及第二服务器 | |
Sidiropoulos et al. | Smart tv hacking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |