本发明数据数据处理,尤其是涉及一种日志告警方法以及应用该方法的数据库审计系统。
背景技术:
1、随着计算机和互联网技术的发展,网络信息系统的应用越来越广泛,随之而来的是海量的数据增长。数据库作为信息技术的核心和基础,承载着越来越多的关键业务系统,渐渐成为商业和公共安全中最具有战略性的资产,数据库的安全稳定运行也直接决定着业务系统能否正常使用,影响各种决策依据。技术的发展不但带来了正面效应,同时也使得数据库受到了威胁,例如滥用资源、泄露企业机密信息、黑客入侵等;威胁很多时候来自企业内部,包括内部员工的恶意破坏、违规操作和越权访问,往往会带来数据的大量外泄和严重损坏,甚至导致数据库系统崩溃;更重要的是,这些操作往往不具备攻击特征,很难被普通的信息安全防护系统识别出来,就更加防不胜防。
2、数据库审计(与风险控制),以数据库协议、网络安全协议审计与防护为主,对数据库的各种操作进行实时细粒度访问控制、风险行为识别和告警,通过对访问数据库的行为进行解析、分析、记录、汇报,提供包含事前、事中和事后的全方位安全防护。
3、在数据库审计中,能够引发告警的日志来源很多,包括审计插件的审计日志、会话日志、数据库状态监控日志、流量识别日志、操作日志等,对引发告警的日志分析、聚合处理以及相应的告警执行,直接决定告警信息的可靠性,而且告警数据的统计结果也在很大程度上会影响用户对告警的应对措施的合理性。
技术实现思路
1、有鉴于此,本发明旨在提供一种日志告警的处理方法以及应用该方法的数据库审计系统,提高告警的有效性。
2、一方面,提出一种日志告警的方法,包括:
3、根据告警日志配置hash表中该日志对应的资产id,遍历该资产对应的告警日志外发配置链表,进行日志级别匹配;
4、若上述的日志级别匹配失败,则不进行告警并继续下一个节点的匹配;若匹配成功,判断是否进行聚合告警;
5、若不进行聚合告警则进行实时告警;否则查找日志聚合告警hash表,判断对应给的聚合告警规则id是否存在;
6、若上述的聚合告警规则id不存在,则添加该规则到日志聚合hash表中,并且发送一条实时告警日志;若上述的聚合告警规则id存在,则更新告警次数,检测聚合告警时间,当上述的聚合告警时间到达时进行聚合告警,并且删除该规则节点。
7、作为较佳的,该方法还包括根据统计规则进行告警:
8、加载所有统计规则,并将各统计规则中的时间范围、次数、维度加载到对应的统计规则链表中;上述的维度的类型包括会话、客户端工具、源ip与用户;
9、当收到告警日志后,根据规则id查找统计规则链表中的统计维度,并查询数据库中记录的维度、时间与次数信息;
10、若可以查询到,则判断当前时间与数据库记录的起始时间之差,是否在预设的统计时间范围之内;
11、若上述的时间之差在统计时间范围内,则当前次数超过统计规则的规定次数时,进行告警并将日志写入csv文件;如果当前次数未超过统计规则的规定次数,则将数据库中的次数加1。
12、若上述的时间之差未在统计时间范围内,则将当前统计规则告警产生时间作为起始时间更新至数据库,并将次数置为1后重新开始统计。
13、以及,若在数据库中未查询到上述的维度、事件与次数信息,则将该日志的维度信息、次数、产生时间存入到数据库中,并将此次统计规则告警日志的时间作为起始时间,且不进行统计规则的告警。
14、进一步的,上述的维度信息的会话信息为五元组信息生成hash值。
15、作为较佳的,该方法还包括对告警数据进行统计:
16、每小时整点进行小时统计并将统计结果写入小时表;每天零点进行天统计并将统计结果写入天表同时删除对应时间段在小时表中的数据;每月一号零点进行月统计并将统计结果写入月表同时删除三个月之前的天表中的数据。
17、上述的小时统计数据按天进行分区,上述的天统计数据按月进行分区,上述的月统计数据不分区;统计数据存在mysql数据库中。
18、另一方面,提供一种数据库审计系统,包括:
19、日志告警处理模块,根据预设的配置对各类型告警日志进行分析处理,以及根据统计规则进行告警;
20、告警数据统计模块,用于对告警数据进行统计;
21、数据存储模块,用于存储日志数据以及告警统计数据。
22、较佳的,上述的日志告警处理模块:
23、根据告警日志配置hash表中该日志对应的资产id,遍历该资产对应的的告警日志外发配置链表,进行日志级别匹配;
24、若上述的日志级别匹配失败,则不进行告警并继续下一个节点的匹配;若匹配成功,判断是否进行聚合告警;
25、若不进行聚合告警则进行实时告警;否则查找日志聚合告警hash表,判断对应给的聚合告警规则id是否存在;
26、若上述的聚合告警规则id不存在,则添加该规则到日志聚合hash表中,并且发送一条实时告警日志;若上述的聚合告警规则id存在,则更新告警次数,检测聚合告警时间,当上述的聚合告警时间到达时进行聚合告警,并且删除该规则节点。
27、进一步的,上述的日志告警处理模块,还包括根据统计规则进行告警处理:
28、加载所有统计规则,并将各统计规则中的时间范围、次数、维度加载到对应的统计规则链表中;上述的维度的类型包括会话、客户端工具、源ip与用户;
29、当收到告警日志后,根据规则id查找统计规则链表中的统计维度,并查询数据库中记录的维度、时间与次数信息;
30、若可以查询到,则判断当前时间与数据库记录的起始时间之差,是否在预设的统计时间范围之内;
31、若上述的时间之差在统计时间范围内,则当前次数超过统计规则的规定次数时,进行告警并将日志写入csv文件;如果当前次数未超过统计规则的规定次数,则将数据库中的次数加1。
32、采用上述技术方案的本发明的日志告警方法及数据库审计系统,至少具有以下有益效果:对接收到的各类型日志数据,根据预设配置进行匹配、聚合处理,最后才根据告警规则执行相应的操作,能够很大程度上减少重复或关联告警导致的系统资源消耗,从而提高告警的有效性,有利于对与告警对应的安全问题进行针对性的应对。告警处理的同时,还统计告警的累计数据,并根据预设规则输出告警统计结果以及存储数据,有利于提高数据库对界面请求的响应速度。
1.一种日志告警方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,该方法还包括根据统计规则进行告警:
3.根据权利要求2所述的方法,其特征在于,若所述时间之差未在统计时间范围内,则将当前统计规则告警产生时间作为起始时间更新至数据库,并将次数置为1后重新开始统计。
4.根据权利要求2所述的方法,其特征在于,若在数据库中未查询到所述维度、事件与次数信息,则将该日志的维度信息、次数、产生时间存入到数据库中,并将此次统计规则告警日志的时间作为起始时间,且不进行统计规则的告警。
5.根据权利要求4所述的方法,其特征在于,所述维度信息的会话信息为五元组信息生成hash值。
6.根据权利要求2-4任一所述的方法,其特征在于,该方法还包括对告警数据进行统计:
7.根据权利要求6所述的方法,其特征在于,所述小时统计数据按天进行分区,所述天统计数据按月进行分区,所述月统计数据不分区;统计数据存在mysql数据库中。
8.一种数据库审计系统,其特征在于,所述系统包括:
9.根据权利要求8所述的系统,其特征在于,所述日志告警处理模块,
10.根据权利要求9所述的系统,其特征在于,所述日志告警处理模块,还包括根据统计规则进行告警处理: