日志脱敏方法、服务器及存储介质与流程

文档序号:18668654发布日期:2019-09-13 20:33阅读:426来源:国知局
日志脱敏方法、服务器及存储介质与流程

本发明涉及数据安全领域,尤其涉及一种日志脱敏方法、服务器及存储介质。



背景技术:

不同的应用系统、设备对应的日志系统中保留了大量的敏感数据,比如用户的会话中携带的身份证号、用户名、用户标识等,例如:请求结构化查询语言(structuredquerylanguage,sql)语句中的银行卡号、客户端ip地址、服务端的ip等等。当日志需要进行查询、分析时,这些敏感数据将会暴露给非授权用户,导致信息安全隐患。

现有技术一般在日志敏感信息写入过程中对敏感数据进行加密或替换等方式处理,使其转换为不可识别的数据,再写入日志系统。但是,这种破坏原始日志信息的方式会影响故障定位分析或者日志审计、日志可回溯、访问不可抵赖等功能。



技术实现要素:

本发明的主要目的在于提出一种日志脱敏方法、服务器及存储介质,旨在解决在对日志敏感信息进行加密或替换等方式处理导致的破坏原始日志信息的问题。

为实现上述目的,本发明提供的一种日志脱敏方法,所述方法包括步骤:

接收客户端发送的日志查询请求消息;

根据所述日志查询请求中的信息确定对应的日志脱敏策略;

提取与所述日志查询请求消息对应的原始日志;

判断所述原始日志中是否存在敏感数据;

若所述原始日志存在所述敏感数据,则按照所述日志脱敏策略对所述原始日志进行脱敏转换。

此外,为实现上述目的,本发明还提出一种服务器,所述服务器包括处理器以及存储器;

所述处理器用于执行存储器中存储的日志脱敏程序,以实现上述的方法。

此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的方法。

本发明提出的日志脱敏方法、服务器及存储介质,通过接收客户端发送的日志查询请求消息,并根据日志查询请求中的信息确定对应的日志脱敏策略,提取与所述日志查询请求消息对应的原始日志,判断所述原始日志中是否存在敏感数据,若所述原始日志存在所述敏感数据,则按照所述日志脱敏策略对所述原始日志进行脱敏转换,从而保证为不同身份信息的访问者提供不同结果的日志数据,实现了对敏感数据的动态保护。

附图说明

图1为本发明实施例提供的日志脱敏方法的流程示意图;

图2为本发明实施例提供的日志脱敏方法的子流程示意图;

图3为本发明实施例中敏感数据域与正则表达式的映射表;

图4为本发明实施例中访问者身份信息日志脱敏策略、敏感数据域的映射表;

图5为本发明实施例提供的日志脱敏方法的子流程示意图;

图6为本发明实施例中日志脱敏策略、敏感数据域与算法参数的映射表;

图7为本发明实施例提供的日志脱敏方法的另一流程示意图;

图8为本发明实施例提供的服务器硬件架构的示意图;

图9为图8中日志脱敏程序的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

如图1所示,为本发明的实施例提供的日志脱敏方法的流程示意图。在图1中,所述日志脱敏方法包括:

步骤110,接收客户端发送的日志查询请求消息。

具体的,当与客户端通过网络连接,且客户端通过网络向服务器发起日志查询请求时,则接收该日志查询请求。在日志查询请求的消息格式中携带客户端的身份信息,该身份信息包括但不限于:用户名、用户组、角色名信息等等。

步骤120,根据所述日志查询请求中的信息确定对应的日志脱敏策略。

具体的,如图2所示,步骤120进一步包括:

步骤210,获取所述日志查询请求消息中的访问者身份信息。

具体的,从日志查询请求消息中获取携带的访问者身份信息。

步骤220,根据所述访问者身份信息确定对应的日志脱敏策略。

具体的,根据访问者身份信息获得访问者所在的用户组、角色信息名等,并通过用户名、用户组及角色名信息获取该访问者的日志脱敏策略。在本实施例中,不同身份信息的访问者,对于同一个敏感数据可以有不同的日志脱敏策略,并根据需要配置相应的策略。该日志脱敏策略至少包括:替换、随机、偏移、截断、加密等。

步骤130,提取与所述日志查询请求消息对应的原始日志。

步骤140,判断所述原始日志中是否存在敏感数据,若是,则进入步骤150,若否,则进入步骤160。

具体的,在获取日志脱敏策略的同时,还获取预设的敏感数据域。敏感数据域包括但不限于:姓名、证件号、银行账户、金额、日期、住址、电话号码、email地址、车牌号、车架号、企业名称、工商注册号、组织机构代码、纳税人识别号等,并可以通过预设的规则来表述其数据特征。

在本实施例中,敏感数据域定义的规则是正则表达式,如图3所示:使用(.+)@(.+\\.[a-za-z]{2,4})规则描述源数据email数据格式;

使用^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$规则描述信用卡号码域creditcardnumber的数据格式。

