书名:开源安全运维平台OSSIM疑难解析:入门篇
ISBN:978-7-115-50550-7
本书由人民邮电出版社发行数字版。版权所有,侵权必究。
您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
著 李晨光
责任编辑 傅道坤
人民邮电出版社出版发行 北京市丰台区成寿寺路11号
邮编 100164 电子邮件 315@ptpress.com.cn
读者服务热线:(010)81055410
反盗版热线:(010)81055315
OSSIM(Open Source Security Information Management,开源安全信息管理)系统是一个非常流行和完整的开源安全架构体系,通过将开源产品进行集成,从而提供一种能实现安全监控功能的基础平台。
本书精选了作者在OSSIM日常运维操作中遇到的许多疑难问题,并给出了相应的解决方案。本书共分为10章,内容包括SIEM与网络安全态势感知、OSSIM部署基础、安装OSSIM服务器、OSSIM系统维护与管理、OSSIM组成结构、传感器、插件处理、SIEM控制台操作、可视化报警以及OSSIM数据库等。
本书适合具有一定SIEM系统实施经验的技术经理或中高级运维工程师阅读,还可以作为开源技术研究人员、网络安全管理人员的参考资料。
李晨光,OSSIM布道师、资深网络架构师、UNIX/Linux系统安全专家、中国计算机学会高级会员。他写作的《Linux企业应用案例精解》《UNIX/Linux网络日志分析与流量监控》《开源安全运维平台OSSIM最佳实践》在图书市场上具有相当抢眼的表现与上佳口碑,且中文繁体字版本也被输出到中国台湾。
李晨光先生还是51CTO、ChinaUnix、OSchina等社区的专家博主,撰写的技术博文被国内各大IT技术社区广泛转载,还曾多次受邀在国内系统架构师大会和网络信息安全大会上发表技术演讲。
目前,OSSIM在中国移动、中国电信、中国石油、华为等大型企业内得到应用推广,这些企业在安全运营中心(SOC)基础上组建了OSSIM运维和二次开发团队,但图书市场缺乏专门讲解OSSIM运维和开发的书籍。为了解答OSSIM运维工程师在工作中遇到的疑难问题,本书应运而生。
本书借助作者在OSSIM领域长达10年的开发应用实践经验,以大量实际问题为线索,阐述了基于插件收集的日志并实现标准化、安全事件规范化分类、网络威胁情报、事件关联分析等前沿技术问题。
本书涵盖的知识面广,讲解由浅入深。本书可以帮助初学者熟悉OSSIM基础架构,能完成系统安装、部署任务,能处理安装故障,并对Web UI进行简单的汉化。对于中、高级用户而言,通过学习本书可以将OSSIM框架和底层源码融汇贯通,通过开发脚本来深挖OSSIM的潜力。
本书编写形式新颖,表达方式独特,图文并茂,通俗易懂,有着很强的实用性。读者在学习和阅读的过程中可以针对自己感兴趣的问题得到及时、明确的解答。在满足碎片化阅读的同时,本书还通过近百道课后习题加深读者对OSSIM系统的理解。
本书介绍了开源OSSIM系统安装部署以及运维管理的若干疑难问题,共分为10章。
本书精选了在OSSIM日常运维操作中总结的近300个疑难问题,是OSSIM运维工程师故障速查手册,专门针对OSSIM常见故障而编写。本书适合具有一定SIEM系统实施经验的技术经理或中高级运维工程师阅读,可作为信息安全专家和相关领域的研究人员的参考书,也可作为高等学校网络工程和信息安全专业的教材。
本书软件的安装环境为Debian Linux 8.0。在安装其他软件时,必须符合该版本要求。
OSSIM的前台界面复杂,书中经常会用一串带箭头的单词表示菜单的路径,例如Web UI的Dashboards→Overview→Executive,表示Web界面下鼠标依次单击Dashboards、Overview,最后到达Executive仪表盘。
除非特别说明,本书所涉及的路径均指在OSSIM系统下的路径,而不是其他Linux发行版。终端控制台是指通过root登录系统,然后输入ossim-setup后启动OSSIM终端控制台的界面。
在终端控制台下,选择Jailbreak System菜单就能进入root shell,登录日志会保存在/var/log/ossim/root_access.log文件中。
SIEM控制台是指通过Web UI进入系统,在菜单Analysis→SIEM下的界面。
本书讲述的OSSIM服务器端是指通过Alienvault USM安装的系统,包括OSSIM四大组件;传感器端是通过AlienVault Sensor安装的系统。
本书所有地图信息均引自谷歌地图,大家在做实验前确保连上谷歌地图,而且在使用系统中的OTX时也需要能连接到谷歌地图。
OSSIM Web UI适合采用Safari 7.0、Google Chrome 44.0、IE 10.0以上的浏览器访问。
本书涉及的软件较多,其中一些重要的软件可到异步社区的本书页面中统一获取。
与其他Linux系统一样,在学习OSSIM的过程中也会出现各种问题和故障。由于网上能直接找到的资料有限,所以很多新手都担心出现问题,在面对问题时都很局促,特别是当一个个问题接踵而来时会显得无可奈何。
学习OSSIM可以充分暴露你的“知识短板”,这体现在编程语言、数据库、操作系统、TCP/IP、网络安全的各个方面。不过通过解决OSSIM中遇到的问题,就会逐步弥补这些短板。学习就是一个发现问题与解决问题的过程,只要掌握了OSSIM的体系结构和运行原理,很多问题都可以迎刃而解。当然,前提是我们已经具备了下面所列的这些扎实的基本功:
要想成为OSSIM系统运维人员,面对问题时头脑中必须有一个清晰、明确的故障解决思路,一般有以下5个步骤。
以上只是解决问题的基本步骤,实验失败是一段充满教育性的成长经历,没有失败积累经验,何谈成功呢?失败次数越多,你对它的理解就越深,离突破性成功就越近。但很多人却不这么看,他们在安装配置OSSIM的过程中,接连遇到一两个失败的经历就对这款工具没什么兴趣以至于最后放弃。
在安装阶段遇到的典型问题有下面这些。
除此之外,还有路由不通、图形无法显示、抓不到包、采集不到日志等许多故障。无论你是新手还是专家,只要坚持学习OSSIM,就会不断遇到各种问题。老问题解决了,换个环境,新问题还会不断发生。如果都能逐一化解,那么你的业务能力和分析问题、解决问题的能力会逐步增强。
在系统出现问题时,大家通常会上网寻找答案,比如通过QQ群、百度、谷歌或者AlienVault社区、Blog等方式。在这些地方,他们往往将自己的报错信息粘到网上,便坐等答案出现(其实“坐等”“跪求”都无济于事)。
在专家眼里,是否对你提出的技术问题进行解答,很大程度上取决于提问的方式与此问题的难度。一些读者在提问前不深入思考,也不做功课,而是随便提出问题,想利用守株待兔的方式轻易获取问题的答案,这样能取得真经吗?不经历风雨又怎能见到彩虹!
从另一个方面看,专家会觉得你不愿意自己付出,在浪费他们的时间,因此你自然也不会得到想要的结果。专家最喜欢那些真正对问题有兴趣并愿意主动参与解决问题的人,而且只有提出有技术含量的问题,他才会花时间为你回答问题。
作为提问者,必须表现出解决此问题的积极态度,应该提前做些功课,举例如下。
在描述问题时,请遵循以下技巧。
有些读者在提问时,喜欢贴一堆日志或者几张图然后发问,什么前因后果都不讲清楚,就想着获得答案。提问都懒得说清楚,专家也懒得回复。所以,请稍微花一些时间组织语言,把问题说清楚。注意体现文字的准确性和你思考问题的积极性。
最好把问题连同故障截图(提供完整截图)作为附件发给专家,建议使用标准的文件格式发送,以下是参考格式。
首先感谢我的父母多年来的养育之恩;其次感谢在我各个求学阶段给予帮助和支持的老师;最后感谢我的妻子,正因为有了她的精心照顾,我才能全身心地投入到图书创作中。
由于作者水平有限,书中难免会出现错误和不准确的地方,恳请读者批评指正。如果您有更多宝贵意见,欢迎给我发邮件或者通过我的微信公众号进行反馈。本书的勘误也会通过公众号进行发布。请读者扫描下面的二维码进行关注。
2019年7月
本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。
本书提供如下资源:
要获得以上配套资源,请在异步社区本书页面中点击,跳转到下载界面,按提示进行操作即可。注意:为保证购书读者的权益,该操作会给出相关提示,要求输入提取码进行验证。
如果您是教师,希望获得教学配套资源,请在社区本书页面中直接联系本书的责任编辑。
作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。
当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,单击“提交勘误”,输入勘误信息,单击“提交”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。
我们的联系邮箱是contact@epubit.com.cn。
如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。
如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/selfpublish/submission即可)。
如果您是学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。
如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。
“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。
“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。
异步社区
微信服务号
关键术语
安全信息与事件管理(Security Information and Event Management,SIEM)是指为企业中所有资源(包括网络、系统和应用)产生的安全信息(包括日志、报警等)进行统一、实时的监控、历史分析,对外部的入侵和内部的违规、误操作行为进行监控、审计分析、调查取证、出具各种报表报告,以实现资源合规性管理的目标,同时提升企业的安全运营、威胁管理和应急响应的能力。
安全信息与事件管理技术能够对系统中的安全设备实现统一管理,同时能从其产生的大量安全信息与事件中找出安全威胁,使安全管理人员能够快速地对安全状况进行全方面的把握。
对于SIEM来说,可以大致将其分为3个阶段:信息采集、事件处理、安全评估,如图1-1所示。
图1-1 SIEM处理流程
信息采集是对分布式的异构事件进行统一采集,将采集的信息初步合并,集中存储。信息采集是整个安全信息与事件管理的第一阶段,整个处理过程都是以各个安全设备和主机上采集到的安全信息为基础进行的。
在安全信息与事件管理中收集的数据主要包括安全信息和安全事件,具体包括当前目标网络中受控主机信息和网络信息,以及部署在目标网络上的安全设备的日志和报警信息。
主机信息包括操作系统日志、文件访问记录、用户登录信息、各个主机或服务器上的系统漏洞信息、数据库访问记录等。
网络信息包括网络流量信息、网络拓扑信息、网络协议使用情况等。
安全设备信息主要包括安全设备日志和安全设备报警信息。安全设备报警信息主要包括由入侵检测系统产生的攻击事件、端口扫描事件,由防火墙产生的拒绝访问事件、防火墙策略修改事件等,由漏洞扫描产生的漏洞扫描结果、漏洞扫描策略变更,由防病毒软件产生的病毒事件。
SIEM(安全信息与事件管理)并非最新的概念,早在2006年国内就有大量的专业安全公司投身于SIEM技术的研发,并一度引爆了企业安全管理、内部威胁管控与安全运营中心SOC的话题。企业用户不太了解Zabbix、Splunk、OSSIM、ELK这些技术之间到底有什么区别。要知道,SIEM作为以安全信息和安全事件为基础的管理平台,一直以来都是企业安全策略的重要组成部分。应该说SIEM的关键信息点在于平台集成化、日志标准化、事件关联化、界面可视化。它的核心思想是通过信息源的收集,实现关联分析,提供风险评估和威胁报告,最终帮助安全团队快速做出响应。
事实上,在激烈的市场竞争中,有McAfee、IBM QRadar、HP ArcSight、ManageEngine等基于SIEM理念的商业产品脱颖而出,但这些产品有以下3点不足。
中小企业的业务系统通常会选择主机托管或者虚拟主机。对于将数据存储在云端的企业,通过安装监控代理来推送流量和日志到公共的云服务器,利用软件即服务(SaaS)应用程序接口从公有云端采集日志信息,就能实现跨多个平台的流量事件分析。这种云平台的应用程序同样可以提供统一的仪表盘视图和审计报告,然而它的最大问题在于所有企业数据和分析报表的数据库都存储在云端,数据的安全性让人担忧。
SIEM安全运维模块包含以下内容。
① 安全设备管理:包括安全设备的配置、监控、分析、备份、巡检等工作。
② 资产管理:不少企业上线的IP资产比较混乱,资产管理往往没有头绪。由于人员的更替,业务负责人对某些设备可能也不是十分清楚。安全资产管理属于安全运维中的重要部分。安全资产发现是安全资产管理的核心,包括资产漏洞管理、补丁管理、杀毒软件管理、主机入侵检测管理。最后是业务分级、资产分级,不同级别的资产采用不同级别的防护。
③ 资产发现:具有自研能力的企业首选使用嵌入主动扫描程序和Nmap功能的资产管理程序,通过主动扫描和流量分析两种方式识别IP资产。如果部署了OSSIM运维管理系统,那么也可以通过运维管理系统来识别IP资产。
④ 漏洞管理:漏洞管理包括OpenVAS、绿盟极光、Nessus等工具。
⑤ 主机入侵检测:常见的OSSEC包含主机入侵检测、文件完整性分析、rootkit分析等功能。最新版本的OSSEC输出日志可以直接设置成JSON格式,以输出到ELK(开源日志、分析平台Elasticsearch+Logstash+Kibana的简称),这很方便。
⑥ 网络入侵检测系统:开源软件,如Snort和Suricata。
⑦ 网络流量分析:如NetFlow Ntop。
⑧ 日志管理:首先分析需要收集哪些日志,可以关联哪些日志,通过这些日志能分析出哪些安全事件,怎么处理其他安全事件。收集的日志包括以下内容。
⑨ 知识库系统:包括安全部门的各种制度、漏洞的修复方法、内部培训资料等。所有安全文档可以集成到一个合适的知识库平台,以方便所有人员使用,也能减少由于人员离职导致的各种问题。
谈到监控工具,首先要知道哪些指标需要监控?能监控到什么?应监控到何种程度?下面先谈谈运维的现状。
传统企业的网络运维是用户在使用计算机时发现故障之后通知运维人员,再由运维人员采取相应的补救措施。运维人员大部分时间和精力都花在处理简单且重复的问题上,而且由于故障预警机制不完善,往往是故障发生后才进行处理。因此运维人员的工作经常处于被动“救火”状态,这种模式让IT部门疲惫不堪。此处,不少企业存在盲目建设、重复建设运维系统的现象。目前在运维管理过程中缺少明确的角色定义和责任划分,以及自动化的集成运维管理平台,以至于问题出现后很难快速、准确地找到原因,而且在处理故障之后也缺乏必要的跟踪与记录。这种状况下,运维质量怎么能提高?生产部门怎么能对运维部门有满意的评价?
监测网络接口的通断流量已满足不了目前运维的需要,我们需要将流量分析得更深入。传统流量监控工具多数只能查看流量变化趋势,而很多漏洞、ShellCode攻击往往混杂在正常流量中进入企业网。要想知道每个数据包中携带了什么内容,普通的“摄像头”无法满足需求,需要更强大的“X透视相机”进行协议分析。只有准确理解事物的本质,才能对症下药。图1-2所示为利用Snort发现ShellCode攻击的实例。
图1-2 ShellCode的有效载荷实例
在大数据时代下,运维工程师面对大量网络安全事件,往往遇到如下挑战。
出现这些问题的原因是企业缺乏事件监控和诊断的运维工具,如果没有高效的管理工具来支持,那么就很难让故障事件得到快速处理。市面上有很多运维监控工具,例如商业版的Cisco Works 2000、SolarWinds、ManageEngine以及专注于故障监控的WhatsUp Gold,在开源领域有MRTG、Nagios、Cacti、Zabbix、Zenoss、OpenNMS、Ganglia、ELK等。
由于它们之间的数据没有关联,所以即便部署了这些工具,很多运维人员也没有从重复性的工作中解脱出来。成千上万条报警信息堆积在一起,运维人员根本没办法判断问题的根源在哪里,更别提信息筛选和数据挖掘了。
另外,在需要多次登录才能查看各种监控系统时,没有统一的门户站点,这就需要查看繁多的界面。而且更新管理的大多数工作都是手工操作,即使一个简单的系统变更或更新,往往也需要运维人员逐一登录系统,当需要维护成百上千台设备时,其工作量之大可想而知。而这样的变更和检查操作在IT运维中往往每天都在进行,这无疑会占用大量的运维资源。因此,运维工作人员需要统一的集成安全管理平台。
人工整合开源监控系统的难点如下。
在实践中可以发现,使用手动集成安全监控工具的方案遇到了性能问题,一些脚本会周期性地消耗较多的CPU和I/O资源,很难做到实时分析。
优秀的安全运维平台需要将事件与IT流程关联起来,一旦监控系统发现性能超标或出现宕机现象,就会触发相关事件以及事先定义好的流程,自动启动故障响应和恢复机制。还需要能够筛选出运维人员以完成日常的重复性工作,提高运维效率。这些功能都是常规监控软件(如Cacti、Zabbix)所无法实现的。
与此同时,还要需能预测网络威胁,能够在故障发生前报警,让运维人员把故障消除在萌芽状态,将损失降到最低。
总体来说,运维工程师需要在一个平台中实现资产管理、分布式部署、漏洞扫描、风险评估、策略管理、实时流量监控、异常流量分析、攻击检测报警、关联分析、风险计算、安全事件报警、事件聚合、日志收集与分析、知识库、时间线分析、统一报表输出、多用户权限管理等功能。是否有这种平台呢?
目前市面上有多种产品可满足这样的要求,SIEM产品主要有HP ArcSight、IBM Security QRadar SIEM和AlienVault的OSSIM。现在的问题是并不缺少商业SIEM解决方案,在开源软件中,OSSIM是最佳选择。OSSIM可以将原来一个机架上复杂的应用服务器(OSSEC、OpenVAS、Ntop、Snort等)整合进OSSIM系统中,如图1-3所示。这样不但整合了系统,而且提高了机房利用率。
图1-3 将诸多应用整合到OSSIM系统
之所以能够整合,原因在于OSSIM可将很多优秀的开源软件集成在一起,用户无须安装软件,无须编程就能将一个复杂的SIEM平台一步到位地部署在企业网中。
在使用OSSIM系统时,也不用考虑如何建模和考虑收集什么数据。它有设计好的几百个现成的插件,能帮你归纳并整理日志信息,保证所有数据都具有规范化的事件格式。
用户也不用考虑日志收集过多而导致的存储压力,因为OSSIM提供了关联分析技术和优化的存储设计,这可以从成千上万条日志中通过归纳、关联分析筛选出安全分析人员感兴趣的安全事件,并存储到数据库,同时向管理员发出报警。引入日志在线鲜活窗口可分析最新鲜的日志,而超过时间窗口的老数据会被归档到磁盘,这使得枯燥的日志收集分析变得更加智能化。OSSIM企业版为了将自己打造成一款智能化的运维分析平台,内置了2 000多条网络攻击关联分析规则和上百个不同指标的报表模板。
以前,网络运维人员为了掌握网络内部数据的情况,需要花费大量精力和时间去尝试各种管理软件,配置各种安全管理工具,但真正用于数据分析的时间却不多。OSSIM提供的平台可将企业网中所有的数据汇总组成一个大数据分析平台,让安全分析人员能够用更多的时间去分析数据,并能够利用这个集成化的统一运维平台更加客观、理性地分析现有网络的安全情况,而不是像过去一样花费大量时间搭建平台。
为了满足不同用户的需要,OSSIM既有可以部署在本地的版本,也提供了云平台(Hyper-V、Azure、AWS、VMware)的商业版本AlienVault USM Anywhere,主界面如图1-4所示。
图1-4 AlienVault USM Anywhere主界面
根据用途不同,AlienVault又可细分为开源OSSIM和商业版USM及云平台这3种。这些集成监控工具可约束用户操作规范,并对计算机资源进行准实时监控,包括服务器、数据库、中间件、存储备份、网络、安全、机房、业务应用等内容,并通过自动监控管理平台来对故障或问题进行综合处理和集中管理。如果不想购买昂贵的商业软件,不愿意投入大量精力进行开发,那么可使用OSSIM平台。
传统的SIEM系统不适合用来处理非结构化数据。如果输入大量未经验证的数据(没有经过归一化处理的数据),那么这些数据将会以垃圾信息的形式来呈现,从而妨碍管理人员分析数据,并快速导致SIEM“消化不良”,拖垮整个系统。
而威胁情报能为安全团队提供“及时识别和应对攻陷指标的能力”。虽然有关攻击的信息比比皆是,但威胁情报在过程中能识别攻击行为,其原因是将这些信息与攻击方法和攻击进程的上下文知识进行了紧密结合。OSSIM将SIEM模块与威胁情报相结合。企业将以敏捷和快速反应的方式应对不断发展的、大批量、高优先级的威胁。如果不进行匹配,则企业就是在盲目地努力并且要面对混乱报警的局面。
在SIEM中观察网络威胁时,会令运维人员会过度关注内部细节。在所有威胁数据中,不论是结构化的还是非结构化的,都需要从更“全球化”的角度进行综合分析和研究。只有使用筛选后的高质量的威胁情报来预警,才能形成对威胁态势的感知能力。
OTX(Open Threat Exchange)是AlienVault公开威胁交换项目建立在USM(统一安全管理平台)之上的系统,其作用是共享OSSIM用户收到的威胁,包括各种攻击报警发现的恶意代码信息。OTX是互联网中所有用户汇集力量共建的一个共享情报系统。
根据威胁来源的不同,还可以将威胁分为内部威胁和外部威胁两种。内部威胁是指系统的合法用户以非法方式进行操作所产生的威胁。外部威胁来自互联网,外部威胁情报通过从整个网络搜集来的本地威胁情报进行增强,并与环境数据关联。
这些实时威胁数据来自安全情报交流社区。在这个社区中有170多个国家和地区,30 000多个用户成功部署的OSSIM。各安全社区会上报威胁数据,其目的是更全面、多样化地防范各种攻击模式。
OTX的显示特性与Norse(可以反映全球黑客网络攻击的实时监控数据)显示的数据有些类似,不同的是OTX主要展示的是一种威胁交换分享。可以进入OSSIM Web界面查看OTX带来的动态特性,从一级菜单Dashboards中进入Risk Maps子菜单之后,系统可以利用数字技术在世界地图上动态展现网络威胁出自哪些国家或地区,它的IP信誉数据主要记录位于/etc/ossim/server/reputation.data文件中,其中包含了已知恶意IP地址数据库检查的IP信誉度评价。
传统安全解决方案一般是先判断行为的好坏,再执行“允许”或“拦截”之类的策略。不过随着高级攻击的日益增多,这种方法已不足以应对各种威胁。许多攻击在开始时伪装成合法的流量进入网络,然后再实施破坏。因为攻击者的目标是渗透系统,所以需要对其行为进行跟踪,并对其IP地址进行信誉评级。
OSSIM中反映出的IP特征包括IP地址的域名、地理位置、操作系统和提供的服务功能等。这些信息用来构建出全球IP信誉系统。
刚装好OSSIM系统并初次进入Web UI配置向导时,系统会提示设置OTX,这时候首先注册账户并登录AlienVault官网,注册成功后用户会收到64位令牌。将这串数字复制下来,在OSSIM Web UI的Configuration→Administration→Main→Open Threat Exchange下输入令牌并激活,如图1-5所示。注意,此账户一定要激活才能生效。
图1-5 输入OTX注册码
当启用OTX功能后,再次查看SIEM事件,会发现在IP地址后面多出了一个黄色的图标,如图1-6所示(见箭头所指的位置)。如果希望在地图上查看这些IP地址,那么需要开启OTX功能,其位置在菜单DashBoards→OTX中。
图1-6 成功注册OTX的效果
注意,假如没有VPN环境,则OTX账号可能无法成功注册。
AlienVault通过计划任务每小时更新一次IP信誉数据集,并同步产生一个修订版(文件名称为reputation.rev)。如果希望实现手动更新,那么需要知道信誉数据集的下载位置。
步骤1 使用wget命令下载数据文件。
步骤2 验证该文件的行数。
从结果中可以看出,共有28万条数据。AlienVault的IP信誉数据库容量大约为18MB。
下面是一个IP信誉数据文件的实例,并查看该文件的前10行内容。
从下载的IP信誉数据文件可以看出,IP信誉数据库具有一个比较简单的记录格式,该格式包含了若干个#,它作为分隔符来分隔8个字段。
61.67.129.14X#6#5#C&C#TB#Taip#25.0391998291,121.525001526#2
IP,Reliability,Risk,Type,Country,Locale,Coords,x
每条记录对应一个IP地址的属性,每个IP地址通过Coords字段设定地理定位信息:经度/纬度。一个IP信誉数据库有28万条IP位置坐标,要从中提取坐标字段,解析这些数据需要花费一些时间。详细分析请参考/usr/share/ossim/www/otx/js/otx_dashboard.js.php。
程序提取经度/纬度信息后就能调用谷歌地图API展现位置了。
注意,若要完成本实验,需要能够顺利访问谷歌地图。
IP信誉数据? Google Maps API(谷歌地图API)是谷歌为开发者提供的地图编程接口,可以在OSSIM系统不自己建立地图服务器的情况下,将数据通过接口程序嵌入到OSSIM Web UI中来显示,从而借助于谷歌地图来显示恶意IP的地理位置。在OSSIM中,该服务以XML的形式在HTTP请求中回传数据。
由谷歌地图API提供的服务是免费的,对于通过API正常使用谷歌地图的网站基本没有限制。若无法显示地图,那么可能是无法访问谷歌服务器,建议先确保VPN网络环境畅通。
Google Maps API是谷歌为开发者提供的地图编程API。它可使开发者省无须建立自己的地图服务器,将Google Maps地图数据嵌入OSSIM的IP信誉数据库,从而实现嵌入Google Maps的地图服务应用,并借助Google Maps的地图数据为安全分析人员提供定位服务。要寻找 Google Map key,可查看/usr/share/ossim/www/session/login.php源码文件,其中key的值为$map_key= 'ABQIAAAAbnvDoAoYOSW2iqoXiGTpYBTIx7cuHpcaq3fYV4NM0BaZl8Ox DxS9p QpgJkMv0RxjVl6cDGhDNERjaQ'。
初次进入Web UI后会发现仪表盘右侧没有任何OTX数据,如图1-7(a)所示,系统提示申请OTX账号后才能连接服务器。通常OTX成功连接之后,同步数据需要半小时,所以刚导入OTX key时,在仪表盘上不会立即显示出可视化数据,如图1-7(b)所示。当数据同步完成,即可查看OTX数据(以柱图形式显示),如图1-7(c)所示。
(a)未设置OTX
(b)OTX的载入状态
(c)正常状态OTX
图1-7 OTX数据的3种状态
此类问题和无法显示地图的原因一样,是由访问AlienVault OTX服务器失败造成的,建议搭建畅通的VPN网络环境,重做此实验。
威胁情报系统的技术框架如图1-8所示。从中可看出,它包含了内部威胁和外部威胁两个方面的共享和利用。
图1-8 威胁情报系统总体框架
外部威胁情报主要来自互联网已公开的情报源及各种订阅的安全信息、漏洞信息、合作交换情报和购买的商业公司的情报信息。公开的信息包含安全态势信息、安全事件信息、各种网络安全预警信息、网络监控数据分析结果、IP地址信誉等。威胁情报系统能够提供潜在的恶意IP地址,包括恶意主机、垃圾邮件发送源头与其他威胁,还可以将事件和网络数据与系统漏洞相关联。
在OSSIM仪表盘中,风险地图显示的交换信息主要来自安全厂商的客户,比如AlienVault公司的OSSIM可将客户上报的威胁汇聚为一个威胁数据库并在云端共享,其他客户可以共享这些情报。只要有一个客户在内网中发现了某种威胁并上报给AlienVault服务器,其他用户便可通过网络分享信息。只要在系统中发现可疑IP,就可以立即通过威胁系统里的IP信誉数据库发现该恶意IP的档案信息,详情如图1-9所示。
图1-9 通过IP信誉查询的恶意IP的情报信息
内部威胁情报相对容易获取,因为大量的攻击来自网络内部。内部威胁情报源主要是指网络基础设施自身的安全检测防护系统所形成的威胁数据信息,其中既有来自基础安全检测系统的数据,也有来自SIEM系统的数据。企业内部运维人员主要通过收集资产信息、流量和异常流量信息、漏洞扫描信息、HIDS/NIDS信息、日志分析信息以及各种合规报表来统计信息。
通常APT攻击事件的持续时间很长,它在OSSIM系统中反映出来的是一组可观测到的事件序列,这些攻击事件显示出多台攻击主机在某一段时间内的协同活动,如图1-10所示。
图1-10 一组网络攻击报警图
网络安全分析人员需要综合不同的证据,以查清互联网全球性攻击现象的原因。可将攻击图和关联工具结合在一起进行评估,报警关联工具可以把特殊、多步攻击的零散报警合理地组合在一起,以便把攻击者的策略和意图清晰地告诉安全分析人员。除了以上实例之外,它还包括安全分析和事件响应。
OpenSOC是思科公司于2014年夏天推出的开源安全大数据分析框架,专注于网络数据包和事件的大数据分析,可实时检测网络中的异常。从时间节点上比较,当时的OSSIM已10岁,当OSSIM发展到5.5版本并推出企业版OSSIM时,它已身居魔力象限的第三象限。而思科的OpenSOC刚刚起步,目前尚无成功落地的项目。
同样都是依靠开源软件组成SOC平台,OpenSOC在存储上采用Hadoop,实时索引采用ElasticSearch组件,在线实时分析使用了Storm技术。图1-11所示为OpenSOC的组成结构。
图1-11 OpenSOC的组成结构
在图1-11中,从左至右分别代表平台由下到上的层次,它们分别是数据源层、数据收集层、消息系统层、实时处理层、存储层、分析处理层,各层功能如下所示。
OpenSOC和OSSIM之间的区别如下所示。
2016年伊始,被思科“遗弃”的OpenSOC项目加入Apache项目,并改名为Apache Metron。从此开源SIEM领域又多了一员猛将,可直到2018年年底,Apache Metron各项功能依然比较简单,其部署难度比OSSIM要大。
Apache Metron致力于提供可扩展的开源安全分析工具,集成了各种开源的大数据技术,以提供安全监控和分析所需的集中工具。它还提供了日志聚合、全面的数据包捕获索引、存储、行为分析和数据丰富功能。Metron的运行机制如图1-12所示。
Metron框架集成了许多Hadoop的元素,为安全分析提供了一个可扩展的平台,该平台包含全面的数据包捕获、流处理、批量处理、实时搜索。它能实现快速有效的检测,并能快速响应先进的安全威胁。Apache Metron的框架如图1-13所示。
图1-12 Metron的运行机制
图1-13 Apache Metron的框架
就Metron与OSSIM的部署对比来说,虽然Apache Metron是从思科OpenSOC项目中发展出来的,但安装部署依然比较费时,而且对安装人员的要求也比较高,但Metron能处理的数据量比OSSIM大。如果你在研究机构工作,并且有足够的人力资源、时间资源,那么Metron是一个非常值得研究的系统。
安装Metron需要用到的知识有Apache Flume、Apache Hadoop、Apache HBase、Apache Hive、Apache Kafka、Apache Spark、Apache Storm、ElasticSearch、MySQL等。而且在安装Metron时,从安装基础的Linux平台开始,到软件下载编译安装、解决各种依赖关系、配置连接文件、调试故障等过程都极其复杂。
下面列出部分测试题,以帮助读者强化对本章知识的理解。
1.AlienVault OTX表示开放式威胁交换,OSSIM中将IP信誉评价数据记录在哪个文件中?(A)
A./etc/ossim/server/reputation.data
B./etc/ossim/agent/config.cfg
2.SIEM的全称是什么?(A)
A.安全信息与事件管理
B.安全信息管理系统
3.下列选项中不属于开源SIEM系统的是哪一项?(D)
A.OSSIM
B.OpenSOC
C.Apache Metron
D.HP ArcSight
4.下列产品中不属于威胁情报系统的是哪一个?(I)
A.AlienVault USM Enterprise
B.InsightIDR
C.Securitycenter CV
D.FireEye
E.Cyveilance
F.IBM X-force Exchange
G.LogRhythm
H.Verisign
I.ElasticSearch
5.IP信誉评价在SIEM系统中起什么作用?
传统安全解决方案一般是先判断行为的好坏,再执行“允许”或“拦截”之类的策略。不过随着高级攻击日益增多,这种方法已不足以应对各种威胁。许多攻击在开始时伪装成合法的流量进入网络,然后再实施破坏。因为攻击者的目标是渗透系统,所以需要对其行为进行跟踪,并对其IP地址进行信誉评级。
OSSIM中反映出的IP特征包括IP地址的域名、地理位置、操作系统和提供的服务功能等。攻击行为一旦被NIDS检测出来,可立即通过威胁系统里的IP信誉数据库发现该恶意IP的档案信息,分析人员就可依据这些信息快速识别攻击源。
关键术语
表2-1总结了OSSIM 2.3~5.5几个主要版本使用的开发环境、网络服务、数据库/中间件等工具软件的演变情况。从中可以看出,越新的软件,其版本越高,但核心的安全软件版本并没有使用最新版本,而是使用稳定的版本。表2-1中的“×”表示无此软件包。
表2-1 OSSIM软件版本演进
OSSIM框架版本 | 2.3 | 3.1 | 4.3 | 4.15 | 5.4 | 5.5 | |
Debian版本 | 5.0.5(Lenny) | 5.0.9(Lenny) | 6.0.9(Squeeze) | 6.0.10 (Squeeze) |
8.7(Jessie) | 8.9(Jessie) | |
开发环境 | 文件系统 | ext3 | |||||
内核 | 2.6.31 | 2.6.32 | 3.16.0 | 3.16.0 | |||
PHP | 5.2.6 | 5.3.3 | 5.6.29 | 5.6.30 | |||
Zend Engine | 2.2.0 | 2.3.0 | 2.6.0 | ||||
Perl | 5.1.0 | 5.10.0 | 5.10.1 | 5.20.2 | 5.20.2 | ||
Python | 2.5 | 2.5.2 | 2.6.6 | 2.7.9 | |||
Erlang | × | 5.8 | 6.2 | ||||
GCC | 4.2 | 4.3.2 | 4.4 | 4.9.2 | |||
网络服务 | Apache | 2.2.9 | 2.2.16 | 2.4.10 | |||
OpenSSL | 0.9.8g | 0.9.8o | 1.0.1t | ||||
网络服务 | OpenSSH | 5.1p1 | 5.5p1 | 6.7p1 | |||
OpenVAS | 3.0 | 3.2 | 3.3 | 3.4.2 | 5.0.4 | ||
Monit | 4.10 | 5.1.1 | 5.9.0 | ||||
OSSEC | 2.3.1 | 2.5.1 | 2.7.0 | 2.8.1 | 2.8.3 | 2.9.1 | |
Nagios | 3.0.6 | 3.2.3 | 3.4.1 | 3.5.1 | |||
Rsyslog | 4.4.2 | 4.6.4 | 8.4.2 | ||||
Samba | 3.2.5 | 3.5.6 | 4.2.14 | ||||
Squid | × | 3.1.6 | 3.4.8 | ||||
Snort | 2.8.5 | 2.9.0 | 2.9.3 | × | × | ||
Suricata | × | 1.4 | 2.0 | 3.2 | 3.2 | ||
Ntop | 3.3.10 | 4.0.3 | × | × | |||
数据库/中间件 | MySQL | 5.1.45 | 5.1.61 | 5.5.29 | 5.5.33 | 5.6.32 | 5.6.36 |
Redis | × | × | 2.4.15 | 3.2.3 | |||
Memcached | × | × | 1.4.5 | 1.4.5 | 1.4.21 | ||
RabbitMQ | × | × | × | 3.2.1 | 3.3.5 | ||
邮件 | Postfix | 2.5.5 | 2.7.1 | 2.11.3 | |||
其他 | Nmap | 4.62 | 5.51 | 6.40 | 7.30 | ||
Snmp | 5.4.1 | 5.4.3 | 5.7.2 |
OSSIM版本的变迁如表2-2所示。
表2-2 OSSIM版本的演变过程
OSSIM诞生 | 2003年 | 8月 | OSSIM 0.1~0.4 |
9月 | OSSIM 0.5 | ||
10月 | OSSIM 0.6 | ||
11月 | OSSIM 0.7 | ||
OSSIM成长期 | 2004年 | 1月 | OSSIM 0.8 |
2005年 | 2月 | OSSIM 0.9.8 | |
2006年 | 6月 | OSSIM 0.9.9 rc2 | |
2007年 | 6月 | OSSIM 0.9.9 rc3 | |
2008年 | 2月 | OSSIM 0.9.9 | |
2009年 | 1月 | OSSIM 2.0 | |
7月 | OSSIM 2.1 | ||
OSSIM成长期 | 2010年 | 2月 | OSSIM 2.2 |
2011年 | 7月 | OSSIM 2.3.1 | |
9月 | OSSIM 3.0 | ||
OSSIM发展期 | 2012年 | 1月 | OSSIM 3.1 |
12月 | AlienVault OSSIM 4.1 | ||
5月 | AlienVault OSSIM 4.2 | ||
11月 | AlienVault OSSIM 4.3 | ||
12月 | AlienVault OSSIM 4.4 | ||
2014年 | 3月 | AlienVault OSSIM 4.5 | |
4月 | AlienVault OSSIM 4.6 | ||
5月 | AlienVault OSSIM 4.7 | ||
6月 | AlienVault OSSIM 4.8 | ||
AlienVault OSSIM 4.9 | |||
7月 | AlienVault OSSIM 4.10 | ||
9月 | AlienVault OSSIM 4.11 | ||
10月 | AlienVault OSSIM 4.12 | ||
11月 | AlienVault OSSIM 4.13 | ||
12月 | AlienVault OSSIM 4.14 | ||
2015年 | 1月 | AlienVault OSSIM 4.15 | |
4月 | AlienVault OSSIM 5.0.0 | ||
6月 | AlienVault OSSIM 5.0.3 | ||
7月 | AlienVault OSSIM 5.0.4 | ||
8月 | AlienVault OSSIM 5.1.0 | ||
9月 | AlienVault OSSIM 5.1.1 | ||
10月 | AlienVault OSSIM 5.2.0 | ||
2016年 | 2月 | AlienVault OSSIM 5.2.1 | |
3月 | AlienVault OSSIM 5.2.2 | ||
4月 | AlienVault OSSIM 5.2.3 | ||
5月 | AlienVault OSSIM 5.2.4 | ||
6月 | AlienVault OSSIM 5.2.5 | ||
8月 | AlienVault OSSIM 5.3.0 | ||
10月 | AlienVault OSSIM 5.3.2 | ||
11月 | AlienVault OSSIM 5.3.3 | ||
12月 | AlienVault OSSIM 5.3.4 | ||
OSSIM成熟期 | 2017年 | 2月 | AlienVault OSSIM 5.3.6 |
6月 | AlienVault OSSIM 5.4.0 | ||
OSSIM成熟期 | 2017年 | 8月 | AlienVault OSSIM 5.4.1 |
10月 | AlienVault OSSIM 5.4.2 | ||
11月 | AlienVault OSSIM 5.4.3 | ||
11月 | AlienVault OSSIM 5.5.0 | ||
2018年 | 2月 | AlienVault OSSIM 5.5.1 | |
5月 | AlienVault OSSIM 5.6.0 | ||
10月 | AlienVault OSSIM 5.6.5 | ||
2019年 | 1月 | AlienVault OSSIM 5.7.1 | |
3月 | AlienVault OSSIM 5.7.2 | ||
5月 | AlienVault OSSIM 5.7.3 |
关闭OSSIM是有严格要求的。如果随意关闭会造成文件系统损坏,建议在终端菜单中关闭系统。如果连不上终端菜单,也可以远程使用SSH方式通过命令行来关闭,具体操作如下。
图2-1 终端程序中关闭系统
#sync;sync;sync
#init 0
#poweroff
#shutdown -h now
如果只用halt命令关闭系统,则不会切断服务器电源。
要重启OSSIM系统,可选择下面命令中的任何一个来实现。
#sync;init 6
#shutdown –r now
大数据安全分析代表一种技术,而以OSSIM为代表的开源大数据分析平台是一个产品。它是收集、处理、智能分析及存储大数据的平台,能够通过可视化的方式挖掘出更深层次的信息,并展现给分析人员。
大数据3个公认的基本特点是3V,即海量(Volume)、高速(Velocity)和多变(Variety)。海量是指数据容量越来越大;高速表示需要的处理速度和响应时间越来越快,对系统的延时要求相当高;多变就是要处理各种各样类型的数据,包括结构化的、半结构化的,甚至是非结构化的数据。因此,大数据不能用传统的方式采集和存储。
堡垒机是为了保障网络和数据不受外部用户和内部用户的入侵和破坏,而运用各种技术手段实时监控和收集网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警。如原来使用微软远程桌面RDP进行Windows服务器的远程运维,现在先访问堡垒机,再由堡垒机访问远程Windows服务器。期间运维人员的所有操作都会被记录下来,可以以屏幕录像、字符操作日志等形式长久保存。在服务器发生故障时,就可以通过保存的记录查看到以前执行的任何操作。保垒机的工作原理如图2-2所示。
图2-2 堡垒机工作原理
再如FTP服务,实际上堡垒机内置了FTP客户端程序。客户端主机以RDP方式远程登录到堡垒机,再由堡垒机启动FTP客户端程序访问远程服务器,并且由堡垒机作为跳板间接地把FTP命令传送到服务器,再把服务器的响应信息反馈给客户端主机。这样,中间的操作过程全都被记录下来了。
堡垒机的Syslog日志可以转发至OSSIM中统一存储。堡垒机通常都支持Syslog日志转发功能。首先在堡垒机上启用Syslog,地址填写OSSIM的IP地址即可。例如图2-3中添加了Syslog服务器地址(192.168.1.111)和端口号(UDP 514),以及要转发的日志内容。
图2-3 Syslog转发设置
然后在客户端上启用转发,同时在传感器端启用Syslog日志处理插件。之后保垒机的Syslog日志就可以转发至OSSIM了。
I/O密集型主要是网络请求压力大、包转发/磁盘读写频繁的操作类型,当进行这种类型的操作时,CPU的负载相对较低,大部分的任务时间都在等待I/O操作完成。对于I/O密集型,典型服务是Web应用、静态页面访问、日志采集。大量的网络传输、数据库与缓存间的交互也涉及I/O处理能力。
一旦出现I/O瓶颈,线程就会处于等待状态,只有I/O结束且数据准备好后,线程才会继续执行。因此可以发现,对于I/O密集型的应用,可以多设置一些线程的数量,这样就能在等待I/O的这段时间内,让线程去处理其他任务,从而提高并发处理效率。
磁盘I/O主要的延时由机械转动延时(机械磁盘的主要性能瓶颈,平均为2ms)+寻址延时+块传输延时决定。网络I/O的主要延时由服务器响应延时、带宽限制、网络延时、跳转路由延时、本地接收延时来决定。传统服务器的机械硬盘和板载千兆网卡只适合传感器使用,对于OSSIM服务器,使I/O具有较高效性的方式是采用SSD固态硬盘和万兆服务器网卡。
顾名思义,CPU密集型就是应用需要非常多的CPU计算资源,任务本身不太需要访问I/O设备。在多核CPU时代,要让每一个CPU核都参与计算,将CPU的性能充分利用起来,这样才算是没有浪费服务器配置。典型的应用为网络流量Ntop和协议分析、关联分析、视频编码/解码。
内存密集型的典型应用是内存数据库MongoDB、Redis等。NoSQL应用是将数据放在内存中,活动事务只与内存数据打交道。除此之外,内存密集型应用还包括流量分析业务,因为流量越大,占用内存越多,占用CPU的资源也越大。为服务器分配32GB内存是保证稳定运行的前提。
除此之外,OSSIM还是数据集中存储平台,采集的所有数据经过加工后,都存放在OSSIM服务器端,所以每天会消耗大量磁盘空间,对于这种计算密集型、I/O密集型的大数据平台,大家在选择服务器配置时应重点考虑CPU、内存、网卡及存储器的选型。
这里所指的专属程序表示AlienVault公司重新为OSSIM框架开发的软件包,主要包含AlienVault OSSIM框架和一些开源工具的自动化配置包。经过AlienVault公司重新设计的模块化系统可以用一个魔方的结构来形象描述。在OSSIM框架内,这些安全工具有机整合成OSSIM平台,OSSIM框架及安全工具包的组成如图2-4所示。OSSIM整体框架的一致性成为区别于Kali Linux等平台的标志。
OSSIM框架内用数字标注的主要模块名称及其主要用途如下所示。
图2-4 OSSIM框架下构成的主要安全工具包
Kali Linux和OSSIM是基于Debian Linux裁剪的安全工具。从总体上看,Kali Linux是将各种开源工具安装到一个Linux系统中;而OSSIM系统是在OSSIM框架下由AlienVault公司专门对各类安全工具进行二次开发后再集成到Debian系统中,具有统一框架、标准、存储体系的协同分析平台。表2-3简单对比了OSSIM和Kali Linux的关键参数。
表2-3 OSSIM和Kali Linux的关键参数
名 称 |
OSSIM |
Kali Linux |
---|---|---|
发行版 |
基于Debian Linux |
基于Debian Linux |
架构 |
x86 |
x86/ARM |
平台 |
Linux |
Linux/Android |
镜像 |
ISO 32位/64位 |
ISO 32位/64位 |
语言 |
英文 |
英文 |
维护/资助 |
AT&T(原AlienVault公司) |
Offensive Security公司 |
用途 |
SIEM事件分析、网络审计 |
网络渗透分析与数字取证 |
收费方式 |
开源OSSIM免费 |
免费 |
面向人群 |
SIEM分析人员 |
渗透和取证 |
工作模式 |
多用户/单用户/修复模式 |
单用户 |
启动方式 |
硬盘安装后启动 |
Live CD 和Live USB直接启动 |
升级方式 |
统一升级 |
各个模块单独升级 |
技术支持 |
社区/企业版可获得官方服务 |
社区 |
恢复出厂设置 |
有 |
无 |
统一框架 |
有 |
无 |
统一数据存储 |
有 |
无 |
数据采集方式 |
插件/嗅探/流量镜像 |
嗅探/流量镜像 |
分布式部署 |
支持 |
不支持 |
统一登录 |
可以 |
不能 |
统一仪表盘 |
有 |
无 |
资产管理 |
有 |
无 |
备份功能 |
有 |
无 |
帮助中心 |
有 |
无 |
消息中心 |
有 |
无 |
缓存加速 |
有 |
无 |
关联引擎 |
有 |
无 |
模块耦合度 |
高 |
低 |
开发环境 |
C/Python/Perl |
C/Python/Perl |
二次开发 |
难度较大 |
难度较大 |
大家在使用ISO安装OSSIM服务器时,安装的是完整的OSSIM系统,其内部包含OSSIM框架下的4大模块,包括完整的传感器插件和各种探测模块。用户无须自己再安装和配置第三方工具。
OSSIM不能安装在XEN或KVM虚拟化系统上,因为开源XEN和KVM都采用了半虚拟化运行方式,因此在安装和运行OSSIM系统时,会遇到虚拟设备故障和系统性能问题。所以这两种虚拟化技术都不适合安装和运行OSSIM系统。
可以按照业务分类先将海量数据拆分到不同的传感器节点,然后由OSSIM服务器管理各个传感器节点并分配任务,这使得内存大小可控,卡顿频率和耗时明显减少。如果单台服务器希望通过提高硬件配置来完成这些工作,则提升的效率很低。有效的方法是使用分布式架构来实现更高的吞吐率,这样才能处理海量数据。
OSSIM基于Debian开发,OSSIM服务器/传感器只能安装在Debian Linux上。不同发行版的Linux有不同的静态库和动态库,即使相同发行版的不同版本之间,静态库和动态库也存在兼容性问题。既然OSSIM指定了Debian Linux,那么系统调用的函数库就定下来了,如果要强行换成其他的Linux发行版本,那么肯定会出现兼容性问题。另外,要考虑开发环境的兼容性问题,下面看几种不兼容的情况。
综上所述,OSSIM不能随意安装在其他Linux发行版中,更不能安装在Windows平台上。
OSSIM传感器部署原则是尽可能靠近受保护资源。
在大型网络环境中,通常采用5个传感器来进行检测。传感器1、2所在网段的数据流量是最大的,为了有效防止误报和漏报,所以设置了两个传感器。
这5个传感器的整体布局如图2-5所示。
图2-5 OSSIM传感器位置
在OSSIM系统中,可以根据用户需要将各种日志、检测到的流量和入侵行为动态地生成各种类型的报表,并通过Web方式实现报表的预览与打印。这一功能就是由通用报表模块实现的。在报表输出方面,OSSIM系统可以输出Alarm、Asset、Availability、Business & Compliance ISO PCI、Geographic、Metric、SIEM Events、Tickets、Vulnerabilities、User Activity等几十个大类报表。
报表模块的核心是报表生成引擎(Jasper Reports),它是一个能够展示丰富内容,并将之转换成PDF、HTML、XLS、CSV及XML格式的开源工具。在某些OSSIM商业版本中,利用Jasper Reports+JFreeChart的模式可实现统计报表分析。在OSSIM 2.x和3.x版本中,这些报表信息存放在JasperServer数据库中,OSSIM 5.0版本采用了新的架构,使用的是Jgraph组件。
在OSSIM 3系统中,所有报表(包括饼状图、柱状图、曲线图、雷达图等)升级采用的都是Jasper Reports设计的可视化报表设计器,而开发Jasper Reports 的工具叫作iReport。该报表工具允许用户以可视化的方式编辑包含charts在内的复杂报表。它还集成了JFreeChart图表制作包。允许用户可视化地编辑XML JasperDesign文件。用于打印的数据可以通过多种方式来获取,包括JDBC、TableModels、JavaBeans、XML、Hibernate、CSV等。另外它支持多种输出格式,包括PDF、RTF、XML、XLS、CSV及HTML。
在OSSIM开源版中输出的报表有限,且主要是以PDF形式输出的。而OSSIM企业版有着比开源版更丰富的报表,包含更多的细节,不仅实现了在线表单预览,还可以下载各类表单文件。
OSSIM中输出报表的类型如表2-4所示。
表2-4 报表输出种类
编号 |
报表名称 |
细节 |
统计时间 |
---|---|---|---|
1 |
Alarm报告 |
Top Attacked Host |
30天内 |
2 |
资产报告 |
资产摘要、报警 |
30天内 |
3 |
可用性报告 |
可用性趋势报告、可用性状态、事件、性能等报表 |
30天内 |
4 |
商业和法规遵从 |
风险、PCIDSS 2.0/3.0报表 |
30天内 |
5 |
数据库活动 |
数据库安全事件、日志报表 |
30天内 |
6 |
数据源事件 |
由数据源分类的事件报表 |
30天内 |
7 |
数据产生类型 |
根据事件产生类型分类的统计表 |
30天内 |
8 |
FISMA报表 |
用户认证、活动访问等安全事件,由攻击日志分类的日志报告、PCI 无线报告以及Tickets状态 |
30天内 |
9 |
地理位置报表 |
按IP出现的国家/地区分类报告 |
30天内 |
10 |
HIPAA报表 |
Alarm攻击分类的Top 10、裸日事件信息、安全事件Top 10等报表 |
30天内 |
11 |
Honeypot 活动报表 |
由数据源分类的事件、各类安全事件、根据数据源分类的不同特征码 |
30天内 |
12 |
ISO 27001技术报告 |
ISO 27001-A.10.4.1 |
30天内 |
13 |
Malware报警 |
Alarm Top攻击主机排名及列表 |
30天内 |
14 |
PCI 2.0/3.0报告 |
全面测评报告(包括主机、防火墙、认证、无线、加密传输等方面) |
30天内 |
15 |
策略配置和变更报告 |
系统安全配置、认证配置策略变更报告 |
30天内 |
16 |
日志访问报告 |
主机攻击事件、目标端口访问事件、应用访问事件、IPS/IDS事件、邮件服务器事件、路由器服务器、VPN事件 |
30天内 |
17 |
Raw Log |
Alarm、Alert、异常行为检测、病毒、应用、防火墙、认证、DHCP、可用性、数据保护、蜜罐、IDS/IPS、Inventory、邮件安全、邮件服务器、Malware、管理平台、网络发现、Web服务器、渗透、无线及漏洞扫描等日志报告 |
30天内 |
18 |
安全事件 |
安全访问事件、账户改变、Alarm、Alert等,其分类与Raw Log的报表分类相同 |
30天内 |
19 |
SOX报告 |
Tickets、Alarms及安全事件报告 |
30天内 |
20 |
用户活动 |
用户活动报告 |
30天内 |
21 |
漏洞报告 |
漏洞报告(严重、高、中、低) |
30天内 |
注意,法规遵从(compliance)表示企业和组织在业务运作中,不仅要遵守企业内的各项规章制度,而且要遵守政府各项法规及行业规则。
如今APT攻击已经给信息安全带来了巨大挑战,目前常用的Nagios、Ntop、Zabbix、Cacti、ELK等工具很难察觉APT攻击,所以采用具有SIEM功能的OSSIM平台是应对APT攻击的有效工具,因为这个系统可以从不同来源收集和关联安全数据,可从海量信息中找出APT攻击渗透入网络的踪迹。
在网络攻击中,有些属于ShellCode攻击,但很多管理员对其不了解。在网络攻击过程中,基于特征的IDS系统也会对常见的ShellCode进行拦截,但一些高级的ShellCode经过伪装后会蒙混过关。这个过程就好比一枚炮弹飞向目标的过程。炮弹的设计者关注的是怎样计算飞行路线,锁定目标,最终把弹头精确地运载到目的地并引爆,而并不关心弹头里装的是沙子还是核弹。在网络监测中,ShellCode最容易忽视,但其危害巨大。其实ShellCode是在渗透时作为载荷运行的一组机器指令,它通常用汇编语言编写。如果监控网段存在ShellCode攻击则会被记录下来,在OSSIM的SIEM控制面板中可以明显看到此次攻击。
在SIEM控制台中可以利用时间线分析工具查看ShellCode的具体实例,如图2-6所示。
图2-6 用时间线分析网络攻击
在这个时间线显示区间内点击一条事件,系统会显示该ShellCode事件的详情,如图2-7所示。
图2-7 显示事件细节
混合安装的OSSIM系统处理的数据量有限,对于大型网络可采用分布式监控,拓扑如图2-8所示。
图2-8 分布式流量监控部署示意
分布式系统架构属于C/S工作模式,整体来讲它由代理端和服务器端组成。图2-8中的OSSIM传感器1、传感器2、传感器3这3台机器为代理。这里的代理包括所选择的监控插件以及传感器。传感器上的插件用来捕获当前VLAN中需要监控的数据,这些数据经过代理上的传感器分析后形成OSSIM服务器能够读取的日志,然后发送给服务器进行关联处理,最后统一存放到事件数据库中,目的是为OSSIM的审计模块提供关联分析和风险评估的数据。
为了提高数据处理能力,可在OSSIM中进行纵向扩展或横向扩展。所谓纵向扩展,就是指当数据负载很大时,通过提高单个服务器系统的处理能力来解决问题。最简单的做法就是为该系统提供更为强大的硬件(大内存、多核处理器)。除此之外,可通过优化软件的执行效率来完成应用的纵向扩展。假如原有的服务实现只能使用单线程来处理数据,而不能同时利用服务器实例中所包含的多核CPU,那么可以通过将算法更改为多线程来充分利用CPU的多核计算能力,成倍地提高服务的执行效率。OSSIM系统中提供的单线程、多线程如表2-5所示。
表2-5 OSSIM中的多线程与单线程服务
多线程服务 |
MySQL、RabbitMQ、Suricata、Nmap、Memcached、ossim-framework、ossim-server、Ntop、Nagios、Apache、OpenVAS |
---|---|
单线程服务 |
Snort、Squid、Redis、iptables |
从表2-5中可以看出,为了提高效率,OSSIM平台主要以多线程的服务为主,但也有例外——Redis就是单线程服务,它的效率非常高。
要查看ossim-agent进程正在调用的文件,可用以下两步实现。
步骤1 获取进程号。
步骤2 检查进程。
ossim-agent进程号为3351,可以看到文件在/proc/3351/fd/目录中,操作如下:
此处可查看到所有由3351进程打开的文件描述符。
每次谈到分布式系统的安装部署时,大家总认为这个过程很难操作,但是在OSSIM系统中,这种操作十分容易。分布式安装OSSIM的拓扑和关键操作如图2-9、图2-10和图2-11所示。
图2-9 分布式安装拓扑图
图2-10 服务器端(左)和传感器端(右)
图2-11 传感器配置流程
图2-11 传感器配置流程(续)
添加完192.168.109.100之后,传感器的登录界面会由原来的127.0.0.1变成现在的192.168.109.100,如图2-12所示(见箭头所指向的位置)。
图2-12 传感器登录界面
下面打开OSSIM Web UI进行查看,如图2-13所示。
图2-13 配置传感器
单击SENSORS按钮之后会弹出添加传感器的界面,如图2-14所示。
图2-14 添加传感器
下面验证是否添加成功。在部署界面单击SENSORS按钮,在STATUS中显示则表示添加成功,如图2-15所示。
图2-15 传感器成功添加
这类问题的解决办法是在传感器上修改NetFlow的传输端口,操作如图2-16所示。
图2-16 在传感器上配置NetFlow流程
先回到传感器界面,如图2-17所示。
图2-17 修改传感器配置
单击MODIFY按钮。在弹出的NETFLOW COLLECTION CONFIGURATION界面中,将Port(端口号)修改为12001,同时修改Color(颜色),最后启动NetFlow服务,如图2-18所示。
图2-18 设置NetFlow
点击Environment→NetFlow菜单,发现刚才添加的传感器并没有收到NetFlow数据,此时可将间隔设为12小时,接着就是耐心等待接收数据,如图2-19所示。
图2-19 查看NetFlow流量信息
与此同时,在OSSIM服务器的命令行界面进行验证,输入如下命令:
如果发生通信故障,则在列表中“size”项读数为0;如果有数值,表示可以通信。
使用如下命令查看进程所打开的文件。
#lsof -p “进程号”
下面显示的PID 4556表示ossec-agent进程。
上面每行显示一个打开的文件,若不指定条件,则默认显示所有进程打开的所有文件。通过lsof命令可以知道文件打开数量是否超过上限(上限为65535)。
注意,上面“FD”列中的文件描述符cwd表示应用程序当前的工作目录,这是该应用程序启动的目录。
要监听系统中root用户的网络活动,则应采用如下操作:
#lsof –r 1 –u root –i –a
其中,参数-r让lsof可以循环列出文件直到被中断,参数1表示每秒钟打印一次,参数-a、-u和-i的组合可以让 lsof 列出某个用户的所有网络行为。
OSSIM组件必须使用特定的URL、协议和端口才能正常工作。如果部署OSSIM All-in-One,则只需打开与受监控资源相关联的端口,因为All-in-One同时包含OSSIM服务器和OSSIM传感器,因此它们之间变为内部通信。
如果OSSIM在高度安全的环境中运行,则必须更改OSSIM的防火墙的一些权限才能访问。OSSIM功能使用的外部URL和端口号如表2-6所示。
表2-6 OSSIM所用的外部URL和端口号
服务器URL |
端口 |
功能 |
---|---|---|
data.alienvault.com |
80 |
AlienVault产品和Feed更新 |
maps-api-ssl.google.com |
443 |
在谷歌地图中定位资产 |
messages.alienvault.com |
443 |
消息中心 |
support.alienvault.com |
20、21 |
AlienVault自检和文档支持 |
telemetry.alienvault.com |
443 |
遥测数据采集 |
tractorbeam.alienvault.com |
22、443 |
企业版用户远程支持 |
www.google.com |
80 |
AlienVault API |
reputation.alienvault.com |
443 |
AlienVault IP信誉 |
otx.alienvault.com |
443 |
开放威胁交换 |
表2-6显示了OSSIM组件使用的端口号、与设备之间进行通信以及监视的资产。图2-20中的箭头方向表示网络流量的方向。
图2-20 资产、传感器、服务器之间的通信端口
为了便于调试和维护整套系统,建议大家不要在传感器和服务器之间加入防火墙等安全设备,在被监控资产和传感器之间仅允许存在少量安全设备。另外在计划部署AlienVault HIDS代理的主机上,必须打开TCP端口139和TCP端口445(入站)以允许初始安装,并且UDP端口1514(出站)应用于HIDS代理和OSSIM之间正在进行通信的传感器。
下面列出部分测试题,以帮助读者强化对本章知识的理解。
1.要查看TCP 22端口运行了什么进程,应该输入下面哪个命令?(A)
A.lsof -i :22
B.netstat -na
2.OSSIM系统中大量采用了多进程服务,下面不属于多进程的服务是哪项?(A)
A.iptables
B.MySQL
C.ossim-agent
D.ossim-server
E.ossim-framework
3.OSSIM平台适合部署在下列哪些网络环境中?(B、C)
A.公有云
B.私有云
C.企业内网
4.下列哪种行为属于I/O密集型计算?(A、C)
A.包转发
B.Snort规则匹配
C.数据库存储
5.能够在命令行下以树状结构显示进程的命令是哪个?(B)
A.ps –ef
B.pstree -p
6.OSSIM是集计算密集型、内存密集型、存储密集型于一体的大数据分析平台,适合部署在公有云、私有云和企业内网等各种网络环境中。(×)
7.当刚装完OSSIM后,在Web UI中看不到局域网内其他机器的流量,或者观察到的流量很小,这种情况下最有可能的原因是没有在交换机上设置SPAN。(×)
8.如何查找在TCP 40001端口上执行监听的接口?
同理可查询UDP 53端口使用的进程,命令如下所示。
#lsof –i udp:53
9.如何查找/var/log/apache2/access.log这个日志文件正在使用的进程号?
fuser命令可用来显示所有正在使用指定文件、文件系统或者socket的进程信息。