安全加固审计大数据的自动巡检方案 9月01

Tags

Related Posts

安全加固审计大数据的自动巡检方案

安全审计大数据时代的来临

大数据(Big data)通常用来形容一个公司创造的大量非结构化和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱,而从各种各样类型的数据中,快速获得有价值信息的能力,就是大数据技术。

大数据的4个“V”,或者说特点有四个层面:第一,数据体量巨大,从GB级别,跃升到TB级别;第二,数据类型繁多;第三,价值密度低;第四,产生速度极快。业界将其归纳为4个“V”——Volume,Variety,Value,Velocity,如何以快速的方法从海量数据中获取到价值,是应对大数据的最大的挑战。

安全审计规范化工作,也符合4个“V”的特征:

Volume:随着安全规章制度、审计条目数量、跨行业信息系统安全规范的日渐庞大,以及频繁的重要事件安全保障工作,安全加固审计的数据量也呈现出爆炸性增长趋势;

Variety:种类繁多的设备、数据库及应用程序,跨系统、跨平台的安全加固配置条目,运维人员需要处理大量不同数据来源及格式的安全数据;

Value:面对大量的数据来源,形态各异配置文件、配置条目,如何快速定位到与信息安全加固工作相关的内容,是一项极具挑战的工作;

Velocity:由于互联网的不断深入及开放,以及重要事件安全保障工作的接踵而至、审计规则的不断细化增加,安全威胁的来源类型正处于爆炸性增长的阶段,因此,安全加固数据也呈现出极快的增长趋势。

面对海量的安全审计规范及安全检查条目,传统的依赖关系性数据库的数据管理解决方案由于需要预先进行ETL(转义入库,详见名词说明)定义,已经无法满足安全审计大数据的发展需求;而silo(信息孤岛,详见名词说明)模式管理方法更是效率低下,各部门人员流水线作业,效率远低于审计规则及新安全漏洞的增长速度。实时大数据集分析需要像MapReduce(Google提出的一种软件框架,详见名词说明)一样的框架来进行快速的索引分析。

面对大数据,我们需要Splunk

快速兼容各种数据来源 安全加固的范围包括操作系统、应用系统、数据库系统、网络设备等多种来源类型,为了保障信息系统对企业业务的有效支撑,应该通过安全加固工作消除潜在的安全风险。然而面对多种类型的操作系统、数量庞大的应用以及形态各异的数据库系统,如果对所有条目逐一进行ETL,将会是mission imposible。

Splunk采用了内部通用索引技术,使得用户在需要快速部署新的数据类型时可以直接从原始数据中分解和识别字段,而不需要预先进行ETL定义,可以快速兼容各种数据源而且可以随着安全加固需求的变化快速调整。

灵活方便的部署方法 传统数据管理解决方案的数据采集依赖于Agent,但受限于操作系统、应用程序的多样化,大部分Agent需要预先定义好需要获取的、有限的数据类型,即可以被ETL的数据来源,进而完成后续的结构化入库工作;同时,随着数据类型及条目的增加,定时运行特定脚本获取数据的Agent所消耗的系统资源也会不断增加,导致安全审计工作反而造成网络和系统的突发负载,产生巨大的额外压力。

Splunk的Universal forwarder可以支持几乎所有常见的操作系统(包括Windows、linux甚至OS400等封闭式平台),支持脚本、syslog、WMI等各种数据采集方法保证可以灵活获取任何类型的安全审计条目(包括保存在数据表内部的安全配置),而流量负载均衡、传输速率控制的配置可以有效减轻安全审计工作为网络带来的额外负载压力,本身所具备的流量加密功能有效消除了安全审计工作自身所带来的安全隐患。

同时,Splunk的索引服务器及搜索服务器均可以使用分布式的部署方法,在大数据时代,这可以有效增加数据处理、结果展现的效率,也可以帮助减轻安全审计工作为系统及网络所带来的额外负载压力。

 

快速实施、适应变化 随着十八大和两会等重大事件的安全加固与保障要求的频繁产生,由于Splunk的界面、报告都是基于索引功能及搜索语句所产生,非常容易定制,因此Splunk是几乎惟一可以在几个星期内完成快速落地的方式,其他产品即便能够满足暂时的需求,一旦遇到调整,又将重新陷入到混乱的ETL工作环节中。

