snort学习以及规则编写

一、结构

CIDF模型(Common Intrusion Detection Framework):

包含事 件生成器(event generator:E-boxes),分析引擎(analysis engines:A-boxes),存储机制(storage mechanisms:D-boxes),以及响应模块(countermeasures:C-boxes)

SNORT数据流

snort 并没有原生的数据包抓取功能,基于一个外部的数据包修改库: libpcap 实现了这个功能。事实上, 2.9 版本的 snort 还可以配置使用其他的包抓取模块,它实现了一个 DAQ 模块 ,对如 libpcap 进行了上层封装。先在可选的替代有如 BPF(Berkeley Packet Filter),PF_RING 等。snort的数据流如下图所示:
还有很多snort其他相关的内容,我并不过多的深入了解了,工作中主要对snort规则进行编写,所以着重于对snort规则编写进行笔记的记录
 

二、编写Snort规则

拿一条规则来举例:

alert tcp any any -> any any (msg:"xxx"; sid:12345;)

规则头

动作actions

Action(动作)
描述
仅支持 Inline mode
alert
基于规则对应的告警消息生成一个警告,并将数据包记录日志
 
log
将数据包记录日志
 
pass
忽略这个数据包
 
Drop
使用 iptables 丢弃这个数据包并将数据包记录入日志
yes
Reject
使用 iptables 丢弃数据包,记录日志,并发送一个 TCP reset(TCP
协议),或者发送一个 ICMP 端口不可达消息(UDP 协议)
yes
Sdrop
使用 iptables 丢弃数据包,但不记录日志(silent drop)
yes

协议protocol

Snort 已经支持的协议有 IP,TCP,UDP,ICMP.
IP 地址可以支持 CIDR 模式, /24 代表一个 C 段网络, /16 代表一个 B 段网络, /32 代表一个特定机
器地址。
 
端口号 port
 
端口号可以被顶一个多种方式,包括静态的端口定义、端口范围、或者取反。 ”any” 则指任意端口。
 
方向操作符 direction
 
仅支持两种方向操作符: ”->” “<>”
 

通用规则选项

keyword 描述或范例
msg
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值