Centos7部署Suricata

本文详细介绍了如何在CentOS7上部署和配置Suricata网络安全分析工具,包括开启网卡混杂模式、配置端口聚合、安装依赖包、编译安装Suricata以及设置规则和日志记录。还提到了解决configure和make过程中可能遇到的错误,并提供了Suricata运行模式和日志输出的详细信息。
摘要由CSDN通过智能技术生成

Centos 7部署Suricata

Centos开启混杂模式
网卡的混杂模式,在该模式下网卡会将网络上的数据一并抓获。
[ROOT]# ifconfig eth1 promisc  设置混杂模式
[ROOT]# ifconfig eth1 -promisc 取消混杂模式

混杂模式开启后网卡会多出 “PROMISC”
在这里插入图片描述
配置端口聚合

# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'

# nmcli connection modify team0 team.config '{"runner":{"name":"loadbalance"}}'  
配置loadbalance负载模式

将ens37和ens38加入team0中
# nmcli connection add type team-slave con-name team0-1 ifname ens37 master team0

# nmcli connection add type team-slave con-name team0-2 ifname ens38 master team0
Connection 'team0-2' (ce24f4cf-f76a-44e8-b593-206d4697cdc0) successfully added.

激活逻辑端口
# nmcli connection up team0-1
# nmcli connection up team0-2

———————————————————————————————————————
team有四种工作模式,分别是
"broadcast"广播容错
"roundrobin"平衡轮询
"activebackup"主备
"loadbalance"负载均衡。
在添加team模式时命令中的工作模式命令也不同,team模式的命令格式是'{"runner":{"name":"工作模式"}}',这点需要注意。
安装依赖包
安装依赖:
yum -y install gcc libpcap-devel pcre-devel libyaml-devel file-devel  zlib-devel jansson-devel nss-devel libcap-ng-devel libnet-devel tar make libnetfilter_queue-devel lua-devel PyYAML libmaxminddb-devel rustc cargo lz4-devel
解压进入目录后构建Suricata:
解压:
tar -xvzf suricata-6.0.2.tar.gz  --- 安装包去官网下载
cd suricata-6.0.2
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nfqueue --enable-lua
报错,提示需要安装 yum install rustc cargo报错
安装rustc cargo前需要先安装EPEL
先安装epel:
yum install -y epel-release
在安装rustc cargo:
yum install rustc cargo
构建Suricata正常后执行编译安装
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nfqueue --enable-lua 
构建正常截图

在这里插入图片描述

编译安装
执行编译安装
make  -j4
make install  -j4
ldconfig

make install-full    //安装配置文件和rules文件

在这里插入图片描述

新兴的威胁(Emerging Threats)自动下载和设置最新的规则集:(加载规则)
make install-rules

修改suricata.yaml网卡信息,vim /etc/suricata/suricata.yaml
将eth0改为自己要监听的网卡
在这里插入图片描述

您可以输入自己喜欢的接口卡,而不是ens33。

启动 :suricata -c /etc/suricata/suricata.yaml -i ens33 --init-errors-fatal
或者使用 :suricata -c /etc/suricata/suricata.yaml -i ens33 --runmode=workers -D

PS:

配置suricata.yaml目录 : /etc/suricata/suricata.yaml
规则suricata.rules目录: /var/lib/suricata/rules/suricata.rules
# suricata --list-runmodes
--list-keywords=[all|csv|<kword>]
列出所有受支持的规则关键字。

# suricata --runmodes  worker
--runmode <runmode>
使用–runmode选项,您可以设置要使用的运行模式。此命令行选项可以覆盖yaml runmode选项。

运行模式为:worker,autofp和single。
suricata日志记录哪些信息,内容以什么形式组织的?
1、eve.json
suricata所有的告警,元数据,文件信息和特定协议记录都会记录在eve.json中,事件类型 分为alert、http、dns、tls,drop
2、fast.log
3、http.log
4、dns.log
5、stats.log
6、drop.log
被丢弃的报文合集
7、log.pcap.timestamp
pcap报文
8、自定义日志输出
利用Lua脚本,只需要重写4个函数:init(),setup(),log(),deinit()
即可以自定义日志输出格式

设置端口组[80,8080],端口范围[1024:65535]以及any任意端口,还可以在配置文件中添加端口组,通过!号来进行排除
[root@localhost etc]# vim /etc/suricata/suricata.yaml
在这里插入图片描述
使用tcpdump 查看是否有流量
enp26s0f1 为网口名称
[root@centos~ ]# tcpdump -i enp26s0f1 -nne

附上参考链接:
https://paper.seebug.org/1054/#_4
https://zhuanlan.zhihu.com/p/64742715

安装报错问题:

1、执行configure命令的时候报下图错误

# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nfqueue --enable-lua

在这里插入图片描述
排除方法:

报错是因为rustc的环境问题
# yum remove -y rustc --- 先卸载rustc
# curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# source $HOME/.cargo/env

安装完rustc后再configure一下
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nfqueue --enable-lua

2、执行make命令的时候报下图错误

# make

在这里插入图片描述
排除方法:

报错是因为没有运行configure命令
运行configure命令在make即可
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nfqueue --enable-lua
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值