简介
本文档介绍适用于 Snort3
思科引擎 Secure Firewall Threat Defense (FTD)
.
先决条件
要求
Cisco 建议您了解以下主题:
- 思科
Secure Firewall Threat Defense (FTD)
Intrusion Prevention System (IPS)
Snort2
语法
许可
无特定许可证要求,基本许可证已足够,并且提到的功能包含在FTD内的Snort引擎和Snort3开源版本中。
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 思科
Secure Firewall Threat Defense (FTD)
, 思科 Secure Firewall Management Center (FMC)
版本7.0+,带 Snort3
.
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
Snort
是能够进行实时流量分析和数据包记录的Cisco IPS引擎。
Snort
可以执行协议分析、内容搜索和检测攻击。
Snort3
是Snort2 IPS的更新版本,采用可提高性能、检测、可扩展性和可用性的新软件架构。
Snort3规则
它们使用该LUA格式来将 Snort3
规则更易于读取、写入和验证。
规则操作
此新版本更改规则操作,新定义如下:
Pass
:停止对数据包的后续规则评估
Alert
:仅生成事件
Block
:丢弃数据包,阻止剩余会话
Drop
:仅丢弃数据包
Rewrite
:如果使用replaces选项,则为必需
React
:发送HTML块响应页面
Reject
:插入TCP RST或ICMP不可达
规则剖析
剖析如下:
规则报头包含操作、协议、源和目标网络以及端口。
在 Snort3
规则报头可以是以下选项之一:
<iline" lang="lua">alert http
(
msg:"Alert HTTP rule";
flow:to_client,established;
content:"evil", nocase;
sid:1000001;
)
alert file
(
msg: “Alert File example”;
file_data;
content:”malicious_stuff”;
sid:1000006;
)
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS
(
msg:"Alert HTTP rule";
flow:to_client,established;
content:"evil", nocase;
sid:1000001;
)
规则功能
其中一些新功能包括:
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS
(
msg:"Alert TCP rule";
flow:to_client,established;
content:"evil", nocase;
sid:1000000;
)
content:"evil", offset 5, depth 4, nocase;
alert http ( Rule body )
http_uri
http_raw_uri
http_header
http_raw_header
http_trailer
http_raw_trailer
http_cookie
http_raw_cookie
http_true_ip
http_client_body
http_raw_body
http_method
http_stat_code
http_stat_msg
http_version
http2_frama_header
script_data
raw_data
alert http
(
msg:"Alert HTTP rule"; /* I can write a comment here */
...
)
alert http
(
msg:"Alert HTTP rule";
flow:to_client,established;
rem:"Put comments in the rule anywhere";
content:"evil", nocase;
sid:1000001;
)
alert tcp $HOME_NET any -> $EXTERNAL_NET any
(
msg:"Alert on apps";
appids:"Google, Google Drive";
content:"evil", nocase;
sid:1000000;
)
- sd_pattern用于敏感数据过滤
- Regex关键字与Hyperflex技术的用法
- Service关键字替换元数据
Examples
http服务报头和粘滞缓冲区http_uri的示例
任务:编写检测该词的规则 malicious
在HTTP URI中。
解决方案:
alert http
(
msg:"Snort 3 http_uri sticky buffer";
flow:to_server,established;
http_uri;
content:"malicious", within 20;
sid:1000010;
)
文件服务标题示例
任务:编写检测PDF文件的规则。
解决方案:
alert file
(
msg:"PDF File Detected";
file_type: "PDF";
sid:1000008;
)
相关链接
Snort规则和IDS软件下载
Github