Splunk提供灵活的搜索语句可以对各种特定的审核标准进行评分和报告,当面临安全审计规则的增加变化时,Splunk需要做的只是稍微修改一下相应的搜索语句,即可快速完成调整,以适应新的安全审计规范要求。而随着企业信息系统行业规范的日益增加,及跨行业活动的日益频繁,Splunk也可以通过灵活的搜索语句及跨行业的实施经验,帮助企业完成安全审计合规的快速实施,适应各种快速变化。

新型数据来源 由于具有良好的可读和便于快速编写的特性,越来越多的配置文件或日志采用了XML及json等新型的数据来源格式进行编写,但它们非严格结构化的数据格式也为解析及审计工作带来了困难;Splunk能够支持复杂的XML和json等新型数据来源的自动识别对比,对于采用了这些新型数据来源的中间件及设备的安全配置条目分析,传统的基于结构化数据库的日志分析工具根本无法胜任,Splunk几乎是惟一手段。

安全加固审计大数据的自动巡检方案设计

安全加固审计的范围 安全加固审计的范围包括操作系统、应用系统、数据库系统、网络设备等多种来源类型,而各种系统、设备有具备各自需要重点关注的安全审计条目,以下通过大致的分类来说明各项安全加固审计内容的关注重点:

操作系统:种类繁多的操作系统安全加固审计条目大体上可以分为系统服务、访问控制、策略检查、帐号安全、安全日志、补丁检查6个类型;

应用系统:应用系统种类更是多不胜数,包括Weblogic、Websphere、BIND、IIS等常用的中间件系统,大体上可以把它们的安全加固审计条目分为安全策略、安全日志、补丁检查3个类型;

数据库系统:作为现今信息系统中不可或缺的服务组件,各大厂商所提供的数据库系统也是形态各异,有DB2、Oracle等商业数据库,也有Mysql等开源数据库,我们把数据库系统的安全加固审计条目大体上分为安全策略、帐号安全、授权安全、安全日志、补丁检查5个类型;

网络设备:网络设备承载了业务系统的通信功能,同时也承载了一些安全保护与行为控制的功能,网络设备的类型包括路由器交换机、防火墙、IPS/IDS及VPN等各式各样功能的设备,也会由Cisco、华为、Juniper等多个不同的厂商提供,大体上网络设备的安全加固审计条目可以分为认证检查、ACL(访问控制列表)、路由行为等类型。

当然,由于操作系统、应用系统、数据库系统及网络设备提供着不同的服务功能,厂商的规范及设定五花八门,它们的安全加固审计重点也不尽形同,Splunk支持多种平台及多种数据获取方法的特性在这种复杂的环境中发挥了至关重要的作用。

数据采集方案设计 传统Agent方式的数据采集高度依赖于操作系统,即其本身只能支持特定类型的操作系统,并且根据经验把各操作系统所关注的信息以脚本或程序模块的程序预先固化在Agent程序当中,并定时执行这些脚本或程序模块,把得到的采样结果发送到管理程序服务器进行处理展现。

Splunk支持几乎所有类型的数据方式,包括Unix内核系统下的cli、脚本等方式,Windows内核系统下的WMI、batch等方式,以及SNMP、syslog等通用监控方式,甚至是使用Python(一种计算机编程语言,详见名词说明)程序来完成数据采集的工作。以下提供各种系统、应用及设备采集数据的基本方法:

操作系统:常见的操作系统安全加固审计条目的获取方法包括基本命令、WMI、syslog、shell脚本、batch脚本及配置文件等等,这些方法都可以整合到Splunk 的Universal forwarder,使用定时执行或实时变化监听的方法进行采集;

应用系统:应用系统的安全加固审计条目绝大部分保存在相应的配置文件当中,因此可以使用操作系统提供的shell脚本、batch脚本及基本命令的方式进行采集,也可以直接利用Splunk 的Universal forwarder对配置文件进行实时监听;

数据库系统:数据库系统的安全加固审计条目除了保存在相应的配置文件中之外,有些条目也会被保存在特定的数据表当中,因此在利用Universal forwarder进行定时执行或配置文件监听进行数据采集的同时,也可以利用Python程序及

