で、どうやって実行すればいいの?
実行方法は単純です。
oinkmaster が /usr/local/bin/oinkmaster にインストールされているのであれば、
「/usr/local/bin/oinkmaster -o (最新のルールファイルを格納するディレクトリ)」と入力すれば OK です。
大切なことなのでよく聞いてください。
oinkmaster は
root では実行できません。
ですので、適当な一般ユーザを作成し、そのユーザの権限で実行させてください。
また、
-o オプションで指定したディレクトリ及び -b オプション(後述)で指定したディレクトリには、
oinkmaster を実行したユーザに対する 書き込み、読み込み、実行権限が必要なようです。
より細かく制御したければ、オプションを指定する必要があります。
oinkmaster が認識できるオプションには下記のものがあります。
| オプション |
意味 |
| -b (ディレクトリ) |
新しいファイルで上書きする前に、既存のルールファイルを圧縮し、「(ディレクトリ)」で指定したディレクトリにバックアップする |
| -c |
実際の更新を行わず、実行結果のみを表示する(設定の確認等で使用) |
| -C (設定ファイルへのパス) |
デフォルトのパス( /etc/oinkmaster.conf 又は /usr/local/etc/oinkmaster.conf )にある設定ファイルではなく、「(設定ファイルへのパス)」で指定されたところにある設定ファイルを使用する |
| -e |
デフォルトでコメントアウトされているすべてのルールを使用可能にする(使用にあたっては十分注意すること) |
| -h |
使用方法を表示する |
| -i |
インタラクティブモード(対話モード)で実行する(いくつか質問されます) |
| -q |
静かに実行する(変更点等を表示しない) |
| -Q |
より静かに実行する( -q よりも「静か」に実行する) |
| -r |
既存のルールファイルのチェックのみ行う(最新ルールファイルに含まれていないファイルを探すとき等に使用) |
| -T |
oinkmaster の設定ファイルをチェックする |
| -u ( URI ) |
「( URI )」で指定された URI から最新ルールファイルをダウンロードする( http://, https://, ftp://, file://, scp:// のみが使用可能) |
| -U (ファイルへのパス) |
「(ファイルへのパス)」で指定されたファイルを、最新ルールファイルのアーカイブに含まれる「 snort.conf 」の代わりに使用する |
| -v |
冗長モードで実行する(「 -q 」や「 -Q 」とは逆に騒がしく実行) |
| -V |
バージョン情報を表示する |
毎回コマンドを入力しなきゃいけないの?
上記までの解説で、 oinkmaster を使うことができるようにはなりましたが、
現状のままでは毎回毎回コマンドを手入力しなければいけません。
これでは oinkmaster を活用しているとは言えませんよね?
ではどうすればよいのでしょう?
答えは簡単です。
oinkmaster に備わっていない機能を備えているコマンドと組み合わせて使えばいいのです。
ではそれは何でしょうか?
oinkmaster に備わっていない機能は「自動的且つ定期的に指定の処理を行う」ことですよね?
おわかりでしょうか?この機能を有しているのは「 Crond 」ですね。
そうです。 oinkmaster と Crond を組み合わせることで、まさに「活用」することができるようになるのです。
例えば、「30 2 * * * oinkmaster.pl -o /etc/snort -b /etc/snort/bk 2>&1 > /dev/null」と指定します。
このように指定すると、「毎日午前 2 時 30 分に oinkmaster を起動し、 /etc/snort のルールファイルを更新し、
更新前のルールファイルを /etc/snort/bk に圧縮して保存する」ことができます。
これを応用して、 syslogd 経由で実行結果を記録したり、実行結果をメールで送信することも可能です。
これらを実現したければ、 oinkmaster の README ファイルを読むとよいでしょう。
面倒なことからの解放
これでまた1つ、貴方にとっての「面倒なこと」から解放されました。
今までルールファイルの更新に費やしてきた時間を、別な目的に使用できるようになりましたね。
oinkmaster を賢く上手に使って、手を抜けるところはしっかりと抜いておきましょう。