步骤150,按照所述日志脱敏策略对提取的原始日志进行脱敏转换。具体的,根据确定的日志脱敏策略,对提取的原始日志进行脱敏转换。为实现不同身份标识的用户,转换后的日志结果不同。也就是说,对于完全授权的用户,则可以不需要进行脱敏转换,即用户可以看到真实数据,即原始日志;对于部分授权用户,则对原始日志进行部分转换,使访问者看到部分真实数据;对于完全限制的用户,则对原始日志进行整体转换,使访问者看到的是完全脱敏后的数据。

如图4所示,为本实施例中访问者身份信息日志脱敏策略、敏感数据域的映射表。在图4中,用户名为“张三”对应的敏感数据域为“email”,日志脱敏策略为“email_mask_partial”、用户名为“李四”对应的敏感数据域为“email”,日志脱敏策略为“email_mask_full”、用户名为“王五”对应的敏感数据域为“email”,日志脱敏策略为“email_mask_hash”。

也就是说,用户“张三”对email域采用规则email_mask_partial进行脱敏,脱敏的结果中email前缀被[redated]替换;

对用户“李四”采用规则email_mask_full进行脱敏,脱敏的结果中email显示为xxxx;

对用户“王五”采用规则email_mask_hash进行脱敏,脱敏的结果中email显示为乱码。

步骤160,封装所述原始日志。

步骤170,向所述客户端发送所述原始日志。

在步骤160中,当判定原始日志中不存在敏感数据时,则可以将原始日志进行封装并在步骤170中返回给客户端。

可选的,如图5所示,步骤140进一步包括:

步骤510,按照预设敏感数据域定义的规则,对所述原始日志进行逐条匹配;

步骤520,从匹配结果判断所述原始日志中是否存在敏感数据。

具体的,通过预设的敏感数据域定义的规则描述原始日志的数据特征,以对原始日志进行逐条匹配。

进一步的,日志脱敏策略是将敏感数据的匹配及替换的参数,转换为脱敏算法实际调用参数,通过设置该算法的实际参数可以扩展各种日志脱敏策略。示例性地,如图6所示,为日志脱敏策略、敏感数据域与算法参数的映射表。

可选的,如图7所示,在步骤150之后,所述方法还包括:

步骤710,封装对所述原始日志进行脱敏转换得到的转换日志;

步骤720,向所述客户端发送所述转换日志。

具体的,将原始日志经过日志脱敏策略转换得到的日志作为转换日志,并封装该转换日志,再将转换日志返回给客户端,使客户端的访问者查看脱敏后的日志。

可选的,在步骤130之后,所述方法还包括:

保存对所述原始日志进行脱敏转换得到的转换日志。

具体的,将转换日志保存至存储系统,存储系统可以是存储器、文件、数据库或者搜索引擎等。

本发明实施例的日志脱敏方法可以应用在多个应用场景中:

场景一:在搜索引擎中存储有大数据集群的运行日志及审计日志,这些运行日志中具有大量的敏感信息,采用本实施例的日志脱敏方法的过程为:

步骤1,接收客户端发送的日志查询请求消息,所述日志查询请求消息中携带访问者的身份信息;

步骤2,根据身份信息中的用户名、用户组、角色名信息,获取对应的日志脱敏策略;

步骤3,按照该日志脱敏策略对提取的原始日志进行脱敏转换;

步骤4,将转换后的转换日志进行封装并返回给客户端。

场景二:在金融、运营商等领域,一旦出现系统故障,系统运行日志需要脱敏后才能给软件供应商进行故障分析,则采用本实施例的日志脱敏方法的过程为:

步骤1,接收客户端发送的日志查询请求消息,所述日志查询请求消息中携带访问者的身份信息;

步骤2,根据身份信息中的用户名、用户组、角色名信息,获取对应的日志脱敏策略;

步骤3,按照该日志脱敏策略对提取的原始日志进行脱敏转换;

步骤4,将转换后的转换日志保存至存储系统,使客户端的用户下载转换日志进行故障定位。

本实施例的日志脱敏方法,通过接收客户端发送的日志查询请求消息,并根据日志查询请求中的信息确定对应的日志脱敏策略,以按照该日志脱敏策略对提取的原始日志进行脱敏转换,从而保证为不同身份信息的访问者提供不同结果的日志数据,实现了对敏感数据的动态保护。

如图8所示,为本发明另一实施例提供一种服务器硬件架构的示意图。在图8中,服务器包括:存储器810、处理器820及存储在所述存储器810上并可在所述处理器820上运行的日志脱敏程序830。在本实施例中,所述的日志脱敏程序830包括一系列的存储于存储器810上的计算机程序指令,当该计算机程序指令被处理器820执行时,可以实现本发明各实施例的日志脱敏操作。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,日志脱敏程序830可以被划分为一个或多个模块。如图9所示,日志脱敏程序830包括:接收模块910、脱敏策略确定模块920、脱敏转换模块930、封装模块940、发送模块950、提取模块960、判断模块970。其中,

接收模块910,用于接收客户端发送的日志查询请求消息。

具体的,当与客户端通过网络连接,且客户端通过网络向服务器发起日志查询请求时,则接收模块910接收该日志查询请求。在日志查询请求的消息格式中携带客户端的身份信息,该身份信息包括但不限于:用户名、用户组、角色名信息等等。

