Snort 配置:为什么 RULE_PATH 未定义?

Snort 配置:为什么 RULE_PATH 未定义?

我第一次在 CentOS 8 上安装和配置 Snort 3,同时遵循CentOS8 上的 Snort 3.0.3来自 Snort 官方文档的手册(我无法直接链接到它,因为它是动态生成的 PDF,一段时间后可能会过期)。

在使用 PulledPork 将规则生成到 snort.rules 文件中后,我现在尝试使用带有 sudo 的命令在我的网络接口上启动 Snort /usr/local/snort/bin/snort -c /usr/local/snort/etc/snort/snort.lua -i enp37s0 -l /var/log/snort --plugin-path /usr/local/snort/extra -k none。但是,此命令生成的输出FATAL: ips.rules:2 undefined variable name: RULE_PATH在读取我的 snort.lua 文件时提到了错误。

ips我的文件中数组的内容snort.lua如下:

ips =
{
    mode = tap,
    rules = [[
        include $RULE_PATH/snort.rules
    ]]
}

RULE_PATH变量在文件中定义snort_defaults.lua

---------------------------------------------------------------------------
-- default paths
---------------------------------------------------------------------------
-- Path to your rules files (this can be a relative path)

RULE_PATH = '../../rules'
BUILTIN_RULE_PATH = '../../builtin_rules'
PLUGIN_RULE_PATH = '../../so_rules'

-- If you are using reputation preprocessor set these
PASS_LIST_PATH = '../../intel'
BLOCK_LIST_PATH = '../../intel'

我不明白为什么它会未定义,因为 snort_defaults.lua 是在 snort.lua 文件的开头导入的:

---------------------------------------------------------------------------
-- 2. configure defaults
---------------------------------------------------------------------------

-- HOME_NET and EXTERNAL_NET must be set now
-- setup the network addresses you are protecting
HOME_NET = [[ 192.168.1.0/24 ]]

-- set up the external network addresses.
-- (leave as "any" in most situations)
EXTERNAL_NET = 'any'

-- dofile(conf_dir .. '/snort_defaults.lua')
-- dofile(conf_dir .. '/file_magic.lua')

include 'snort_defaults.lua'
include 'file_magic.lua'

什么原因导致 Snort 认为我的 RULE_PATH 变量未定义?

答案1

我在设置 Snort 3.1.25 时遇到了同样的问题,似乎语法可能在那篇文章撰写之后的开发期间进行了更新。问题在于路径的设置方式。您要使用:

ips =
{
    mode = tap,
    enable_builtin_rules = true,

    variables = default_variables,
    include = RULE_PATH .. "/snort.rules",
    include = BUILTIN_RULE_PATH .. "/builtins.rules",
}

所需的语法是 GLOBAL_VARIABLE、Lua Concat 运算符“..”,然后是字符串路径。

注意:内置规则是可选的,但以防万一......

相关内容