您可以通过以下方式创建自定义入侵规则。规则文件可以具有 .txt
或 .rules
扩展名。无论您使用哪种创建方法,系统都会将自定义规则保存在本地规则类别中。自定义规则必须属于规则组。但是,自定义规则也可以是两个或多个组的一部分。
当您创建自定义入侵规则时,系统会为它分配唯一的规则编号(其格式为 GID:SID:Rev
)。此编号的元素如下:
-
GID—生成器 ID。对于自定义规则,无需指定 GID。上传规则时,系统会根据您是在全局域还是子域中自动生成 GID。对于所有标准文本规则,此值为 2000。
-
SID—Snort ID。指示规则是否为系统规则的本地规则。创建新规则时,请为该规则分配唯一的 SID。
本地规则的 Snort ID 号从 1000000 开始,且每个本地新规则的 SID 号以 1 递增。
-
Rev—修订号。对于新规则,修订号为 1。每修改一次自定义规则,修订号就增加一。
在自定义标准文本规则中,可以设置规则报头设置、规则关键字和规则参数。您可以通过规则报头设置将规则设置为仅匹配使用特定协议以及发往或来自特定 IP 地址或端口的流量。
注
|
无法编辑 Snort 3 自定义规则。确保自定义规则在规则文本中具有 classtype 的有效分类消息。 如果导入没有分类或错误分类的规则,请删除并重新创建该规则。
|
Snort 3 中的敏感数据检测
社会保险号、信用卡号、电子邮件等敏感数据可能会被有意或无意地在互联网上泄露。敏感数据检测用于检测可能的敏感数据泄漏并生成事件。仅当传输大量个人身份信息 (PII) 数据时,才会生成事件。敏感数据检测可以屏蔽事件输出中的 PII。
sd_pattern 选项
使用 sd_pattern IPS 选项检测和过滤 PII。这些信息包括信用卡号、美国社会保险号、电话号码和邮箱地址。正则表达式 (regex) 语法可用于定义您自己的 PII。
sd_pattern 选项具有以下设置:
-
模式 - 指定要在 PDU 中查找的正则表达式的隐式必需设置。正则表达式必须使用 PCRE 语法编写。
-
阈值 - 明确的可选设置,指定生成事件所需的 PDU 中的匹配数。
sd_pattern as IPS 规则选项在 Snort 中可用,对其他检查器没有要求。规则选项的语法为:
sd_pattern: "<pattern> "[, threshold<count> ];
例如:
sd_pattern:"credit_card", threshold 2;
内置模式
敏感数据有五种内置模式。要在 "模式" 设置中使用内置模式,必须指定需要匹配的 PII 类型的名称,并将其替换为必要的正则表达式。PII 名称和正则表达式映射或模式如下所述:
-
credit_card—
\d{4}\D?\d{4}\D?\d{2}\D?\d{2}\D?\d{3,4}
-
us_social—
[0-8]\d{2}-\d{2}-\d{4}
-
us_social_nodashes—
[0-8]\d{8}
-
Email—
[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9]
(?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?
-
us_phone—
(?:\+?1[-\.\s]?)?\(?([2-9][0-8]\d)\)?[-\.\s]([2-9]\d{2})[-\.\s](\d{4})
PII Name
|
模式
|
credit_card
|
\d{4}\D?\d{4}\D?\d{2}\D?\d{2}\D?\d{3,4}
|
us_social
|
[0-8]\d{2}-\d{2}-\d{4}
|
us_social_nodashes
|
[0-8]\d{8}
|
邮件
|
[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)
*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?
|
us_phone
|
(?:\+?1[-\.\s]?)?\(?([2-9][0-8]\d)\)?[-\.\s]([2-9]\d{2})[-\.\s](\d{4})
|
与这些模式匹配的数据的掩码仅适用于信用卡、美国社会保险号、邮箱和美国电话号码的系统提供的规则或内置模式。屏蔽不适用于自定义规则或用户定义的 PII 模式。敏感数据的轻量级安全包 (LSP) 中提供了规则,gid:13。默认情况下,它们在任何系统提供的策略中均未启用。
LSP 中的敏感数据规则涵盖所有内置模式,并具有以下阈值:
-
credit_card: 2
-
us_social: 2
-
us_social_nodashes: 20
-
email: 20
-
us_phone: 20
您可以使用 sd_pattern 选项创建自定义规则并修改现有规则。要执行此操作,请使用 Snort 3 入侵策略接口。
具有自定义模式和阈值的 sd_pattern 规则示例:
alert tcp (sid: 1000000001; sd_pattern:"[\w-\.]+@([\w-]+\.)+[\w-]{2,4}",threshold 4; msg: "email,阈值 4")
示例
使用敏感数据检测的自定义规则示例:
具有内置模式的规则:
alert tcp (
msg:"SENSITIVE-DATA Email";
flow:only_stream;
pkt_data;
sd_pattern:"email", threshold 5;
service:http, smtp, ftp-data, imap, pop3;
gid:2000;
sid:1000001;
)
具有自定义模式的规则
alert tcp (
msg:"SENSITIVE-DATA US phone numbers";
flow:only_stream;
file_data;
sd_pattern:"+?3?8?(0[\s\.-]\d{2}[\s\.-]\d{3}[\s\.-]\d{2}[\s\.-]\d{2})", threshold 2;
service:http, smtp, ftp-data, imap, pop3;
gid:2000;
sid:1000002;
)
以下是具有内置敏感数据模式的完整 Snort IPS 规则的更多示例:
-
alert tcp ( sid:1; msg:"Credit Card"; sd_pattern:"credit_card", threshold 2; )
-
alert tcp ( sid:2; msg:"US Social Number"; sd_pattern:"us_social", threshold 2; )
-
alert tcp ( sid:3; msg:"US Social Number No Dashes"; sd_pattern:"us_social_nodashes", threshold 2; )
-
alert tcp ( sid:4; msg:"US Phone Number"; sd_pattern:"us_phone", threshold 2; )
-
alert tcp ( sid:5; msg:"Email"; sd_pattern:"email", threshold 2; )
Cisco Secure Firewall Management Center 和安全防火墙设备管理器不支持禁用数据屏蔽。