网卡的混杂模式,在该模式下网卡会将网络上的数据一并抓获。
[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
解压:
tar -xvzf suricata-6.0.2.tar.gz --- 安装包去官网下载
cd suricata-6.0.2
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nfqueue --enable-lua
先安装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