无论您需要监视主机还是连接主机的网络以识别最新威胁,都有一些出色的开源入侵检测(IDS)工具可供您使用。
开源IDS工具列表
IDS检测技术
有两种主要的威胁检测技术:基于签名的检测和基于异常的检测。当您决定使用签名还是异常检测引擎时,这些检测技术非常重要,但是供应商已经意识到了每种技术的优势,并且有些正在将两者都内置到他们的产品中。了解它们的优点和缺点,可以使您了解它们如何相互补充。
基于签名的IDS工具
使用基于签名的IDS(又称为基于知识的IDS),可以搜索已知恶意流量的规则或模式。一旦找到与签名匹配的内容,警报就会发送给您的管理员。这些警报可以发现诸如已知恶意软件,网络扫描活动以及针对服务器的攻击等问题。
基于异常的IDS工具
使用基于异常的IDS,也就是基于行为的IDS,生成流量的活动比传递的有效负载更为重要。基于异常的IDS工具依赖于基线而不是签名。它将搜索与先前活动或先前看到的活动的统计平均值不同的异常活动。例如,如果用户始终从加利福尼亚登录网络并访问工程文件,而如果同一用户从北京登录并查看HR文件,则这是一个危险信号。
基于签名的检测技术和基于异常的检测技术通常都以相同的方式部署,尽管可以证明您可以(并且人们已经)在外部收集的Netflow数据或类似的流量信息上创建了基于异常的IDS。
优点和缺点
基于签名的检测发生的误报较少,但仅标记了已知签名,为新的尚未确定的威胁留下了安全漏洞。基于异常的检测会产生更多的误报,但如果配置正确,它会捕获以前未知的威胁。
基于网络的IDS(NIDS)
基于网络的入侵检测系统(NIDS)通过检查网段上的所有流量来运行,以检测恶意活动。使用NIDS,通过镜像流量穿越交换机和/或路由器,可以将穿越网络的流量副本传送到NIDS设备。
NIDS设备监视流量模式或签名并发出警报。当NIDS设备标记了恶意事件时,将记录重要信息。需要监视此数据以便知道事件发生。通过将此信息与从其他系统和设备收集的事件相结合,您可以看到网络安全状况的完整图景。请注意,这里没有任何工具可以自己关联日志。这通常是安全信息和事件管理器(SIEM)的功能。
Snort
啊,爱小包的古老小猪。许多人会记得1998年Windows 98出现的那一年,但那也是Martin Roesch首次发布Snort的一年。尽管当时Snort并不是真正的IDS,但这是它的命运。从那时起,由于社区的贡献,它已成为IDS的实际标准。
值得注意的是,Snort没有真正的GUI或易于使用的管理控制台,尽管已经创建了许多其他开放源代码工具来提供帮助,例如 BASE 和 Sguil。这些工具提供了一个Web前端,可以查询和分析来自Snort IDS的警报。
Snort总结
Suricata
不运行Snort的唯一原因是什么?如果您使用的是Suricata。尽管Suricata的体系结构与Snort不同,但其行为与Snort相同,并且可以使用相同的签名。Suricata的优点是它能胜过Snort。它要做 的更多,它可能值得一个专门的职位。
有一些可用于Web前端的第三方开源工具来查询和分析来自Suricata IDS的警报。
Suricata摘要
Bro(重命名为Zeek)
Bro在2018年底更名为Zeek,有时也称为Bro-IDS或现在的Zeek-IDS,与Snort和Suricata有点不同。在某种程度上,Bro既是签名又是基于异常的IDS。其分析引擎会将捕获到的流量转换为一系列事件。事件可能是用户登录FTP,连接到网站或几乎所有内容。系统的功能是事件引擎之后的功能,即策略脚本解释器。该策略引擎具有其自己的语言(Bro-Script),并且可以执行一些非常强大且用途广泛的任务。
如果您是分析师,并且想知道“我如何使我的某些工作自动化?” 这就是您一直在寻找的工具。想要下载在线上看到的文件,将其提交以进行恶意软件分析,如果发现问题则通知您,然后将源列入黑名单并关闭下载该文件的用户计算机?是否想跟踪用户从信誉数据库联系到IP后的使用模式?
如果您不是分析师,那么此工具将具有挑战性的学习曲线。由于它是作为研究工具开发的,因此最初并没有将重点放在GUI,可用性和易于安装等方面。尽管它开箱即用地完成了许多很酷的事情,但是其中许多事情并不是立即可操作的,并且可能难以解释。
没有本机GUI,但是有第三方开放源代码工具可用于Web前端来查询和分析来自Bro-IDS的警报。考虑 ELK堆栈。
Bro总结
基于主机的IDS(HIDS)
基于主机的入侵检测系统(HIDS)通过监视端点主机内部发生的活动来工作。HIDS应用程序(例如防病毒软件,间谍软件检测软件,防火墙)通常安装在网络内所有与Internet连接的计算机上,或重要系统的子集(例如服务器)上。这包括公共云环境中的那些。
通过检查操作系统创建的日志,查找对关键系统文件的更改,跟踪已安装的软件以及有时检查主机建立的网络连接,HIDS可以搜索异常或邪恶的活动。
最初的HIDS系统是基本的,通常仅使用一个称为文件完整性监视(FIM)的流程就可以重复创建文件的MD5哈希值并查找差异。从那时起,HIDS变得更加复杂,并执行各种有用的安全功能,并且将继续增长。这包括现代的端点响应(EDR)功能。
如果您的组织具有合规性要求(例如针对PCI DSS,HIPAA或ISO 27001),则您可能需要HIDS演示文件完整性监视(FIM)和活动威胁监视。
OSSEC
在功能齐全的开放源代码HIDS工具领域,只有OSSEC,而没有其他。好消息是OSSEC擅长于其功能并且可扩展。
OSSEC几乎可以在任何主要操作系统上运行,并且包括基于客户端/服务器的管理和日志记录体系结构,这在HIDS系统中非常重要。由于本地HIDS可能在操作系统同时遭到破坏,因此非常重要的安全性和取证信息会离开主机并尽快存储在其他位置,以避免任何可能阻止检测的篡改或混淆。
OSSEC的客户端/服务器体系结构通过将警报和日志传递到集中式服务器来整合该策略,即使主机系统脱机或受到破坏,该服务器也可以进行分析和通知。客户端/服务器体系结构的另一个优点是能够从单个服务器集中管理代理。由于部署的范围可以从一千到数千个安装不等,因此从中央服务器进行全局更改的能力对于管理员的理智至关重要。
在讨论OSSEC(和其他HIDS)时,通常会担心在关键服务器上安装代理或软件。应该注意的是,OSSEC的安装非常轻巧(安装程序不到1MB),并且大多数分析实际上是在服务器上进行的,这意味着OSSEC在主机上消耗的CPU很少。OSSEC还具有将OS日志发送到服务器进行分析和存储的功能,这在没有本机和跨平台日志记录机制的Windows计算机上特别有用。
OSSEC摘要:
Samhain实验室
Samhain可能是唯一使OSSEC脱颖而出的HIDS开源软件。但是,在将两者进行比较时,多数情况下“相同但不同”。Samhain具有相同的客户端/服务器体系结构,但不需要像OSSEC那样。代理本身具有多种输出方法,一种是中央日志存储库,但包括诸如Syslog,Email和RDBMS之类的其他输出方法。甚至可以选择将Samhain用作单个主机上的独立应用程序。
另一个重要的区别是分析发生的位置。与OSSEC不同,处理发生在客户端本身,这对操作有影响。从实用的角度来看,必须小心,不要使繁忙的服务器超负荷并且不会干扰操作。从安全的角度来看,在端点上动脑子会吸引黑客停用该工具,因此不会发出警告。
Samhain摘要:
文件完整性监控(仅FIM)
由于FIM涉及威胁检测,因此许多文件完整性监视(FIM)工具都归为HIDS,所以让我们来谈谈它们。 FIM 是一种工具,可通过将当前版本与已知有效版本进行比较来验证操作系统和指定的应用程序文件的完整性,并在修改后提醒您的管理员。这很重要,因为关键服务器上的更改通常表示发生了漏洞。如果您仍然想知道“什么是文件完整性监视以及为什么需要它?”,我们有整篇 博客文章 解释了为什么。
一些FIM正在积极开发,而另一些则几年未更新。 开源Tripwire 和 AFICK 是两个开源FIM产品选项。对于基于Unix的独立系统,请考虑检出rootkit查找文件完整性检查程序,例如 chkrootkit, rkhunter或 Unhide。独特的rootkit查找机制使这些解决方案值得考虑。Windows还提供专有解决方案。
AlienVault统一安全管理(USM)平台提供内置的 FIM功能, 以驱动威胁检测技术并加速您的网络安全合规性工作。要了解有关AlienVault USM如何使用FIM保护您的资产的更多信息, 请阅读此处。
最后的想法
希望本指南可以帮助您了解一些开源选项。如此处所示,从未有如此众多的选择或更广泛的工具集。通过精心计划和持续维护计划,您可以使用这些工具构建安全的网络。通过仔细计划和持续维护计划,您可以使用这些工具构建安全的网络。