<返回更多

Centos 7部署Suricata

2022-03-10    强爱专研
加入收藏

centos开启混杂模式

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

混杂模式开启后网卡会多出 “PROMISC”

Centos 7部署Suricata

 


配置端口聚合

# 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 

构建正常截图

Centos 7部署Suricata

 

编译安装

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

make install-full    //安装配置文件和rules文件
Centos 7部署Suricata

 

新兴的威胁(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
Centos 7部署Suricata

 


排除方法:

报错是因为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
Centos 7部署Suricata

 


排除方法:

报错是因为没有运行configure命令
运行configure命令在make即可
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nfqueue --enable-lua
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>