0

我们在其中一台服务器上运行了 snort,该服务器的网络接口具有子网配置192.168.0.0/16我想启用特定规则,例如带有 sid:2002027 的聊天规则,192.168.1.0/24但我不希望该规则处于活动状态为192.168.2.0/24. 实现这一目标的最佳方法是什么?

alert tcp any 6666:7000 -> any any (msg:"ET CHAT IRC PING command"; flow:from_server,established; content:"PING|20|"; depth:5; flowbits:set,is_proto_irc; reference:url,doc.emergingthreats.net/2002027; classtype:misc-activity; sid:2002027; rev:13;)

而且,上面规则中的任何关键字都应该限制为192.168.1.0/24. 否则会影响192.168.2.0/24。我正在尝试自动执行此操作,因为我们可以有许多子网和这些子网的许多不同规则。

任何建议都会很棒

4

2 回答 2

1

You can use multiple configurations feature of snort.

Snort now supports multiple configurations based on VLAN Id or IP subnet within a single instance of Snort. This will allow administrators to specify multiple snort configuration files and bind each configuration to one or more VLANs or subnets rather than running one Snort for each configuration required. Each unique snort configuration file will create a new configuration instance within snort.

For details refer "Multiple configurations" in https://www.snort.org/documents/snort-users-manual

于 2015-08-14T05:24:55.987 回答
0

如果您只想让这个特定规则匹配子网 192.168.1.0/24 中的任何内容,那么只需在规则头中定义它。如果 192.168.1.0/24 是您的服务器 IP 的范围,那么规则的标头将如下所示:

警报 tcp 192.168.1.0/24 6666:7000 -> 任何任何

如果您想在多个规则中使用它并能够添加 IP 地址,那么您应该为这些 IP 地址定义一个变量并在所有规则中使用该变量。例如,在您的 snort.conf 中,您可以添加如下内容:

ipvar MY_SERVERS [192.168.1.0/24]

在您的所有规则中,您将定义如下标题:

警报 tcp $MY_SERVERS 6666:7000 -> 任何任何

您甚至可以包含整个 /16 并通过按如下方式定义变量来省略该变量的 /24:

ipvar MY_SERVERS [192.168.0.0/16, !192.168.2.0/24]

这将使变量包括 192.168.0.0/16 子网中的所有 IP 地址,但 192.168.2.0/24 子网范围内的 IP 除外。

于 2015-08-24T00:14:59.947 回答