
| SnortSnarfとは |
Snortの導入をしてみたものの、Snortのログはそのままでは非常に見づらいです。
そこでSnortSnarfを導入すれば、SnortのログをHTML化してくれるので、見やすくなります。
ここでは、SnortSnarfの導入方法の紹介をし、またSnortSnarfの結果画面はLAN内のマシンのみが
閲覧できる設定にします。
| Snortsnarfの導入 |
Snortsnarfを実行するには、PerlのTimeモジュールが必要になりますので、先ずはこちらの
インストールから行います。下記のような手順で導入してください。
| $ wget http://search.cpan.org/CPAN/authors/id/M/MU/MUIR/modules/Time-modules-2003.1126.tar.gz $ tar zxvf Time-modules-2003.1126.tar.gz $ cd Time-modules-2003.1126 $ perl Makefile.PL $ make $ su # make install |
続いて、Snortsnarfの導入をします。
| # wget http://www.snort.org/dl/contrib/data_analysis/snortsnarf/SnortSnarf-021111.1.tar.gz # tar zxvf SnortSnarf-021111.1.tar.gz # cp -a SnortSnarf-021111.1 /usr/local/snortsnarf # mkdir /var/www/snortsnarf |
以上が済みましたら、後片付けをします。
| # rm -rf Time-modules-2003.1126* # rm -rf SnortSnarf-021111.1* |
| Snortsnarfの設定と実行 |
Snortsnarfのログ解析画面を見るのに、http://ドメイン名(IPアドレス)/snort/とすれば見れるようにし、
更にLAN内からの閲覧のみ許可するように設定します。ここでは、/etc/httpd/conf.d/に
snortsnarf.confというファイルを作成し、下記のような記述をしてください。
| # vi /etc/httpd/conf.d/snortsnarf.conf Alias /snort /var/www/snortsnarf <Location /snort> Order deny,allow Deny from all Allow from 127.0.0.1 Allow from 192.168.1 </Location> |
青地部分の記述をしてください。以上が終わりましたら、httpdを再起動させます。
| # service httpd restart |
また、Snortsnarf実行時にデフォルトの状態では、下記のようなエラーが出ます。
| Using an array as a reference is deprecated at include/SnortSnarf/HTMLMemStorage.pm line 290. Using an array as a reference is deprecated at include/SnortSnarf/HTMLAnomMemStorage.pm line 266. |
このエラーを回避する為に2つほど修正をします。
| # vi /usr/local/snortsnarf/include/SnortSnarf/HTMLMemStorage.pm return @arr->[($first-1)..$end]; ←290行目 ↓ return @arr[($first-1)..$end]; # vi /usr/local/snortsnarf/include/SnortSnarf/HTMLAnomMemStorage.pm return @arr->[($first-1)..$end]; ←266行目 ↓ return @arr[($first-1)..$end]; |
以上でSnortsnarfを実行し、閲覧する準備が整いました。
それでは早速、Snortsnarfを実行してみます。
| # cd /usr/local/snortsnarf # ./snortsnarf.pl -d /var/www/snortsnarf -homenet 192.168.1.0/24 -rulesdir /usr/local/rules/ \ /var/log/snort/alert |
-homenet 192.168.1.0/24という記述がありますが、ここはSnortの設定で、snort.confに
var HOME_NET 192.168.1.0/24という記述をしました。
ここでの-homenetに指定するIPアドレスは、snort.confで記述したものを指定してください。
以上でSnortsnarfでログの閲覧ができるようになりました。http://ドメイン名(IPアドレス)/snort/にアクセスして
みてください。当サイトの場合であれば、http://chibi.name/snort/です。
今回はLAN内のみ閲覧できる設定にしてますので、LAN内からアクセスしてみてください。
最後にSnortsnarfの実行をcrontabに登録してみます。
# crontab -e 00 0-23/2 * * * cd /usr/local/snortsnarf ; /usr/local/snortsnarf/snortsnarf.pl -d /var/www/snortsnarf -homenet 192.168.1.0/24 -rulesdir /usr/local/rules/ /var/log/snort/alert > /dev/null 2>&1 実際には一行で記述 |
これで2時間置きの00分に実行されるようになります。
最後に、Snortの設定の時にも書きましたが、Snortはあくまでも不正なパケットなどを検出するだけであり、
ブロックなどはしてくれません。Snortを導入すれば安全などという事はありません。
しかし、攻撃者が不正アクセスを試みれば、それはSnortのログに記録されます。このように足跡が残る
ことは攻撃者にとって、やりづらいのは確かでしょう。そういった意味では、セキュリティ強化に
繋がると思います。
そして、せっかくSnortsnarfを導入してログを見やすくしたのですから、日頃からSnortのログは
ちゃんとチェックし、異常があった時にすぐに反応できるようにしましょう。
最終更新 : 05/23/2005