互联网运行系统的大数据安全监控系统设计
2020-02-20唐树莺
唐树莺
(湖南省烟草专卖局(公司) 信息中心,湖南 长沙 410004)
0 引 言
习近平总书记提出,没有网络安全就没有国家安全。《中华人民共和国网络安全法》的正式施行,标志着网络空间不再是法外之地[1]。网络基础设施的运营者未尽到对所管理信息资源的保护义务而造成网络安全事故,将承担相应的法律责任[2]。互联网运行系统是政企事业单位对外进行信息交互的窗口,被列为关键信息基础设施,也更容易受到网络攻击。大数据等新兴技术为网络安全工作提供了更多可能,在此背景下将大数据技术应用于互联网运行系统的安全保护,是一个有益的探索课题。
1 传统的互联网运行系统安全监控方式
在对互联网运行系统建设单独的安全监控系统前,某单位对互联网运行系统的监控主要依赖于堡垒机运维审计、数据库审计系统和SOC安全管理平台。这三类监控平台主要基于流量及安全事件进行监控,监控功能相对单一,且根据业务需求定制开发的难度较大。同时,传统的基于关系型数据库存储的安全监控系统无法有效进行数据整合分析,只能对平台自身内部预计定义的数据进行存储,无法保存原始的数据记录,因此在数据完整性层面上存在不足。
2 关键技术研究
机器数据在大数据领域具有增长最快、内容最多、最具有价值的特点,但用户直接面对的机器数据繁杂、专业性强、可读性差。本文研究互联网运行系统的安全监控系统,采用能针对机器数据进行分析的Splunk作为安全监控信息处理的数据平台,具有数据采集范围广、方式灵活、功能强大等特点。
2.1 Splunk大数据平台架构
Splunk 是一个时间序列数据索引器。底层基于搜索引擎技术实现,可原样保存数据,不丢弃数据的任何部分。Splunk采用SPL搜索语言,具备强大的数据搜索、分析、过滤、操作和处理能力,并具有查询、告警、统计、分析等核心功能,提供REST API、SDK、Web Framework等多个开发应用接口。
2.2 Splunk大数据平台功能及应用
Splunk能索引任何机器数据,包括Windows和Linux/Unix操作系统数据、虚拟化数据、信息系统应用数据、数据库数据及网络数据等[3]。该平台具有灵活多样的数据采集方式,能实时从日志文件获取事件、通过连接到API和数据库的运行脚本获取系统参数,监听syslog获取Windows事件等,并采用通用方式索引任何内容格式的数据,不需要连接器预先处理。
Splunk大数据平台广泛的数据来源和灵活的数据采集方式,使其具备丰富的应用场景,能用于基础架构和运维的管理、应用程序管理、安全领域和监控告警等。
2.3 安全监控系统设计
根据某单位的业务现状,研究的安全监控系统主要监控外网网站、一站式服务、移动应用和统一订单4个互联网运行系统。基于业务访问流程,该监控系统的监控目标包括网络设备、安全设备、服务器操作系统、各类中间件以及数据库等。通过采集监控目标的数据信息进行集中存储和统一规范化处理,并通过综合分析确保业务系统管理人员更全面、宏观地了解各业务系统存在的隐患,从而快速定位并处理问题。
2.4 设计需求功能
基于互联网运行系统的特点和对安全监控的各项需求,本文设计的安全监控系统除了能进行数据采集、原始数据存储、处理、搜索分析、告警及展现外,还必须具备身份验证、权限管理等企业级功能。为应对企业处理海量数据的困境,该系统在架构层面应满足分布式存储、分布式搜索、集群、并行计算等当前主流大数据处理平台具备的各项特点,实现如下安全监控和分析功能。
2.4.1 用户访问行为审计
基于5W1H分析法,从人员(Who)、时间(When)、地点(Where)、原因(Why)、对象(What)、方法(How)6方面对用户访问全过程进行审计分析。
2.4.2 数据库操作和服务器访问审计
对各个层面的所有数据库活动进行实时监控,如来自数据库客户端工作的操作请求、应用系统发起的数据库操作请求等。可根据登陆用户、IP、数据库对象及执行结果等,定义对数据访问的重要事件与风险事件。实时监控访问业务系统服务器的所有活动,如登录/退出服务器、执行命令操作等。
2.4.3 安全事件分析告警
实时分析防火墙、入侵防御系统、Web防火墙和VPN系统所记录的各种安全事件,并提供可视化展示。可对严重事件自定义告警,便于运维人员查询相关IP或用户的访问记录。
2.4.4 运行状态及业务指标监控
实时监控Web服务器和中间件的启停状态、告警和错误事件等[4],实时分析采集业务系统数据中包含的各类业务指标,并以图形化方式展示。
2.5 系统部署架构
该系统采用分布式架构,数据在多台服务器上存储,并支持搜索能力的分布式架构,可横向扩展搜索服务器,确保系统面对日益增长的海量数据信息仍具有高效的搜索能力。
安全监控系统在业务系统的服务器上安装轻量级Splunk通用转发器来采集基于文件的日志数据,能实时监控文件的内容变化,并将更新内容实时转发到该系统的日志服务器[5]。对网络和网络安全设备则采用syslog方式外发日志,通过syslog-ng接收并存储syslog发送的日志,再使用Splunk通用转发器监控并转发日志数据到日志服务器。
2.6 系统逻辑架构
该系统的逻辑架构分为数据导入层、数据分析层、数据访问层和用户层,如图1所示。
图1 安全监控系统逻辑架构
2.6.1 数据导入层
数据导入层实现数据的收集和导入处理,能收集操作系统访问日志、Web服务器/应用服务器日志和业务系统日志,支持单个日志的全量或增量收集及多个日志文件的批量收集,并对日志数据进行导入前预处理[6],支持半结构化日志和不同时间格式的日志信息的识别处理。
2.6.2 数据分析层
数据分析层是该平台的核心功能模块,包括数据存储、数据检索和数据分析3大功能。数据储存能压缩导入日志,提高检索的性能,同时保护导入日志信息的完整性和不被篡改,即无法通过系统以外的途径获取和查看导入的日志内容。数据检索采用自动识别和用户自设两种方式定义日志内容,实现自动匹配提取和图表化展现检索结果。数据分析提供OLAP和数据挖掘的分析模型,并能基于提取的关键字KV进行多维度分析、统计、逻辑判断和运算。
2.6.3 数据访问层
数据访问层提供了两种不同的访问接口来分析结果数据:一种是内部标准访问接口,用于访问平台自身提供的报表、仪表盘和数据检索功能;另一种是自定义访问接口,支持自定义格式导出向外部提供的数据。
2.6.4 用户层
用户层将平台分析结果数据以报表和仪表盘的形式提供给用户进行分析,可根据用户分析需求进行自定义的查询和多维度分析。
3 实际应用效果
本文研究的安全监控系统上线以来,监控效果显著,每日能收集5 GB以上的日志数据,从系统层、网络层、服务器层和业务层4个层面对外部网站、一站式服务、订单系统、移动应用等互联网运行系统的网络安全威胁情报进行统一报告、统一分析、统一展示,提高了某单位整体网络安全防御水平。
3.1 业务安全
该安全监控系统能对各互联网运行系统的访客访问痕迹进行聚合分析,并关联各类日志,进而判断是否有真正的攻击行为。各互联网运行系统的监控指标项,如表1所示。
以订单系统为例,监控页面如图2所示。业务日志中记录了用户从登录、下单到支付的完整流程,系统运维人员可从业务日志中获取用户的IP来源、对应的用户编号、下单记录、支付记录等信息,针对可疑IP,在网络和安全设备日志中进行搜索,发现该IP更多的访问痕迹,从而做出判断并采取相关安全措施,实现以IP为线索的5W1H访问审计。
表1 各互联网运行系统监控指标项
图2 订单系统安全监控页面
3.2 操作系统安全
该安全监控系统从SSH日志、历史命令日志和审计日志3方面保护操作系统安全。采集SSH实现的所有登录和注销行为数据、所有用户执行的历史命令和用户的访问行为日志,实时上传至该系统的日志服务器,供分析监控使用。
3.3 VPN安全分析
VPN是跨互联网访问企业内网的重要手段。该安全监控系统具备VPN的监控审计功能,提供VPN用户访问分析日报,包含一天内不同时段的登录失败用户数、登录失败用户列表、登录成功用户数、用户访问时间线、登录失败的用户的地理位置等信息,同时能针对某个VPN用户进行深度查询审计,获取用户完整的访问记录。
3.4 设备安全分析
该系统能获取IPS、防火墙、路由器、Web服务器/应用服务器等设备的日志信息进行综合分析,及时发现企业当前遭遇的网络安全攻击和管理员账号异常登录等问题,并对设备的报错和故障进行管理。
3.5 角色及告警管理
某单位的各个互联网运行系统由不同的运维人员负责维护。为加强安全管理,该系统设置数据安全管理策略,提供基于角色/用户的权限管理机制,可在索引、知识对象、应用、报表、仪表板等层次控制用户的访问权限,确保具有合适权限的人员才可以查看对应的视图和数据。为满足运维管理工作中的告警需求,该系统提供短信、邮件、脚本和RSS等告警方式,并允许用户灵活定义各类告警的阈值。
4 结 论
本文以某单位互联网运行系统的安全监控加固过程为例,利用Splunk大数据分析平台,搭建了一套针对互联网运行系统的大数据安全监控系统,涵盖安全数据处理的采集、存储、搜索、分析、展现和告警的整个流程,有效解决了传统安全监控系统功能单一、联动性差、展示效果不佳等问题,保障了各互联网业务系统的安全稳定运行,具有一定的参考借鉴意义。