在Snort中为不同子网启用不同规则的最佳方法是什么?

时间:2015-08-10 08:32:22

标签: snort intrusion-detection

我们在我们的一台服务器上运行snort,这些服务器的网络接口的子网配置为192.168.0.0/16我想启用特定规则,例如带有sid的聊天规则:2002027,{{1} 1}}但我不希望该规则对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。我正在尝试自动执行此操作,因为我们可以为这些子网提供许多子网和许多不同的规则。

任何建议都会很棒

2 个答案:

答案 0 :(得分:1)

您可以使用snort的多个配置功能。

  

Snort现在支持基于单个Snort实例中的VLAN Id或IP子网的多个配置。这将   允许管理员指定多个snort配置文件,并将每个配置绑定到一个或多个VLAN   或子网,而不是为每个所需的配置运行一个Snort。每个独特的snort配置文件都会   在snort中创建一个新的配置实例。

有关详细信息,请参阅https://www.snort.org/documents/snort-users-manual

中的“多个配置”

答案 1 :(得分:0)

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

alert tcp 192.168.1.0/24 6666:7000 - >任何

如果要在多个规则中使用此功能并且能够添加IP地址,则应为这些IP地址定义variable并在所有规则中使用该变量。例如,在snort.conf中,您可以添加如下内容:

ipvar MY_SERVERS [192.168.1.0/24]

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

alert 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除外。