Suricata安装与使用:常用关键字、规则BUG

Suricata简介

Suricata是一个免费、开源、成熟、快速、健壮的网络威胁检测引擎。Suricata引擎能够进行实时入侵检测(IDS)、内联入侵预防(IPS)、网络安全监控(NSM)和离线pcap处理。Suricata使用强大而广泛的规则和签名语言来检查网络流量,并提供强大的Lua脚本支持来检测复杂的威胁。

实验环境

虚拟机版本信息

  • 虚拟机平台:VMware 15.5
  • 操作系统:Kali 2020.4
  • 版本信息:Linux version 5.9.0-kali1-amd64 (devel@kali.org) (gcc-10 (Debian 10.2.0-15) 10.2.0, GNU ld (GNU Binutils for Debian) 2.35.1) #1 smb Debian 5.9.1-1kali2 (2020-10-29)

Suricata版本

  • Suricata:version 6.0.1 RELEASE

Suricata安装

安装过程

根据实验所使用的环境,参考suricata官网进行安装。

命令如下:

sudo apt-get install suricata
echo "deb http://http.debian.net/debian buster-backports main" > /etc/apt/sources.list.d/backports.list
apt-get update
apt-get install suricata -t buster-backports

安装完成后可以查看一下版本信息,确认安装成功:

suricata -V

在这里插入图片描述

更新规则库

更新ET Open规则库命令如下:

sudo suricata-update

注意,suricata默认规则库的位置为:

/var/lib/suricata/rules/suricata.rules

常用规则关键字

类别关键字含义
Meta关键字msg(message)规则名称,规则中的第一个字段,ids告警上显示的信息
sid(signature ID)用于唯一规则标识,sid不能重复,0-10000000 VRT保留,20000000-29999999 Emerging保留,30000000+:公用
rev(revision)表示规则的版本,每次修改规则rev递增1
reference连接外部信息来源,补充描述。直接指向可以找到有关规则和规则试图解决的问题的信息的位置。
classtype根据规则检测到的攻击行为类型为规则分类
metadata允许在规则中添加其他非功能性信息,相当于备注,suricata会自动忽略其后内容
Payload关键字content内容匹配,检测数据包中是否存在此内容
nocase内容修饰,表示不区分大小写
offset内容修饰,表示从数据包开始位置0往后偏移多少字节后进行匹配
depth内容修饰,表示匹配数据包结束的位置
distance内容修饰,表示本次匹配必须在上一次匹配结束位置到distance设置的偏移区间之外
within内容修饰,表示本次匹配必须在上一次匹配结束位置到within设置的偏移区间之内
dsize内容修饰,表示有效载荷大小
startswith内容修饰,表示匹配内容以content开头
endswith内容修饰,表示匹配内容以content结尾
isdataat内容修饰,表示查看负载的特定部分是否仍有数据
pcre匹配特定正则表达式,优先级低于content
Prefiltering关键字fast_pattern快速匹配模式,即对这一项进行优先匹配,若没有命中则跳过本条规则。
flow关键字flow用于匹配流的方向,例如to/from客户端或to/from服务器。还可以匹配是否建立了流。

Suricata使用

在数据包所在目录下运行命令,假设数据包名为test.pcap:

suricata -r test.pcap -k none

生成四个结果文件:

在这里插入图片描述
其中,fast.log记录了包含的具体alert情况,包括时间、五元组信息、告警id和告警信息等,是我们本次重点分析的对象。eve.json则记录了告警信息、flow流信息、协议解析的信息(例如http,dns等),以及攻击的payload等。

规则BUG

关于Suricata规则中针对内容修饰关键字distance和within同时存在的情况的理解,经和同学老师交流,发现官网中给出的规则解释与实际的实现不符。

官网中解释如下:

在这里插入图片描述
实际上,within的起始位置应该是distance的结束位置。举个例子,当distance=8,within=3时,表示的含义应当如下图所示。

在这里插入图片描述

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值