web-dev-qa-db-ja.com

snort.confのHOME_NET設定にシステム環境変数を使用する

Snortを含む大量展開イメージを設定しています。各イメージが存在するネットワークアドレス範囲がわからないため、環境変数を使用してネットワーク範囲を保持し、snort.confファイルでこの環境変数を使用してHOME_NETを設定することを考えました。

しかし、それはすべてがバラバラになるところです。これはできますか?どうやって?基本的に、私は次のようなものを想定しています:

$ export SYS_HOME_NET=192.168.1.0/16

# snort.conf
ipvar HOME_NET %SYS_HOME_NET%

明らかに、これは機能しません。何か案は?

5
sadmicrowave

私はそれを少し違ったやり方でします。 IP範囲を提供するコマンドが

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

snortを起動する小さなラッパースクリプトを作成できます。

#!/usr/bin/env bash

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

そのファイルをsnort.shとして保存し、実行可能(chmod a+x snort.sh)にして実行すると、正しいIP範囲で~/HOME_NET.confファイルが更新されますbefore launching snortので、すべてが期待どおりに動作するはずです。

3
terdon

私が考えた方法の1つは、この変数を作成する外部.confファイルを作成し、次のようにsnort.confに含めることです。

#snort.conf
#ipvar HOME_NET any
include ./HOME_NET.conf

次に、次のようなHOME_NET.confファイルを作成します。

ipvar HOME_NET 192.168.1.0/16

起動中または初期イメージセットアップ中にHOME_NET.confの内容を.shスクリプトで変更/置換します。

1
sadmicrowave