目录

网络安全4个热门有用的开源网络入侵检测系统

网络安全:4个热门有用的开源网络入侵检测系统

可以分为两种类型:网络入侵检测系统(Network IDS,NIDS)和主机入侵检测系统(Host IDS,HIDS)。NIDS监测网络流量,而HIDS监测主机上的系统活动。本文将分享在开源社区比较火热,以及各大安全公司都在使用的开源网络入侵检测系统,同时本人也曾在工作中使用和学习过suricata、snort、zeek/bro、OSSEC、security Onion这些软件工具,以及做过一些安全分析和源码阅读,下一篇将分享关于主机上的开源入侵检测系统。后面将详细介绍如何在实际的项目实战中使用这些工具,以及通过源码的分析来理解里面的原理。

入侵检测系统是什么

入侵检测系统(Intrusion Detection System,IDS)是一种安全工具,用于监测计算机网络和系统中的异常活动和攻击行为。IDS可以分为两种类型:网络入侵检测系统( IDS,NIDS)和主机入侵检测系统(Host IDS,HIDS)。NIDS监测网络流量,而HIDS监测主机上的系统活动。

入侵检测系统的作用

入侵检测系统的作用是帮助安全团队及时发现和响应网络和系统中的安全事件,包括恶意软件、攻击者入侵、数据泄露等。IDS可以检测网络和系统中的异常活动,例如端口扫描、恶意软件传播、暴力破解等,以便及时采取措施来保护组织的安全。

入侵检测系统的原理

入侵检测系统的原理是通过监测网络流量或主机上的系统活动,来检测是否存在异常活动和攻击行为。IDS使用一系列的规则和算法,来分析网络流量和系统活动,以便及时发现和响应安全事件。

以下即为比较有用的开源网络入侵检测系统:

1、Suricata

https://img-blog.csdnimg.cn/img_convert/4b9d6a1bc8e446d243b9e84b2304c94e.png

Suricata(NIDS)是开源信息安全基金会(Open Information Security Foundation)开发的一个开源,快速,高度稳定、高性能的网络入侵检测系统。Suricata引擎可以用于监测网络流量,检测恶意活动,能够实时入侵检测,内联入侵防御和网络安全监控。Suricata由几个模块组成,如捕捉,采集,解码,检测和输出。它捕获在解码之前在一个流中传递的流量,这是非常优化的。但是与Snort不同的是,它在捕获并指定流程将如何在处理器之间分离之后配置单独的流程。

Suricata基于规则和签名,可以检测各种网络攻击,包括端口扫描、漏洞利用、恶意软件传播等。Suricata还支持自定义规则和脚本,以满足特定的安全需求。

Suricata还支持IP黑名单和白名单,以便过滤不需要检测的流量。

Suricata的原理是通过监测网络流量,使用规则和签名来检测恶意活动。Suricata使用多线程和可扩展的架构,可以处理高速网络流量。

优点

  • 在OSI模型的第七层进行网络流量处理,从而增强了检测恶意软件活动的能力。
  • 自动检测和分析IP,TCP,UDP,ICMP,HTTP,TLS,FTP,SMB和FTP等协议,以便适用于所有协议。
  • 高性能,高级功能包括多线程、GPU加速、和可扩展的架构。
  • 支持自定义规则和脚本,灵活性高。
  • 支持IP黑名单和白名单,过滤不需要检测的流量。

缺点

  • 操作复杂(配置和使用),需要更多的系统资源才能完成功能,需要一定的技术水平;
  • 对CPU和内存资源的消耗较大。

https://img-blog.csdnimg.cn/img_convert/34400c0e6c583ec9b1b449d6f0b9a370.png

官方网站:https://suricata.io/

github地址:https://github.com/OISF/suricata

2、Snort

https://img-blog.csdnimg.cn/img_convert/82712299fdf90473e5e80c941f46d843.png

Snort(NIDS)是一个免费的开源网络入侵检测和预防工具(防火墙系统)。它是由Martin Roesch于1998年创建的,使用Snort的主要优点是能够在网络上执行实时流量分析和数据包记录,用于监测网络流量,检测恶意活动。凭借协议分析,内容搜索和各种预处理器的功能,Snort被广泛接受为检测各种蠕虫,攻击,隐形端口扫描、缓冲区溢出、CGI攻击、SMB探测、操作系统指纹尝试,以及其他恶意威胁检测的工具。它受到许多硬件平台和操作系统的支持,如Linux,OpenBSD,FreeBSD,Solaris,HP-UX ,MacOS,Windows等。

它可以配置三种主要模式 - 嗅探器,数据包记录器和网络入侵检测。在嗅探器模式下,程序将只读取数据包并在控制台上显示信息。在数据包记录器模式下,数据包将被记录在磁盘上。在入侵检测模式下,程序将监控实时流量并将其与用户定义的规则进行比较。

Snort基于规则和签名,可以检测各种网络攻击,包括端口扫描、漏洞利用、恶意软件传播等。Snort还支持自定义规则和脚本,以满足特定的安全需求。

Snort的原理是通过监测网络流量,使用规则和签名来检测恶意活动。Snort使用多线程和可扩展的架构,可以处理高速网络流量。Snort还支持IP黑名单和白名单,以便过滤不需要检测的流量。

优点

  • 在部署方面具有高度灵活性和动态性。
  • 良好的社区支持解决问题,正在快速发展。
  • 成熟稳定,广泛应用。
  • 支持自定义规则和脚本,灵活性高,易于编写入侵检测规则。
  • 支持IP黑名单和白名单,过滤不需要检测的流量。

缺点

  • 处理网络数据包有点慢。
  • 无法检测到分割多个TCP数据包的签名,这是在以串联模式配置数据包时发生的。
  • 对CPU和内存资源的消耗较大。

