DPDK-Suricata应用部署

作者: tolun | 来源:发表于2019-08-27 14:54 被阅读0次

    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文件

    相关文章

      网友评论

        本文标题:DPDK-Suricata应用部署

        本文链接:https://www.haomeiwen.com/subject/zajeectx.html