SQL语句配合Universal forwarder定时执行的方法获取到保存在数据表内的安全加固审计条目;

网络设备:各种网络设备的厂商提供了各式各样的配置及事件安全管理接口,针对当前常见的网络设备,Splunk可以利用TFTP、FTP、syslog、Python及SNMP等方法进行设备相应的安全加固配置条目及安全事件等信息的数据采集工作。

安全加固审计功能呈现 当我们确定好监控范围以及数据采集方式以后,就需要决定如何利用Splunk的搜索及报告功能来帮助我们进行功能呈现了。

统一监控管理界面:首先在安全加固审计系统的方案中,我们需要有一个统一的监控管理界面,来对操作系统、应用系统、数据库系统及网络设备的安全加固状态进行总览,了解当前整个信息系统的安全加固状态并提供一个异常事件深入分析的入口。在这个界面中,我们还可以把重要的视图和报表,根据关注重点进行调整、呈现,并提供一些安全事件分析、趋势分析的总览视图。

配置细节查询界面:当我们需要把问题定位到具体的安全加固审计条目上的时候,就需要进入到配置细节的查询界面进行查询。查询界面提供多个过滤条件,例如配置来源类型(如操作系统、应用系统、设备等),配置类型(如安全策略规范、访问控制列表、账户安全条目等),配置文件名称(例如passwd、shadow以及具体数据表名称等配置文件),以及安全加固审计条目关键字(例如 services、login、IP地址等等),管理员仅需在相应的一个或多个过滤条件位置输入相应的内容,即可在屏幕下方罗列所有符合过滤条件的安全加固审计条目原始数据,快速定位到具体问题位置。

安全评分报告:为了符合安全加固审计规范,我们可以为每一条审计条目都加上相应的分值,当需要了解当前信息系统的安全状态时,可以通过评分报告了解当前信息系统符合安全加固审计规范的具体情况,从而也可以了解企业的信息系统是否处于一个安全可靠的运行状态。安全评分报告可以在任意时刻查询当前时间点的具体情况,也可以查询历史记录情况,同时可以提供给自动巡检功能作为巡检结果输出。

自动巡检:自动巡检是安全加固审计大数据自动巡检方案的核心,可以根据合规的需求设备自动巡检的时间间隔,也可以根据审计需要设备巡检结果分析报告的内容及评分规则,同时根据巡检结果提供相应的评分及安全状态分析报告,供归档及内部交流使用,也可以在自动巡检的同时,运行预先设置好的修复脚本,对当前系统加固情况的漏洞进行自动修复。

结束语

在安全加固审计规范、审计条目及系统安全漏洞暴增的今天,信息系统安全管理工作无疑已经进入了大数据时代,而效率低下的管理工具及silo模式的管理方法使得安全加固审计规范工作成为了几乎所有系统管理员的噩梦。如果可以利用有效的管理方法对安全加固审计工作的进行完善,安全加固审计大数据将会从一个急需解决的技术难题,转变为提升企业整体竞争力的重点。

在金融、运营商、制造业、快消行业以及电商,大家已经达成了“数据就是业务本身”的共识,而对于安全加固审计的大数据而言,数据可以反应企业的信息系统本身是否固若金汤。在未来,我们将看到越来越多的企业将完成自己的安全加固审计大数据解决方案,而率先进入大数据时代并快速解决这些技术难题的一方将会在大数据时代的竞争中占得先机。

名词解释

ETL:转义入库,是英文Extract- Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

Silo:信息烟囱(英文:information silo), 又称为信息孤岛(英文:information island)、孤岛式信息系统或者烟囱式信息系统,指的是一种不能与其他相关信息系统之间进行互操作或者说协调工作的信息系统。本文silo管理模式代指各系统管理员各自独立为战,无法形成相互协助,统一管理的有效机制。

MapReduce:MapReduce是Google提出的一个软件架构,用于大规模数据集的并行运算。概念“Map(映射)”和“Reduce(化简)”,及他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。MapReduce实现以后,它被用来重新生成Google的整个索引,并取代老的ad hoc程序去更新索引。

Python:是面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法非常简捷和清晰,与其它大多数编程设计语言不一样,它使用缩进来定义语句。

——Peter