Centos 7部署Suricata

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

Centos 7部署Suricata

文章插图
 
【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 team0Connection '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-develzlib-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-j4make install-j4ldconfigmake 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 --runmodesworker--runmode <runmode>使用–runmode选项,您可以设置要使用的运行模式 。此命令行选项可以覆盖yaml runmode选项 。运行模式为:worker,autofp和single 。suricata日志记录哪些信息,内容以什么形式组织的?1、eve.jsonsuricata所有的告警,元数据,文件信息和特定协议记录都会记录在eve.json中,事件类型 分为alert、http、DNS、tls,drop2、fast.log3、http.log4、dns.log5、stats.log6、drop.log被丢弃的报文合集7、log.pcap.timestamppcap报文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
安装报错问题:


推荐阅读