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,export RTE_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 -l 0 -M 10 baidu.pcap
ens32為正常網口,區分ens33、ens36,baidu.pcap為抓取的百度流量包。
然后執行命令:./src/suricata -c suricata.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解壓安裝。
下載scirius http://www.github.com/StamusNetworks/scirius,解壓。
切換到scirius目錄:cd scirius,安裝django和依賴項,執行:pip install –r requirements.txt
如果出現:ERROR: requests 2.21.0 has requirement urllib3<1.25,>=1.21.1, but you'll have urllib3 1.25.1 which is incompatible
建議升級pip install --upgrade urllib3
要使用處理suricata restart的suri _reloader腳本,還需要安裝pyinotify, 執行:pip install pyinotify
安裝gitdb模塊、GitPython模塊 :pip install gitdb、pip install gitpython==0.3.1-beta2
對於npm 和 webpack,需要安裝穩定版本的npm和webpack 版:
yum install npm
全局安裝webpack 和webpack-cli:
npm install webpack@3.11 -g
npm install webpack-cli -g
建議也局部安裝一次:
npm install webpack@3.11 --save-dev
npm install 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
創建超級用戶:python manage.py createsuperuser
啟動應用之前,運行webpack構建bundle: webpack、python manage.py collecstatic
啟動Scirius CE: python manage.py runserver
程序偵聽可訪問地址:python manage.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文件