使用系统环境变量进行 snort.conf HOME_NET 设置

sad*_*ave 5 environment-variables snort

我正在设置一个包含 snort 的大规模部署映像。由于我不知道每个图像将驻留的网络地址范围,因此我考虑使用环境变量来保存网络范围并在snort.conf文件中使用此环境变量来设置HOME_NET.

但这就是一切都分崩离析的地方。这能做到吗?如何?本质上,我设想的是:

$ export SYS_HOME_NET=192.168.1.0/16

# snort.conf
ipvar HOME_NET %SYS_HOME_NET%
Run Code Online (Sandbox Code Playgroud)

显然,这行不通。有任何想法吗?

ter*_*don 3

我的做法略有不同。假设为您提供 IP 范围的命令是

echo ipvar HOME_NET "$(/sbin/ip route | awk '/eth0/ && ++i==2 { print $1 }')"
Run Code Online (Sandbox Code Playgroud)

您可以编写一个启动的小包装脚本snort

#!/usr/bin/env bash

echo ipvar HOME_NET "$(/sbin/ip route | awk '/eth0/ && ++i==2 { print $1 }')" > ~/HOME_NET.conf
snort
Run Code Online (Sandbox Code Playgroud)

如果您将该文件另存为snort.sh,使其可执行 ( chmod a+x snort.sh) 并运行它,它将启动之前~/HOME_NET.conf使用正确的 IP 范围更新该文件,因此一切都应该按您的预期工作。snort