来源:https://logz.io/blog/open-source-siem-tools/
SIEM系统有助于保护IT环境免受网络攻击,并遵守日益严格的合规性标准,它正在成为越来越多的组织实现的安全范例的基石。
在前一篇文章中,我们解释了SIEM系统实际上是什么——组织为什么需要它,它由哪些组件组成,以及它如何帮助减轻攻击。这篇文章得出的结论之一是,SIEM本身并不是一个工具,而是由多个监视和分析组件组成的。
有些专有平台确实提供了一种一体化的SIEM解决方案,例如LogRhythm、QRadar和ArcSight。这些解决方案可能会变得非常昂贵,尤其是在长期和大型组织中,因此越来越多的公司都在寻找开源的SIEM平台。
但是是否有一个包含所有基本SIEM元素的开源平台呢?
答案很简单——不。没有一个完整的开源SIEM系统。现有的解决方案要么缺少核心的SIEM功能,比如事件相关性和报告,要么需要与其他工具相结合。不过,像往常一样,也有一些不错的竞争者,在本文中,我们将研究其中的6个平台。
我们将在本文之后对专有工具进行类似的分析。
1. OSSIM
作为AlienVault提供的统一安全管理(USM)的开源版本,OSSIM可能是比较流行的开源SIEM平台之一。OSSIM包括关键的SIEM组件,即事件收集、处理和规范化,最重要的是-事件相关性。
为了构建一个完整的SIEM, OSSIM将本机日志存储和相关功能与许多开源项目结合起来。OSSIM中包含的开源项目列表包括:FProbe、Munin、Nagios、NFSen/NFDump、OpenVAS、OSSEC、PRADS、Snort、Suricata和TCPTrack。
OpenVAS的包含尤其有趣,因为OpenVAS通过将IDS日志与漏洞扫描结果关联来用于漏洞评估。
正如人们所预期的那样,开源OSSIM并不像它的商业“老大哥”那样功能丰富。这两种解决方案都适用于小型部署,但是OSSIM用户在规模上遇到了严重的性能问题,最终导致他们转向商业产品。例如,开源版本的OSSIM中的日志管理功能实际上是不存在的。
2. ELK堆栈
ELK堆栈,或者Elastic Stack ,正如它最近被重新命名的那样,可以说是当今作为SIEM系统构建块使用的最流行的开源工具。一个构建块——是的。一个完整的SIEM系统——不,因为关于麋鹿堆栈是否符合“一个完整的”SIEM系统有很多争论的空间。
ELK堆栈包括开源产品Elasticsearch、Logstash、Kibana和Beats系列的日志传输者。
Logstash是一个日志聚合器,可以从几乎任何数据源收集和处理数据。它可以过滤、处理、关联和增强所收集的任何日志数据。Elasticsearch是一种存储引擎,是该领域存储和索引时间序列数据的最佳解决方案之一。Kibana是堆栈中的可视化层,在这方面非常强大。Beats包括各种轻量级的日志传输者,他们负责收集数据并通过Logstash将其发送到堆栈中。
Logstash使用大量的输入插件来收集日志。但是,它也可以接受来自更专用的解决方案(如OSSEC或Snort)的输入(见下文)。结合起来,ELK堆栈的日志处理、存储和可视化功能在功能上是不匹配的。然而,就SIEM的目的而言,ELK堆栈(至少是原始开源格式的堆栈)缺少一些关键组件。
首先,它没有内置的报告或警报功能。这是一个已知的痛点,不仅对于试图将堆栈用于安全性的用户,对于更常见的用例(例如IT操作)也是如此。警报可以通过使用X-Pack、Elastic商业产品或添加开源安全插件来添加。
也没有可以使用的内置安全规则。这使得堆栈的处理成本增加了一些,包括资源和操作成本。
3.OSSEC
OSSEC是一种流行的开源主机入侵检测系统(HIDS),可用于各种操作系统,包括Linux、Windows、MacOS、Solaris以及OpenBSD和FreeBSD。
OSSEC本身分为两个主要组件:负责从不同数据源收集日志数据的管理器(或服务器)和代理程序(代理程序是负责收集和处理日志并使其更易于分析的应用程序)。
OSSEC项目本身不包括可视化层。有一个UI是废除的,相反,建议使用外部可视化工具,如Kibana和Grafana。
OSSEC直接监视主机上的许多参数。这包括日志文件、文件完整性、rootkit检测和Windows注册表监控。OSSEC可以从其他网络服务执行日志分析,包括大多数流行的开源FTP、邮件、DNS、数据库、web、防火墙和基于网络的IDS解决方案。OSSEC还可以分析来自许多商业网络服务和安全解决方案的日志。
OSSEC有许多报警选项,可以用作自动入侵检测或主动响应解决方案的一部分。OSSEC有一个基本的日志存储引擎。默认情况下,不保留来自主机代理的日志消息。一旦分析完毕,OSSEC将删除这些日志,除非OSSEC管理器的OSSEC.conf文件中包含<logall>选项。</logall>如果启用此选项,OSSEC将来自代理的传入日志存储在每天滚动的文本文件中。
OSSEC是否可以算作“一种”SIEM系统还存在争议。OSSEC在实现SIEM系统时确实做了大量的工作:它收集数据并对其进行分析,但是缺少一些必需的核心日志管理和分析组件。值得指出的是,OSSEC项目已经被其他HIDS解决方案(例如Wazuh)所开发,这些解决方案扩展了OSSEC的功能,使其成为一个更完整的SIEM选项。
4. Apache Metron
Apache Metron从Cisco的OpenSOC平台发展而来,并于2016年首次发布,它是该行业中一个相对较新的参与者,也是将多个开放源码项目组合到一个平台的安全框架的另一个例子。
从架构的角度来看,Metron依赖于其他Apache项目来收集、流化和处理安全数据。Apache Nifi和Metron探测从安全数据源收集数据,然后将这些数据推送到单独的Apache Kafka主题中。事件随后被解析并规范化为标准JSON,然后被充实,在某些情况下被标记。如果确定了某些事件类型,则可以触发警报。为了可视化,使用Kibana(尽管是一个过时的版本)
对于存储,事件被索引并持久化到Apache Hadoop中,并且可以根据组织的首选项进行Elasticsearch或Solr。在这些数据之上,Metron提供了一个接口,用于使用警报摘要和丰富的数据集中分析数据。
Metron最强大的特性之一是可插入和可扩展的体系结构。例如,Bro、pycapa和fastcapa传感器可以用来将特定的数据发送到Metron。使用简单的DSL Stellar,用户可以编写自己的函数来转换收集到的数据。广泛的REST API允许用户与Metron交互,因此用户可以通过编程方式管理警报。
Metron相对年轻,在一些方面还比较欠缺。Metron只能安装在有限数量的操作系统和环境中,不过它支持通过Docker(仅适用于Mac和Windows)进行可分析和安装的自动化场景。UI有点不成熟,例如不支持身份验证。
5. SIEMonster
SIEMonster是另一个年轻的SIEM播放器,但也非常受欢迎,在短短两年内下载量超过10万次。SIEMonster基于开源技术,可以免费获得,并且是一种付费解决方案(Premium和MSSP多租户)。
虽然SIEMonster使用自己的“怪物”术语来命名系统中不同的SIEM功能(例如Kraken),但是底层组件是众所周知的开源技术。ELK堆栈用于收集(Filebeat和Logstash)、处理、存储和可视化所收集的安全数据。RabbitMQ用于队列。SearchGuard用于对Elasticsearch和ElastAlert进行加密和身份验证,用于报警。给HIDS的分支OSSEC Wazuh。这样的例子不胜枚举。
从功能的角度来看,SIEMonster包含了分析师可能希望得到的所有好处,每个好处都可以通过主菜单访问——用于搜索和可视化数据的Kibana UI、用于威胁情报的MineMeld UI、用于创建和管理基于事件的通知的警报。其他集成的开源工具有DRADIS、OpenAudit和FIR。
SIEMonster可以使用Docker容器部署在云上,这意味着更容易跨系统移植,也可以部署在vm和裸机上(Mac、Ubuntu、CentOS和Debian)。尽管缺少在线版本,但文档非常丰富。
6. Prelude
与OSSIM类似,Prelude是一个结合了其他各种开源工具的SIEM框架。与OSSIM一样,它也是同名商业工具的开源版本。Prelude旨在填补OSSEC和Snort等工具所遗漏的角色。
Prelude接受来自多个源的日志和事件,并使用入侵检测消息交换格式(IDMEF)将它们存储在一个位置。它提供过滤、关联、警报、分析和可视化功能。
同样,与OSSIM一样,与所有这些功能的商业产品相比,Prelude的开源版本受到了很大的限制,这可能就是它不太受欢迎的原因。引用官方文档:“Prelude OSS的目的是在非常小的环境中进行评估、研究和测试。请注意,Prelude OSS的表现远远低于Prelude SIEM版。
没有“一枚戒指可以统治所有人”
一个完整的SIEM解决方案包括从各种数据源收集信息、长时间保留这些信息、在不同事件之间建立关联、创建关联规则或警报、分析数据并使用可视化和仪表板对其进行监视。
为了满足这些需求,本文中列出的许多开源SIEM系统都使用了ELK堆栈,这并非巧合。OSSEC Wazuh, SIEMonster, Metron -都采用ELK。但ELK本身缺乏一些关键的SIEM组件,如关联规则和事件管理。
基于上面的分析,一个简单的结论是,“一体式开源SIEM解决方案”并没有明确的赢家。在实现基于上述解决方案的SIEM系统时,您很可能会发现自己在功能或与其他开源工具结合方面受到了限制。
用于SIEM的开源工具是通用的和强大的。但是,它们需要大量的专业知识,而且最重要的是——正确地部署。正是由于这个原因,即使开源工具是这些商业产品的核心,商业产品仍然主导着SIEM的发展。
为您处理80%的SIEM解决方案要比自己处理好。商业解决方案处理安装、基本配置,并为最常见的用例提供过滤器、相关配置和可视化设计。不要低估这些商业特性的价值:在当今的数据中心中,要监视的东西似乎是无限的,我们没有人有时间手动配置应用程序来监视它们。