1. 概要
設定もくそも、なんもわからんので、参考サイトのまま。
設定関係のファイルは、「FreeBSD」の慣例で
/usr/local/etc/snort
以下にあります。
本ページは、下記のサイトを参考にさせていただきました。
「Snort-2.6.x 設定 ~ ネットワーク・データベース・ルール関連」
2. ネットワーク定義
まずは、最低限の設定を。
vi /usr/local/etc/snort/snort.conf
デフォルトで、689行ありました。
# Setup the network addresses you are protecting
ipvar HOME_NET [YOU_NEED_TO_SET_HOME_NET_IN_snort.conf]
「[YOU_NEED_TO_SET_HOME_NET_IN_snort.conf]」に使用している、ネットワークアドレスを記述します。
例えば、
ipvar HOME_NET 192.168.100.0/24
ここで、はた・・・と。
例えば、2つネットワークを持っている場合はどうしたらいいんだろうな?と。
それで見つけたのが、冒頭に書いてある、参考サイトです。
var SMTP_SERVERS [192.168.100.0/24,192.168.101.0/24]
と、[]で囲んで、カンマで続けて書けるようです。
怖いので、間にスペースはいれないでおこう(/etc/group で痛い経験あり)。
3. ルールインクルード
最低限の空ファイルを作成。
mkdir -pv /usr/local/etc/rules/
touch /usr/local/etc/rules/white_list.rules
touch /usr/local/etc/rules/black_list.rules
この時点で、まだルールセットを持っていないので
###################################################
# Step #7: Customize your rule set
# For more information, see Snort Manual, Writing Snort Rules
#
# NOTE: All categories are enabled in this conf file
###################################################
# site specific rules
以下をすべて、コメントアウトする必要があるはずなのですが、実験的にこのままにしてみます。
結局、やはり、起動してみると「/var/log/message」に
May 31 17:23:47 ns snort[50414]: FATAL ERROR: /usr/local/etc/snort/./rules/attack-responses.rules(0) Unable to open rules file "/usr/local/etc/snort/./rules/attack-responses.rules": No such file or directory.
May 31 17:23:47 ns hogehoge[50418]: /usr/local/etc/rc.d/snort: WARNING: failed to start snort
てなエラーになりますので。
当面、
# site specific rules
include $RULE_PATH/local.rules
include $RULE_PATH/app-detect.rules
include $RULE_PATH/attack-responses.rules
548行目から
include $RULE_PATH/web-php.rules
include $RULE_PATH/x11.rules
###################################################
# Step #8: Customize your preprocessor and decoder alerts
# For more information, see README.decoder_preproc_rules
###################################################
651行目まで、コメントアウトします。
4. NIC 定義
ifconfig
で下記の「※」に表示される「NIC」のデバイス名を確認して
※: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=481009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER,NOMAP>
ether 08:00:27:52:2d:be
inet6 fe80::a00:27ff:fe52:2dbe%em0 prefixlen 64 scopeid 0x1
inet 192.168.100.165 netmask 0xffffff00 broadcast 192.168.100.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
「※」が「em0」とすれれば、
sysrc snort_interface=em0
で、「NIC」を定義しておきます。
5. 起動
「Snort」の起動を有効化。
sysrc snort_enable=YES
起動。
service snort start
きっと何もしていないのですが、起動はできます。
6. 補足
言われるがままに書いていますが
/usr/local/etc/rules/white_list.rules
って、どこに書いてあるんだろうなぁ・・・と思って、読み返してみました。
/usr/local/etc/snort/snort.conf
ここに、ディレクトリ定義があって。
# Set the absolute path appropriately
var WHITE_LIST_PATH ../rules
var BLACK_LIST_PATH ../rules
ここに、ファイル定義が書いてありますな。
# Reputation preprocessor. For more information see README.reputation
preprocessor reputation: \
memcap 500, \
priority whitelist, \
nested_ip inner, \
whitelist $WHITE_LIST_PATH/white_list.rules, \
blacklist $BLACK_LIST_PATH/black_list.rules