在网上看到两篇对这个解释的好的博客,所以我就直接拿过来使用了。
最近看了一下suricata-1.2.1的源代码,加之之前在网上没有搜到关于suricata的分析资料,所以就把看源码时的一些笔记整理了一下,发到网上,供其他对suricata感兴趣的网友参考。由于是第一次在csdn上写技术博客,不足之处还望看到此文章的网友见谅!
先还是进行简要的介绍一下,Suricata 是一个网络入侵检测和阻止引擎,由开放信息安全基金会以及它说支持的提供商说开发。该引擎是多线程的,内置 IPv6 的支持,可加载预设规则,支持 Barnyard 和 Barnyard2 工具。
由于我只对Suricata的IPS模式感兴趣,所以就只看了IpsNFQ的源代码部分,但个人觉得,只要把一种模式看懂了,其它的模式理解起来就是顺其自然的事情了,各模式之间最主要的不同就是数据包的来源不同。下面就开始对suricata的IpsNFQ模式进行分析。
1. IpsNFQ三种模式图
IpsNFQ模式下还有三种模式,先来看看这三种模式的分析图。
a) Auto模式
b) AutoFP模式
c) Worker模式
对上图中的一些值说明一下。Queue数量是指NFQ的Queue数量;CPU数是指CPU的核心数;ratio是一个比率值,在suricata.yaml配置文件中设定,一般设置成0.5、1或1.5。