脱敏策略确定模块920,用于根据所述日志查询请求中的信息确定对应的日志脱敏策略。

脱敏策略确定模块920具体用于:

获取所述日志查询请求消息中的访问者身份信息;

根据所述访问者身份信息确定对应的日志脱敏策略。

具体的,从日志查询请求消息中获取携带的访问者身份信息,并根据访问者身份信息获得访问者所在的用户组、角色信息名等,并通过用户名、用户组及角色名信息获取该访问者的日志脱敏策略。在本实施例中,不同身份信息的访问者,对于同一个敏感数据可以有不同的日志脱敏策略,并根据需要配置相应的策略。该日志脱敏策略至少包括:替换、随机、偏移、截断、加密等。

脱敏转换模块930,用于按照所述日志脱敏策略对提取的原始日志进行脱敏转换。

具体的,脱敏转换模块930根据确定的日志脱敏策略,对提取的原始日志进行脱敏转换。为实现不同身份标识的用户,转换后的日志结果不同。也就是说,对于完全授权的用户,则可以不需要进行脱敏转换,即用户可以看到真实数据,即原始日志;对于部分授权用户,则对原始日志进行部分转换,使访问者看到部分真实数据;对于完全限制的用户,则对原始日志进行整体转换,使访问者看到的是完全脱敏后的数据。

封装模块940,用于封装对所述原始日志进行脱敏转换得到的转换日志。

发送模块950,用于向所述客户端发送所述转换日志。

具体的,封装模块940将原始日志经过日志脱敏策略转换得到的日志作为转换日志,并封装该转换日志,发送模块950再将转换日志返回给客户端,使客户端的访问者查看脱敏后的日志。

保存模块960,用于保存对所述原始日志进行脱敏转换得到的转换日志。

具体的,保存模块960将转换日志保存至存储系统,存储系统可以是存储器、文件、数据库或者搜索引擎等。

提取模块960,用于提取与所述日志查询请求消息对应的原始日志;

判断模块970,用于判断所述原始日志中是否存在敏感数据;若是,则触发脱敏转换模块930按照所述日志脱敏策略对提取的原始日志进行脱敏转换;若否,则触发封装模块940,还用于封装所述原始日志,相应的,发送模块950,还用于向所述客户端发送所述原始日志。

具体的,在获取日志脱敏策略的同时,还获取预设的敏感数据域。敏感数据域包括但不限于:姓名、证件号、银行账户、金额、日期、住址、电话号码、email地址、车牌号、车架号、企业名称、工商注册号、组织机构代码、纳税人识别号等,并可以通过预设的规则来表述其数据特征。

在本实施例中,敏感数据域定义的规则是正则表达式,如图3所示:使用(.+)@(.+\\.[a-za-z]{2,4})规则描述源数据email数据格式;

使用^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$规则描述信用卡号码域creditcardnumber的数据格式。

如图4所示,为本实施例中访问者身份信息日志脱敏策略、敏感数据域的映射表。在图4中,用户名为“张三”对应的敏感数据域为“email”,日志脱敏策略为“email_mask_partial”、用户名为“李四”对应的敏感数据域为“email”,日志脱敏策略为“email_mask_full”、用户名为“王五”对应的敏感数据域为“email”,日志脱敏策略为“email_mask_hash”。

也就是说,用户“张三”对email域采用规则email_mask_partial进行脱敏,脱敏的结果中email前缀被[redated]替换;

对用户“李四”采用规则email_mask_full进行脱敏,脱敏的结果中email显示为xxxx;

对用户“王五”采用规则email_mask_hash进行脱敏,脱敏的结果中email显示为乱码。

更具体的,判断模块970具体用于:

按照预设敏感数据域定义的规则,对所述原始日志进行逐条匹配;

从匹配结果判断所述原始日志中是否存在敏感数据。

具体的,判断模块970通过预设的敏感数据域定义的规则描述原始日志的数据特征,以对原始日志进行逐条匹配。

在本实施例中,敏感数据域定义的规则可以是正则表达式。

进一步的,日志脱敏策略是将敏感数据的匹配及替换的参数,转换为脱敏算法实际调用参数,通过设置该算法的实际参数可以扩展各种日志脱敏策略。示例性地,如图6所示,为日志脱敏策略、敏感数据域与算法参数的映射表。

当判断模块970判定原始日志中不存在敏感数据时,则封装模块940可以将原始日志进行封装并通过发送模块950返回给客户端。

本实施例提供的服务器,通过接收模块910接收客户端发送的日志查询请求消息,脱敏策略确定模块920根据日志查询请求中的信息确定对应的日志脱敏策略,脱敏转换模块930按照该日志脱敏策略对提取的原始日志进行脱敏转换,从而保证为不同身份信息的访问者提供不同结果的日志数据,实现了对敏感数据的动态保护。

本发明的另一实施例还提供了一种计算机可读存储介质。这里的计算机可读存储介质存储有一个或者多个程序。其中,计算机可读存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。当计算机可读存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述第一实施例或第二实施例所提供的日志脱敏方法。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

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