本发明属于网络安全告警,尤其是涉及一种对安全事件告警的集中处理方法及应用该方法的装置。
背景技术:
1、随着互联网的发展,政府和企业信息化程度不断提高,各业务系统间联系越来越密切,数据交换越来越频繁,随之产生的海量的日志。而各种网络设备、安全设备、主机、应用及数据库等的日志格式都不相同,即使是记录同一事件,也都有各自的日志规格,例如同样的登录失败信息,防火墙中的描述和主机操作系统中的描述格式就可能根本不相同,这样会迫使审计人员去了解每种设备类型的格式。同时,每个产品的日志量都是巨大的,例如一个标准的入侵检测系统每天可能产生超过千万数量的事件日志,海量的数据常常让运维审计工作变得没有毫无头绪,降低业务顺畅运行的效率。
2、日志审计系统,是一种采用大数据采集、建模、分析技术,通过对各种网络资源的多维度信息采集和自动化的关联分析,及时发现网络当中的威胁和异常行为的网络安全工具,可以通过与防火墙、入侵防御、终端安全等产品的安全联动,实现对威胁和异常行为的有效处置。日志审计系统中,不同来源的日志对应不同的告警配置,从而告警事件的类型也众多,特别是对数据关联分析处理后的事件数据量庞大,容易导致处理引擎负荷过高,降低性能。
技术实现思路
1、基于上述背景,本发明旨在提供一种对安全事件告警的集中处理方法及应用该方法的装置。具体技术方案如下上述的:
2、一方面,提出一种事件告警的集中处理方法,包括:
3、读取日志处理生成的待告警事件队列,与预设的自定义告警触发条件进行匹配;将匹配成功的事件与匹配到的告警配置id及告警类型统一封装后,放入告警队列中;根据告警配置中的告警规则判断是否进行告警以及告警方式,并保存告警记录。
4、作为较佳的,上述的自定义告警触发条件包括事件发生时间段和/或单位时间内的事件数量;上述的告警配置,包括告警名称、告警描述、数据来源、触发条件、告警级别、聚合字段、聚合周期、告警方式及告警目标。
5、进一步的,若事件与上述的自定义告警条件匹配失败则继续与已订阅告警触发条件进行匹配:判断事件是否满足订阅的所有查询条件,若满足则将其匹配到的事件、告警订阅配置及告警类型统一封装转发到告警队列;否则结束对该事件的处理。
6、作为较佳的,监听并消费上述的告警队列,判断其中待告警对象的告警类型;若告警类型是自定义事件告警或事件告警,则根据告警事件匹配到的配置id查询对应的告警规则,并按照告警规则进行告警封装、归并、处置;若告警类型是系统事件告警,则查询事件告警订阅方式进行告警对象的封装、归并、处置。
7、进一步的,上述的事件订阅配置包括:已保存的查询id、邮件告警订阅用户、短信告警订阅用户、ftp告警订阅用户、tcp告警订阅用户;上述的订阅用户信息包括: 配置id、用户名、邮箱地址、手机号、邮件聚合周期、短信聚合周期、tcp聚合周期;
8、进一步的,上述的系统事件订阅配置包括:磁盘告警订阅信息、性能监控告警订阅信息、日志源资产状态订阅信息、ftp远程仓库订阅信息。
9、作为较佳的,上述的对告警队列中待告警对象的处理过程,包括:创建定时任务,获取被聚合的告警的最早一条告警时间,若当前时间距上述的告警时间超过预设的聚合周期,获取告警接收者信息,根据告警规则执行告警提示,并记录告警日志。
10、上述的待告警事件队列使用中间件kafka转存所有事件;上述的告警队列使用kafka主题存储待告警对象。
11、另一方面,提出一种事件告警的集中处理装置,该装置包括:
12、事件告警模块,用于响应界面请求导出报表;对待告警事件的告警匹配处理,将符合条件的事件封装转存到告警队列里,包括告警事件消费、事件告警规则匹配;
13、告警处理模块,用于按照解决方案包的保存配置,查询对应数据结果,生成报表;对待告警对象topic里的告警对象进行告警,包括消费告警topic、告警对象内容封装、告警对象聚合归并、多种方式的告警处理。
14、上述的事件告警模块,运行时先初始化一个redis连接,便于事件告警配置查询;应用启动后,创建一个消费kafka待告警事件的topic的siddhi应用;siddhi应用里从redis里读取事件告警配置,组装cql查询语句,对查到的数据结果进行组装存入kafka待告警处理队列里。
15、上述的告警处理模块,作为单独线程,在web模块启动时一起启动;启动后立即监听kafka的告警队列的topic,消费到告警对象后按照聚合条件对告警对象进行聚合,聚合完成之后再按照告警订阅方式调用不同的处置接口进行告警处置。
16、采用上述技术方案的本发明的事件告警的集中处理方法及装置,至少具有以下有益效果:将告警处理统一封装,实现接口统一管理,便于复用;事件告警按条件进行归并,实现动态化告警,采用流式处理方式对其进行实时处理,将事件统一进行告警条件的匹配后再执行相应的告警处理,避免处理引擎过高的负荷,提高告警处理效率。
1.一种事件告警的集中处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述自定义告警触发条件包括事件发生时间段和/或单位时间内的事件数量;所述告警配置,包括告警名称、告警描述、数据来源、触发条件、告警级别、聚合字段、聚合周期、告警方式及告警目标。
3.根据权利要求2所述的方法,其特征在于,若事件与所述自定义告警条件匹配失败则继续与已订阅告警触发条件进行匹配:判断事件是否满足订阅的所有查询条件,若满足则将其匹配到的事件、告警订阅配置及告警类型统一封装转发到告警队列;否则结束对该事件的处理。
4.根据权利要求1或3任一所述的方法,其特征在于,监听并消费所述告警队列,判断其中待告警对象的告警类型;若告警类型是自定义事件告警或事件告警,则根据告警事件匹配到的配置id查询对应的告警规则,并按照告警规则进行告警封装、归并、处置;若告警类型是系统事件告警,则查询事件告警订阅方式进行告警对象的封装、归并、处置。
5.根据权利要求4所述的告警方法,其特征在于,所述事件订阅配置包括:已保存的查询id、邮件告警订阅用户、短信告警订阅用户、ftp告警订阅用户、tcp告警订阅用户;所述订阅用户信息包括: 配置id、用户名、邮箱地址、手机号、邮件聚合周期、短信聚合周期、tcp聚合周期;
6.根据权利要求4所述的告警方法,其特征在于,所述对告警队列中待告警对象的处理过程,包括:创建定时任务,获取被聚合的告警的最早一条告警时间,若当前时间距所述告警时间超过预设的聚合周期,获取告警接收者信息,根据告警规则执行告警提示,并记录告警日志。
7.根据权利要求1所述的告警方法,其特征在于,所述待告警事件队列使用中间件kafka转存所有事件;所述告警队列使用kafka主题存储待告警对象。
8.一种事件告警的集中处理装置,其特征在于,所述装置包括:
9.根据权利要求8所述的装置,其特征在于,所述事件告警模块,运行时先初始化一个redis连接,便于事件告警配置查询;应用启动后,创建一个消费kafka待告警事件的topic的siddhi应用;siddhi应用里从redis里读取事件告警配置,组装cql查询语句,对查到的数据结果进行组装存入kafka待告警处理队列里。
10.根据权利要求8所述的装置,其特征在于,所述告警处理模块,作为单独线程,在web模块启动时一起启动;启动后立即监听kafka的告警队列的topic,消费到告警对象后按照聚合条件对告警对象进行聚合,聚合完成之后再按照告警订阅方式调用不同的处置接口进行告警处置。