Suricata 是一个开源,多平台,完全免费的网络入侵防御和检测引擎,由开放信息安全基金会(OISF)及其支持供应商开发。
IDS / IPS引擎是多线程的
Suricata的IDS / IPS引擎是多线程的,并且具有本机IPv6支持。它能够加载现有的Snort规则和签名,并支持Barnyard和Barnyard2工具。
它具有高度可扩展性
您应该尝试使用Suricata,因为它具有高度可扩展性,可以识别最常见的协议,并且可以识别数千种文件类型,检查MD5校验和,以及从档案中提取文件。
支持主流操作系统
Suricata是一个跨平台的应用程序,可以在GNU / Linux,BSD(FreeBSD和OpenBSD),Microsoft Windows和Mac OS X操作系统上成功使用。
它作为源档案分发
该软件仅作为源存档分发,必须在安装之前进行配置和编译。但是,您可以从Linux发行版的默认软件存储库轻松安装它。支持32位和64位硬件平台。
基于开源技术的最佳IDS和IPS软件
Suricata毫无疑问是有史以来最好的IDS(入侵检测系统)和IPS(入侵防御系统)软件,仅由开源技术提供。
什么是新的在此版本中:
- 安全性:
- CVE-2018-10242,CVE-2018-10244(suricata)
- CVE-2018-10243(libhtp)
- 的变化:
- Bug#2480:http eve log data source / dest flip(4.0.x)
- 错误#2482:HTTP连接:检测率在3.1和4.0.x之间的差异
- Bug#2531:yaml:ConfYamlHandleInclude memleak(4.0.x)
- Bug#2532:memleak:使用app-layer事件规则时没有生锈
- Bug#2533:Suricata gzip unpacker bypass(4.0.x)
- Bug#2534:如果满足TCP RST(4.0.x),Suricata将停止检查TCP流
- 错误#2535:具有SC_LOG_CONFIG级别的消息将以EMERG优先级(4.0.x)记录到syslog中
- Bug#2537:libhtp 0.5.27(4.0.x)
- Bug#2540:getrandom在更晚的操作系统(4.0.x)上阻止任何suricata启动命令
- 错误#2544:ssh超出范围读取(4.0.x)
- Bug#2545:enip out of bounds read(4.0.x)
版本4.0.4中的新功能:
- 安全性:
- CVE-2018-6794被要求发行#2440
- 的变化:
- 错误#2306:输出日志重新打开失败时suricata 4死锁
- Bug#2361:规则重新加载挂断
- Bug#2389:AppLayerIncFlowCounter(4.0.x)中的BUG_ON断言
- Bug#2392:libhtp 0.5.26(4.0.x)
- 错误#2422:[4.0.3] af_packet:泄漏(可能)破坏内联频道
- 错误#2438:各种配置解析问题
- 错误#2439:当pcap时间戳为零(4.0.x) 时,修复时间戳脱机
- 错误#2440:流引擎绕过问题(4.0.x)
- Bug#2441:der parser:输入错误消耗cpu和内存(4.0.x)
- 错误#2443:DNP3 memcpy缓冲区溢出(4.0.x)
- 错误#2444:rust / dns:流量不正确的核心转储(4.0.x)
- Bug#2445:http bodies / file_data:创建超出范围的线程空间
版本中的新功能:
- 功能#2245:ieee802.1AH流量的解码器
- Bug#798:yaml config中的stats.log - 追加选项 - 缺少
- Bug#891:detect-engine.profile没有错误的值 - suricata.yaml
- Bug#961:max pending packets variable parsing
- Bug#1185:napatech:cppcheck warning
- 错误#2215:写入unix socket的丢失事件
- Bug#2230:valgrind memcheck - 4.0.0-dev(rev 1180687)
- Bug#2250:detect:混合byte_extract和isdataat导致FP&FN
- 错误#2263:在udp流量上使用dns_query时忽略内容匹配
- Bug#2274:util-misc.c中的ParseSizeString:空指针解除引用
- Bug#2275:conf.c中的ConfGetInt:NULL-pointer dereference
- Bug#2276:conf:CoredumpLoadConfig中的NULL指针解除引用
- Bug#2293:规则:深度<内容规则未被拒绝
- Bug#2324:http_start(4.0.x)中的段错误
- Bug#2325:在ICMP和flowint检查(4.0.x)上的Suricata段错误
版本4.0.1中的新功能:
- 改进检测:
- 根据Emerging Threats和Positive Technologies的规则编写团队的宝贵反馈,我们添加并改进了许多规则关键字,用于检查HTTP,SSH和其他协议。添加的TLS由Mats Klepsland在NorCERT提供,包括解码,记录和匹配TLS序列号。此外,Suricata现在允许规则编写者指定签名中的目标对象。此信息在EVE JSON日志记录中用于提供更多警报上下文。
- TLS改进了,NFS补充道:
- 有关TLS方面的更多信息:一项重要的新功能是支持SMTP和FTP中的STARTTLS。现在将在这些情况下记录TLS会话。 Mats Klepsland的更多优点。此外,由于Ray Ruvinskiy的工作,现在支持TLS会话恢复日志记录。其他TLS日志记录改进由Paulo Pacheco完成。
- 添加了NFS解码,日志记录和文件提取,作为实验性Rust支持的一部分。继续阅读有关Rust的更多信息。
- 更多EVE JSON:
- EVE以多种方式扩展......
- 在封装流量的情况下,记录内部和外部IP地址和端口
- 'vars'工具记录flowbits和其他vars。这也可以用于使用规则 中的PCRE语句记录从流量中提取的数据
- 现在可以根据时间旋转EVE
- EVE已扩展为可选地记录HTTP请求和/或响应正文
- 将(部分)流记录添加到警报记录中。
- 'vars'设施是此处的主要改进之一,因为现在签名可以准确地提取用于记录的信息。例如,签名可以提取广告的软件版本或其他信息,例如电子邮件的接收者。 [https://blog.inliniac.net/2016/12/20/suricata-bits-ints-and-vars/]
- 迈向更安全的未来的第一步:
- 这是我们使用Nom解析器框架在Rust语言中实现部件的第一个版本。这项工作的灵感来自Pierre Chiffliers(ANSSI),2016年SuriCon的演讲(pdf)。通过使用-enable-rust进行编译,您将获得一个基本的NFS解析器和DNS解析器的重新实现。对此的反馈非常感谢。
- Rust支持仍然是实验性的,因为我们正在继续探索它的功能,执行以及在社区中支持它所需的内容。此外,我们还包括Pierre Chiffliers Rust解析器的工作。这使用外部Rust解析器'crates'并使用-enable-rust-experimental启用。最初,这会添加一个NTP解析器。
- 在引擎盖下:
- 包含主要的TCP流引擎更新。这应该会带来更好的性能和更少的配置,尤其是在IPS模式下。采用TCP GAP恢复的第一步,实现DNS和NFS。
- 对于开发人员而言,此版本使得使用高性能关键字扩展检测引擎变得更加容易。使用多模式匹配添加新的高性能关键字现在只需要几行代码。
- 文档:
- SecureWorks的David Wharton在具有Snort背景的规则编写者的文档中创建了一个部分。它记录了与编写规则相关的更改。
- 后续步骤:
- 根据我们得到的反馈,我们期望在一个月左右的时间内发布4.0.1版本。然后我们将开始研究下一个主要版本,即4.1。计划于秋末,在布拉格的SuriCon之前进行ETA。
版本4.0.0中的新功能:
- 改进检测:
- 根据Emerging Threats和Positive Technologies的规则编写团队的宝贵反馈,我们添加并改进了许多规则关键字,用于检查HTTP,SSH和其他协议。添加的TLS由Mats Klepsland在NorCERT提供,包括解码,记录和匹配TLS序列号。此外,Suricata现在允许规则编写者指定签名中的目标对象。此信息在EVE JSON日志记录中用于提供更多警报上下文。
- TLS改进了,NFS补充道:
- 有关TLS方面的更多信息:一项重要的新功能是支持SMTP和FTP中的STARTTLS。现在将在这些情况下记录TLS会话。 Mats Klepsland的更多优点。此外,由于Ray Ruvinskiy的工作,现在支持TLS会话恢复日志记录。其他TLS日志记录改进由Paulo Pacheco完成。
- 添加了NFS解码,日志记录和文件提取,作为实验性Rust支持的一部分。继续阅读有关Rust的更多信息。
- 更多EVE JSON:
- EVE以多种方式扩展......
- 在封装流量的情况下,记录内部和外部IP地址和端口
- 'vars'工具记录flowbits和其他vars。这也可以用于使用规则 中的PCRE语句记录从流量中提取的数据
- 现在可以根据时间旋转EVE
- EVE已扩展为可选地记录HTTP请求和/或响应正文
- 将(部分)流记录添加到警报记录中。
- 'vars'设施是此处的主要改进之一,因为现在签名可以准确地提取用于记录的信息。例如,签名可以提取广告的软件版本或其他信息,例如电子邮件的接收者。 [https://blog.inliniac.net/2016/12/20/suricata-bits-ints-and-vars/]
- 迈向更安全的未来的第一步:
- 这是我们使用Nom解析器框架在Rust语言中实现部件的第一个版本。这项工作的灵感来自Pierre Chiffliers(ANSSI),2016年SuriCon的演讲(pdf)。通过使用-enable-rust进行编译,您将获得一个基本的NFS解析器和DNS解析器的重新实现。对此的反馈非常感谢。
- Rust支持仍然是实验性的,因为我们正在继续探索它的功能,执行以及在社区中支持它所需的内容。此外,我们还包括Pierre Chiffliers Rust解析器的工作。这使用外部Rust解析器'crates'并使用-enable-rust-experimental启用。最初,这会添加一个NTP解析器。
- 在引擎盖下:
- 包含主要的TCP流引擎更新。这应该会带来更好的性能和更少的配置,尤其是在IPS模式下。采用TCP GAP恢复的第一步,实现DNS和NFS。
- 对于开发人员而言,此版本使得使用高性能关键字扩展检测引擎变得更加容易。使用多模式匹配添加新的高性能关键字现在只需要几行代码。
- 文档:
- SecureWorks的David Wharton在具有Snort背景的规则编写者的文档中创建了一个部分。它记录了与编写规则相关的更改。
- 后续步骤:
- 根据我们得到的反馈,我们期望在一个月左右的时间内发布4.0.1版本。然后我们将开始研究下一个主要版本,即4.1。计划于秋末,在布拉格的SuriCon之前进行ETA。
版本3.2.1中的新功能:
- 功能#1951:允许不使用libmagic / file进行构建
- 功能#1972:MLDv2报告的SURICATA ICMPv6未知类型143
- 功能#2010:当使用Hyperscan支持构建时,Suricata应在运行时确认SSSE3的存在
- 错误#467:使用单元测试和调试验证进行编译
- 错误#1780:不以afpacket内联模式转发VLAN标记
- Bug#1827:Mpm AC无法分配内存
- Bug#1843:Mpm Ac:int init期间溢出
- Bug#1887:pcap-log将snaplen设置为-1
- Bug#1946:在某些情况下无法获取响应信息
- Bug#1973:由于unix socket ,suricata无法启动
- Bug#1975:hostbits / xbits内存泄漏
- Bug#1982:tls:无效的记录事件触发有效流量
- Bug#1984:如果双方都格式错误,http:协议检测问题
- Bug#1985:pcap-log:次要内存泄漏
- Bug#1987:log-pcap:使用无效snaplen创建的pcap文件
- Bug#1988:tls_cert_subject bug
- Bug#1989:SMTP协议检测区分大小写
- Bug#1991:Suricata无法解析端口:“![1234,1235]"
- Bug#1997:tls-store:导致Suricata崩溃的错误
- Bug#2001:处理未经请求的DNS响应。
- Bug#2003:BUG_ON主体有时包含副作用代码
- Bug#2004:使用强制哈希时无效的文件哈希计算
- Bug#2005:请求,捕获和http长度之间的不相干大小
- Bug#2007:smb:protocol detection只检查toserver
- Bug#2008:Suricata 3.2,由于timestamp_pattern PCRE,pcap-log不再有效
- Bug#2009:Suricata在非root 下运行时无法卸载设置
- Bug#2012:dns.log不记录未答复的查询
- Bug#2017:EVE Log Missing Fields
- Bug#2019:IPv4碎片整理规避问题
- Bug#2022:dns:out of bound memory read
版本3.2中的新功能:
- 重大变化:
- 旁路
- 预过滤 - 快速包关键字
- TLS改进
- SCADA / ICS协议增加:DNP3 CIP / ENIP
- 用于文件匹配,记录和提取的SHA1 / SHA256
- Sphinx文档
- 可见的较小变化:
- 默认禁用NIC卸载
- 默认情况下启用unix命令套接字
- App Layer stats
- 引擎盖下:
- 线程简化(log api +不再重新启动线程)
- 流程管理器优化
- 简化添加关键字
- luajit改进了大型部署中的内存处理
版本3.1.2中的新功能:
- 功能#1830:在eve log中支持'tag'
- 功能#1870:使记录的flow_id更加独特
- 功能#1874:支持Cisco Fabric Path / DCE
- 功能#1885:eve:添加选项以记录所有丢弃的数据包
- 功能#1886:dns:输出过滤
- 错误#1849:如果存在以太网FCS,ICMPv6错误的校验和警报
- 错误#1853:修复dce_stub_data缓冲区
- 错误#1854:unified2:记录标记的数据包无法正常工作
- 错误#1856:未找到PCAP模式设备
- Bug#1858:从3.0.1升级到3.1.1后,很多TCP'重复选项/ DNS格式错误的请求数据'
- Bug#1878:dns:记录sshfp记录时崩溃
- Bug#1880:icmpv4错误包可能导致tcp / udp中漏检
- Bug#1884:libhtp 0.5.22
版本3.1.1中的新功能:
- 功能#1775:Lua:SMTP支持
- 错误#1419:DNS事务处理问题
- 错误#1515:使用多个IP时Threshold.config出现问题
- 错误#1664:流量过期时未记录未提及的DNS查询
- 错误#1808:删除权限后无法设置线程优先级
- Bug#1821:Suricata 3.1无法在CentOS6上启动
- Bug#1839:suricata 3.1 configure.ac说> = libhtp-0.5.5,但是> = libhtp-0.5.20
- Bug#1840:-list-keywords和-list-app-layer-protos not working
- Bug#1841:libhtp 0.5.21
- Bug#1844:netmap:IPS模式未在promisc模式下设置第二个iface
- Bug#1845:在仍然启用记录器的情况下禁用应用层协议时崩溃
- 优化#1846:af-packet:改进线程计算逻辑
- 优化#1847:规则:不要对空文件发出警告
版本3.0.1中的新功能:
- 改进了检测选项,包括多租户和xbits
- 性能和可扩展性大大提高
- 大大提高了准确性和稳健性
- Lua脚本功能显着扩展
- 许多输出改进,包括更多JSON
- NETMAP捕获方法支持,对FreeBSD用户特别感兴趣
- SMTP检查和文件提取
3.0版中的新功能:
- 改进了检测选项,包括多租户和xbits
- 性能和可扩展性大大提高
- 大大提高了准确性和稳健性
- Lua脚本功能显着扩展
- 许多输出改进,包括更多JSON
- NETMAP捕获方法支持,对FreeBSD用户特别感兴趣
- SMTP检查和文件提取
版本2.0.9中的新功能:
- 的变化:
- 错误#1385:DCERPC流量解析问题
- Bug#1391:http uri解析问题
- Bug#1383:tcp midstream window issue
- 错误#1318:streamTCP中的线程同步问题
- 错误#1375:列表关键字选项中的回归
- Bug#1387:pcap文件在没有原子支持的系统上挂起
- 错误#1395:dump-counters unix socket命令失败
- 优化#1376:未清理文件列表
- 安全性:
- DCERPC解析问题已分配给它CVE-2015-0928。
版本2.0.7中的新功能:
- 更改:
- 错误#1385:DCERPC流量解析问题
- Bug#1391:http uri解析问题
- Bug#1383:tcp midstream window issue
- 错误#1318:streamTCP中的线程同步问题
- 错误#1375:列表关键字选项中的回归
- Bug#1387:pcap文件在没有原子支持的系统上挂起
- 错误#1395:dump-counters unix socket命令失败
- 优化#1376:未清理文件列表
- 安全性:
- DCERPC解析问题已分配给它CVE-2015-0928。
版本2.0.6中的新功能:
- Bug#1364:逃避问题
- Bug#1337:output-json:重复记录
- Bug#1325:tls检测导致tcp流重组序列间隙(IPS)
- Bug#1192:由于字符串函数的重新定义,Suricata无法在OS X / Clang上编译
- Bug#1183:pcap:cppcheck warning
版本2.0.5中的新功能:
- 错误#1190:SYN时,http_header关键字不匹配|缺少确认和确认
- Bug#1246:EVE输出Unix域套接字无法正常工作
- Bug#1272:libhtp中的Segfault 0.5.15
- 错误#1298:文件存储关键字解析问题
- Bug#1303:改进流'错误窗口更新'检测
- Bug#1304:改善不良SACK值的流处理
- 错误#1305:修复ssh / ssl会话的tcp会话重用
- 错误#1307:byte_extract,组合内无法正常工作
- Bug#1326:pcre pkt / flowvar capture for non-relative matches
- 错误#1329:正在处理和加载的规则无效
- Bug#1330:流程memuse簿记错误(2.0.x)
版本2.0.4中的新功能:
- 的变化:
- Bug#1276:带路由标头的ipv6碎片整理问题
- 错误#1278:ssh横幅解析器问题
- 错误#1254:sig解析格式错误的rev关键字 崩溃
- Bug#1267:ipv6 logging 的问题
- Bug#1273:Lua - http.request_line无法正常工作
- 错误#1284:AF_PACKET IPS模式未记录丢弃和流内联问题
- 安全性:
- CVE-2014-6603
版本2.0.3中的新功能:
- 错误#1236:修复http解析中的潜在崩溃
- Bug#1244:ipv6 defrag issue
- Bug#1238:stream-tcp-reassemble.c中可能的逃避。
- 错误#1221:小写转换表缺少最后一个值
- 支持#1207:无法使用-enable-profiling 在CentOS 5 x64上编译
- 将捆绑的libhtp更新为0.5.15
版本2.0 RC1中的新功能:
- 添加了统一JSON输出。 VLAN处理得到了改进。
- 添加了QinQ支持。
- 添加了用于覆盖配置设置的命令行选项。
- ICMPv6处理得到改善。
- 添加了DNS和HTTP处理的Memcaps。
- 进行了几次数据包捕获改进。
- 添加了优化的NSM运行模式。
- 修复了许多其他问题。
2.0版Beta 2中的新功能:
- VLAN支持得到了改进。
- 添加了IP碎片整理选项。
- 添加了用于启用和禁用协议解析器的选项。
- 协议检测得到了改进。
- 进行了IPv6改进。
- HTTP检查得到了改进。
- 扩展了分析选项。
- 进行了更多更改。
版本1.4.7中的新功能:
- 修正:
- 错误#996:标记关键字:每次标记会话被破坏
- Bug#1000:在de_ctx 之前延迟检测阈值
- 错误#1001:ip_rep加载单个ip的多个值的问题
- Bug#1022:StreamTcpPseudoPacketSetupHeader:端口交换逻辑不一致
- Bug#1047:detect-engine.profile - 解析自定义值
- Bug#1063:多个vars的规则排序
版本1.4.6中的新内容:
- 错误958:格式错误的SSL记录导致崩溃。 Sebastian Roschke报道。 CVE-2013-5919。
- 错误971:AC模式匹配器超出内存读取范围。
- 错误965:改进否定的内容处理。 Will Metcalf报道。
- 错误937:修复IPv6-in-IPv6解码。
- 错误934:改进地址解析。
- 错误969:修复unified2不记录已标记的数据包。
版本1.4.5中的新功能:
- 修复了IPv6问题。
评论没有发现