我们在我们的一台服务器上运行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
。我正在尝试自动执行此操作,因为我们可以为这些子网提供许多子网和许多不同的规则。
任何建议都会很棒
答案 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除外。