钻井企业安全信息事件管理SIEM系统的设计与实现
作者: 李卫 张宝奇 高翔
关键词:数据安全;数据治理;网络安全;SIEM,数据融合
0 引言
2022年,长庆油田跻身我国产量最大的油田之列。其勘探范围高达37万平方公里,横跨陕甘宁晋蒙五省区,16个地市,61个县(旗),各单位分布广泛。每天,来自各单位的钻井数据都汇聚到长庆钻井总公司的信息中心。由于网络层级多,覆盖范围广,企业网络安全面临巨大挑战,因此构筑完善的网络安全体系以确保正常的生产生活显得尤为必要[1]。目前,长庆钻井总公司已在网络安全方面投入大量资金,购置了防火墙、入侵检测系统IDS、漏洞扫描、入侵防御系统IPS、Web应用防护系统WAF等设备。每个系统都有独特的功能和各自产生的日志。如果管理员频繁查看各个系统的信息,将会消耗大量精力和时间,也会影响对突发事件的响应速度[2]。如何将这些来自各个产品的安全信息和安全事件记录融合起来,形成一个安全信息事件管理(SIEM) 系统,已成为一个新的研究热点[3]。本文介绍了一种采用开源工具组合定制开发的安全信息事件管理SIEM系统,探索了一套安全信息融合的解决方案,并在小范围实验中取得了较为理想的结果。
1 安全信息事件管理SIEM 系统的构建
在过去几年里,长庆钻井总公司响应中国石油天然气集团的号召,开展了钻井数据的分类分级工作,已取得了一定成果。前期的工作为深化数据治理奠定了坚实的基础,接下来如何保障数据合规高效地共享,进一步筑牢网络安全与数据安全的防线,加强数据管控能力就成为当前工作的重点[4]。
安全信息和事件管理SIEM系统是一种集成了安全信息管理(SIM) 和安全事件管理(SEM) 的综合性网络安全强化方案,主要用于实时监控其他设备或应用软件提供的安全信息日志或事件报告,融合分析并报告潜在威胁或已发生的安全事件[5]。SIEM的主要功能有:
1) 收集管理各种设备日志:采集来自网络安全设备、服务器程序、操作系统等的日志信息,并存储这些信息,为其建立索引以供将来分析与取证。
2) 分析事件相关性:解析各种日志并识别其行为模式和框架,对不同来源的事件进行关联分析,构建可视化的安全事件视图。
3) 及时警报:根据预先设定好的规则和识别算法,及时发现安全威胁,生成警报,通知网管人员对安全威胁采取应对措施。
4) 用户友好的可视化界面:提供快捷的数据分析工具,帮助识别复杂的威胁模式。采用仪表板的方式展现分析结果并支持自动化生成合规报告,减少人员工作量。
5) 智能化的威胁检测:利用用户行为轮廓分析、机器学习和人工智能技术来发现异常行为,自主识别出以前从未出现过的,新型的未知安全威胁。通过用正常的网络行为模式进行训练,能够自动识别出一反常态的异常行为。
6) 事后取证和分析:支持事后调查取证,收集安全事件的相关信息,为法律诉讼提供呈堂证供。
SIEM系统通过提供融合多源信息综合分析的工具及直观的安全视图,增强企业数据安全的防御力,提高对安全事件的反应速度,满足数据治理的要求。
本文采用开源的工具ELK Stack(Elasticsearch,Logstash, Kibana) 来实现安全信息事件管理SIEM系统。SIEM系统的拓扑结构如图1所示,Logstash从网络设备、Apache服务器、OpenDLP应用程序和漏洞扫描设备中获取日志文件和漏洞扫描报告。Elastic⁃search用于存储从Logstash中获取的信息,存储并建立索引,提供搜索服务。Kibana提供了和用户交互的友好界面,用于展示安全信息和事件的统计结果。
2 安全信息事件管理SIEM 系统的模块
如图1所示,安全信息事件管理SIEM系统共分为3个模块。
2.1 信息采集模块
信息采集模块的核心是Logstash。它采集的数据来自DLP、漏洞扫描、服务器日志和交换机日志。针对不同形式的日志,Logstash创建配置文件,定义解析形式,并将数据输出到数据存储和搜索模块。
近两年来,长庆钻井已经进行了卓有成效的数据治理工作,实现了部分钻井数据的分类分级。因此,需要使用数据丢失防护DLP(Data Loss Prevention) 系统来阻止未经授权的用户访问敏感数据或传输。DLP主要工作包括:
数据识别:判定哪些数据是敏感的,这可以直接采用前期分类分级的结果。
定义策略:企业需要定义哪些数据需要保护,向哪类用户可以开放访问,在满足何等条件下可以传输。这些可以依据本企业已制订的《数据安全合规工作流程规范》来处理。
数据监控:DLP系统在网络设备、存储设备、桌面和移动设备上监控敏感数据的访问和传输,保证对敏感数据的操作符合规定。
数据控制:制订数据保护策略,阻止敏感数据泄漏到外网,或被复制到外部存储介质上,或被打印出来。
审计报告:DLP系统可以自动生成日志,帮助企业发现数据泄漏的风险,并为诉诸法律提供呈堂证供。
本文采用的DLP系统是开源软件OpenDLP,在内网的服务器上和私有云的虚拟机中部署了它。OpenDLP保护数据的粒度可以非常精细灵活,既可以扫描特定的数据库中的数据表,还可以识别表中的敏感字段。此外,还能够扫描特定目录和文件,以及扫描保护文件中的敏感数据。在配置OpenDLP时,可以指定要扫描的库、表、字段和文件,实现精准防护。
OpenDLP的日志文件包括:
扫描信息:记录扫描类型(扫描数据库还是文件)、扫描任务的起始时间。
扫描配置:记录扫描的具体配置,例如指定目录下的文件或指定数据库中的表和字段。
扫描结果:记录扫描结果,包括敏感数据的位置及数据识别规则。
安全信息:记录发生安全违规事件所触发的警报。
系统事件:系统停止、重启、外部尝试登录等。
本文定义了一个Logstash配置文件,用于读取、筛选和导出OpenDLP的日志文件。伪码如下:
Logstash采集的数据源不仅包括OpenDLP,还有漏洞扫描系统的报告。本文采用OpenVAS(Open Vul⁃nerability Assessment System) 来扫描检测网络环境中的各种安全漏洞,像操作系统漏洞、应用程序漏洞、配置错误、没有及时更新补丁等。OpenVAS可以生成系统扫描结果的报告,内容包括扫描找出的漏洞、危害性级别、并给出弥补措施。OpenVAS的日志可以是CSV数据表格形式也可以TXT文本。
网络设备日志和Apache 服务器日志也是Log⁃stash采集的数据源。Apache服务器的日志条目如下所示:
分别对应了IP地址、用户名、时间戳、请求方法、资源、协议、服务器状态响应码及对象字节数。
网络设备日志则包括:系统事件:启动、重启、系统错误、硬件故障、配置更改。
网络活动:端口启用/禁用、连接成功/失败、速率限制等。
安全事件:登录成功/失败、来自访问控制列表项的访问、端口安全违规。
资源状况:CPU利用率、内存占用率。
2.2 数据存储与搜索模块
数据的存储和搜索模块选用了Elasticsearch 来实现。
首先,Elasticsearch是一款开源的搜索引擎,支持复杂的查询语言、精确搜索、模糊搜索和聚合等操作。既可用于像数据库表类的结构化数据搜索,也可用于网页、文档类非结构化数据的全文搜索。它具有可扩展性好、支持分布式处理、实时索引和搜索的特点。
其次,Elasticsearch本身就是一个分布式的文件存储系统,能够存储结构化和非结构化的各类数据,所有类型的数据都可以转化为JSON格式。数据一旦被索引就立刻能被搜索,非常适合实时监控和分析的应用场景。虽然Elasticsearch支持增删改查的操作,但它并不是一个关系型数据库。它最突出的优点是能快速地索引和检索大量复杂的数据结构,并支持复杂数据结构的统计和分析。
采集模块中的各个数据源有着不同结构的数据。OpenDLP中的日志文件需要自定义解析,属于非结构化数据;OpenVAS中的数据可以是CSV数据表形式,属于结构化数据。而网络设备和Apache服务器日志中的每一行都是固定格式,可以看作半结构化数据。加之SIEM具有良好的扩展性,以后可能还会接入更多类型的数据,复杂多样的数据结构,分布式存储则正好契合了Elasticsearch的特点。因此,数据存储和搜索模块选择了Elasticsearch。只要把Logstash处理过的数据输出到Elasticsearch,它就能为它们快速地建立索引。以下伪码表示了Elasticsearch为OpenVAS 日志建立索引。
2.3 用户视图模块
用户视图选用的Kibana 是一个开源的数据管理平台,界面友好,为用户提供了丰富的可视化工具,支持各类图表、地图和图形来直观地表示数据。内置的数据分析功能可以实时监控数据变化并进行分析,还能提供数字化驾驶舱,用多个仪表盘同时显示多路数据变化,功能十分强大。图2是用Kibana开发的,显示OpenDLP日志文件信息的仪表盘。该仪表盘包括三个小组件,分别是显示检测到的敏感数据类型分布的饼图(标签为"Sensitive Data Type Distribution") 、显示随时间变化的事件计数的二维平面折线图(标签为"Incidents OverTime") ,以及列出最近发现的包含敏感数据的日志条目的数据表(标签为"Recent Sensitive Data Findings") 。仪表板布局清晰,整体展现出专业的外观。
3 结束语
长庆钻井总公司由于具有地域分布范围广、数据产生量大、来源分散、传递层级多的特点,对网络安全和数据安全提出了更高的要求。为了满足日益增长的安全需求,本文在采取常规安全措施的基础上又探索了安全信息事件管理系统SIEM的设计与开发。实际效果表明,应用SIEM系统可以更有效地提高网管人员的工作效率,帮助他们更快更早地发现并解决安全隐患,从而有力地保障了网络和数据安全。