DPDK-Suricata应用部署

DPDK安装部署

1、 DPDK下载

下载dpdk-stable-18.02.2.tar.gz并解压,进入解压后dpdk目录下。

https://fast.dpdk.org/rel/dpdk-18.02.2.tar.xz

2、 设置环境变量

export RTE_SDK=$PWD,exportRTE_TARGET=x86_64-native-linuxapp-gcc。

建议在/etc/profile中设置,设置完后执行source /etc/profile永久生效。

可执行echo

$RTE_SDK进行验证。

3、 设置大叶内存:

mkdir -p /mnt/huge

mount -t hugetlbfs nodev /mnt/huge

echo

1024>/sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

4、 编译DPDK:

make config T=x86_64-native-linuxapp-gcc

make

make install T=x86_64-native-linuxapp-gcc

5、 安装kernel module:

modprobe uio

insmod build/kmod/igb_uio.ko

6、 绑定网卡:

系统建议设置三块网卡,两个给DPDK使用。

ifconfig ens33 down

ifconfig ens36 down

./usertools/dpdk-devbind.py

--bind=igb_uio ens33(或者0000:02:01.0)

./usertools/dpdk-devbind.py

--bind=igb_uio ens36(或者0000:02:04.0)

执行./usertools/dpdk-devbind.py

–s进行验证查看:


7、 测试验证

cd examples/helloword

rm –rf build/ (如果build文件夹存在)

make

./build/helloworld

出现以下内容则安装成功:


DPDK-Suricata3.0安装部署

1、 下载DPDK-Suricata_3.0并解压,解压后进入DPDK-Suricata_3.0-master/suricata-3.0/

2、 编译DPDK-Suricata_3.0:

autoconf

./configure –enable-dpdkintel

make –j 10

3、 配置设置:

配置文件suricata.yaml为DPDK-Suricata-3.0整体配置文件。

配置默认日志路径:default-log-dir: /usr/local/var/log/suricata/ (该设置在suricata.yaml中)

mkdir/usr/local/etc/suricata/

cp ./classification.config /usr/local/etc/suricata/

cp ./reference.config /usr/local/etc/suricata/

cp ./suricata.yaml /usr/local/etc/suricata/

cp ./threshold.config /usr/local/etc/suricata/

mkdir /usr/local/var/log/suricata/

在suricata.yaml中配置dpdkintel,内容如下图:


4、 测试DPDK-Suricata-3.0是否安装成功:

执行命令./src/suricata –list-runmodes出现如下效果:


执行命令./src/suricata –list-dpdkintel-ports出现如下效果:


5、 自定义规则测试DPDK-Suricata-3.0检测引擎效果:

在/usr/local/etc/suricata/rules下创建test-baidu.rules文件,内容为:

alert http

any any -> any any (msg:"hit baidu.com...";

content:"baidu"; reference:url, www.baidu.com;)

安装流量发包工具(科来提供),抓取访问百度网站的pcap包文件,然后执行发包命

令:tcpreplay -i ens32 -l0 -M 10 baidu.pcap

ens32为正常网口,区分ens33、ens36,baidu.pcap为抓取的百度流量包。

然后执行命令:./src/suricata -csuricata.yaml -s /usr/local/etc/suricata/rules/test-baidu.rules –dpdkintel

在/usr/local/var/log/suricata目录下生成以下内容则检测引擎运行成功:


其中fast.log内容为生成的告警信息:


Scirius安装部署

Scirius用户指南:https://scirius.readthedocs.io/en/latest/

1、 安装相关依赖:

安装python-pip,pypi.org上下载pip19.2.1.tar.gz解压安装。

下载sciriushttp://www.github.com/StamusNetworks/scirius,解压。

切换到scirius目录:cd scirius,安装django和依赖项,执行:pip install –rrequirements.txt

如果出现:ERROR: requests 2.21.0 has requirementurllib3<1.25,>=1.21.1, but you'll have urllib3 1.25.1 which isincompatible

建议升级pip install--upgrade urllib3

要使用处理suricata restart的suri

_reloader脚本,还需要安装pyinotify, 执行:pip install  pyinotify

安装gitdb模块、GitPython模块 :pip install gitdb、pip installgitpython==0.3.1-beta2

对于npm 和 webpack,需要安装稳定版本的npm和webpack 版:

yuminstall npm

全局安装webpack 和webpack-cli:

npminstall  webpack@3.11  -g

npminstall  webpack-cli  -g

建议也局部安装一次:

npminstall webpack@3.11 --save-dev

npminstall webpack-cli --save-dev

更新依赖:  npm install

2、 安装scirius

切换到scirius/hunt 下执行:cd 

scirius/hunt 、 npm  install 、npm run build

如果此时失败,提示为: "file":

"node_modules/patternfly/dist/sass/_patternfly.scss", 是出于路径问题,需要增加对应路径.在hunt/package.json文件中,在字段"scripts"增加路径:

--include-path=node_modules/bootstrap-sass/assets/stylesheets/

--include-path=node_modules/font-awesome-sass/assets/stylesheets/

重新执行npm run build

3、运行scirius

Scirius根目录下,启动Django数据库:python manage.py migrate

创建超级用户:pythonmanage.py createsuperuser

启动应用之前,运行webpack构建bundle: webpack、python manage.pycollecstatic

启动Scirius CE:python manage.py runserver

程序侦听可访问地址:pythonmanage.py runserver 192.168.88.131:8000

关闭防火墙,在浏览器中访问:192.168.88.131:8000出现Scirius界面:


Sources: 规则源模块,用于管理规则源的启动停用。

Rulesets:规则集模块,用于规则集及规则的各项管理。

Suricata:suricata模块,用与管理suricata与scirius联动。

4、suricata设置:

在suricata.yaml文件中配置:


所有的规则都合并在scirius.rules文件中。

5、后续应用安装:

后续要安装部署ElasticSearch、Kibana、Evebox用于告警信息的呈现管理。

相关配置:

scirius-master/scirius/settings.py文件


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,408评论 4 371
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,690评论 2 307
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 112,036评论 0 255
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,726评论 0 221
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,123评论 3 296
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,037评论 1 225
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,178评论 2 318
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,964评论 0 213
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,703评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,863评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,333评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,658评论 3 263
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,374评论 3 244
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,195评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,988评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,167评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,970评论 2 279

推荐阅读更多精彩内容