官方网站:www.snort.org

github地址:https://github.com/snort3/snort3

Snort 3是下一代Snort IPS(入侵防御系统)

3、Zeek/Bro

https://img-blog.csdnimg.cn/img_convert/623721dc0edc8e808611b42d0d4233e1.png

Zeek(原名Bro)是由Vern Paxson开发的一种被动的,开源的网络流量监测工具,可以用于监测网络流量,并生成详细的日志和报告。Zeek可以分析网络流量,检测恶意活动,例如网络扫描、漏洞利用等。Zeek包含一组日志文件,用于记录网络活动,如HTTP会话,包括URI,密钥标头,MIME类型,服务器响应,DNS请求,SSL证书,SMTP会话等。此外,它提供了复杂的功能,用于分析和检测威胁,从HTTP会话中提取文件,复杂的恶意软件检测,软件漏洞,SSH暴力攻击和验证SSL证书链。Zeek还支持自定义脚本,以满足特定的安全需求。

Zeek的原理是通过监测网络流量,分析网络活动,检测恶意行为。Zeek使用自定义脚本和插件,可以扩展其功能。Zeek还可以生成详细的日志和报告,以便安全团队及时发现和响应安全事件。

Zeek****分为两层

  • Bro事件引擎:当网络上发生异常时,它执行使用C ++分析实时或记录的网络流量包的事件。
  • Bro策略脚本:这些策略分析事件以创建操作策略,使用策略脚本处理事件,例如发送电子邮件,发出警报,执行系统命令,甚至调用紧急号码。

安全工具zeek和bro的区别

Zeek(原名Bro)和Bro是同一个工具,只是在2018年更名为Zeek。Zeek是一种网络安全监测工具,可以用于监测网络流量,并生成详细的日志和报告。Zeek可以分析网络流量,检测恶意活动,例如网络扫描、漏洞利用等。

Bro是一个开源的网络安全监测工具,可以用于监测网络流量,分析网络活动,检测恶意行为。Bro可以生成详细的日志和报告,以便安全团队及时发现和响应安全事件。

https://img-blog.csdnimg.cn/img_convert/2792e6b55e108b29e7408e4fb0dffc22.png

优点

  • 支持自定义脚本和插件,灵活性高,使用脚本语言来允许用户为每个受保护的对象设置监视规则。
  • 在拥有大量流量的网络中高效工作,并处理大型网络项目。
  • 能够深入分析流量,并支持多种协议的分析仪。
  • 可以生成详细的日志和报告,便于安全团队分析。
  • 对CPU和内存资源的消耗较小。

缺点

  • 对高速网络流量的处理能力较弱。
  • 对于一些高级攻击行为的检测能力有限。

官方网站:www.zeek.org

github地址:https://github.com/zeek/zeek

4、Security Onion

https://img-blog.csdnimg.cn/img_convert/9fab206488279ac10e5f8ab8a9645de3.png

Security Onion是入侵检测,一种基于Ubuntu Linux的网络安全监测平台,网络安全监控和日志管理的Linux发行版。开源发行版基于Ubuntu,集成了多种开源安全工具,包含许多IDS工具,如Snort,Suricata,Bro,Zeek,Sguil,Squert,Snorby,ELSA,Xplico,NetworkMiner等等。Security Onion为网络流量,警报和可疑活动提供了高可见性和环境。但是这需要系统管理员进行适当的管理来检查警报,监视网络活动并定期更新基于IDS的检测规则。

Security Onion可以用于监测网络流量、检测恶意活动、分析安全事件等。Security Onion还支持实时报警和警告通知,以便安全团队及时发现和响应安全事件。

Security Onion的原理是通过监测网络流量,使用多种开源安全工具来检测恶意活动。Security Onion使用客户端-服务器架构,可以监测多个主机,并将报警信息发送到中央服务器。Security Onion还支持自定义规则和脚本,以满足特定的安全需求。

核心功能

  • 完整的数据包捕获。
  • 基于网络和主机的入侵检测系统。
  • 强大的分析工具。
  • 完整的数据包捕获:这是通过使用netsnifff-ng完成的,捕获Security Onion可以看到的所有网络流量,并且可以像存储解决方案一样存储。它就像一个网络实时摄像机,提供了网络上发生的威胁和恶意活动的所有证据。
  • 基于网络和基于主机的IDS:分析网络或主机系统,并为检测到的事件和活动提供日志和警报数据。Security Onion拥有多种IDS选项,如规则驱动的IDS,分析驱动的IDS,HIDS等。
  • 分析工具:除了网络数据捕获外,Security Onion还包括Sguil,Squert,ELSA等各种工具,用于协助管理员进行分析。

优点

  • 为用户提供一个高度灵活的环境,以根据需要调整网络安全。
  • 集成了多种开源安全工具,功能强大,由预先安装的传感器管理工具,流量分析仪和数据包嗅探器组成,无需额外的IDS / IPS软件即可运行。
  • 支持实时报警和警告通知,及时发现和响应安全事件;
  • 支持自定义规则和脚本,灵活性高。

缺点

  • 安装后不能作为IPS使用,而只能作为IDS使用。
  • 管理员需要学习各种工具来有效使用Security Onion发行版。
  • 配置文件除规则以外不能自动备份。
  • 配置和使用较为复杂,需要一定的技术水平。

官方网站:https://securityonion.net/

github地址:https://github.com/Security-Onion-Solutions/securityonion

总之,Suricata、Snort和Zeek都是网络安全监测工具,可以用于监测网络流量,检测恶意活动。它们的原理都是通过监测网络流量,使用规则和签名来检测恶意活动。它们都支持自定义规则和脚本,以满足特定的安全需求。它们的优缺点也各有不同,需要根据具体的使用场景和需求来选择合适的工具。