不正アクセス監視:Snort
まずはsnort本体のインストールです
コマンド:インストール
# apt-get install snort
いくつか質問されるので以下の様に答えていく
eth0 Listenするインターフェイスを入力
192.168.0.0/24 Listenするアドレスの範囲を入力
192.168.0.0/24 Listenするアドレスの範囲を入力
Snortの設定ファイルを編集します
ファイル編集:/etc/snort/snort.conf
var HOME_NET 192.168.xxx.xxx サーバのアドレスを記載
Snortの実行
コマンド:実行
# snort -D -d -o -i eth0 -u snort -g snort -c /etc/snort/snort.conf
snortアクセスログ解析:ACID
上記の設定だけでも「/var/log/snort/alert」にアクセスログがどんどん記録されていきますが、文字列なので読みづらいです。
そこでACIDというプログラムを使ってWEB上にグラフィカルにまとめてもらいます。
※注意:この先はapache1.3、PHP5、MySQL5がすでにインストールされていることを前提にしてます
snortのデータをMySQLに投げ込むためにsnort-mysqlをインストールします
コマンド:snort-mysqlのインストール
# apt-get install snort-mysql
いくつか質問されるので以下の様に答えていく
any Listenするアドレスの範囲を入力
YES データベースを設定するか聞かれるのでyes
YES データベースを設定するか聞かれるのでyes
ACIDのインストールを行います
コマンド:acidbaseのインストール
# apt-get install acidbase
いくつか質問されるので以下の様に答えていく
libphp-adodbのインクルード先は/usr/share/php/adodb
http://localhost/acidbaseにアクセスしろ
Configure database for acidbase with dbconfig-common?:Yes
Database type to be used by acidbase:mysql
MysqlのAdminパスワードを入力:**********
Mysqlのacidbaseのパスワードを新規入力:snortacid(2回入力)
http://localhost/acidbaseにアクセスしろ
Configure database for acidbase with dbconfig-common?:Yes
Database type to be used by acidbase:mysql
MysqlのAdminパスワードを入力:**********
Mysqlのacidbaseのパスワードを新規入力:snortacid(2回入力)
ACIDの表示ディレクトリのリンクを貼ります
コマンド:ディレクトリのリンク
# cp -R /usr/share/acidbase/ /mnt/www/
/etc/acidbase/apache.conf編集
ファイル編集:/etc/acidbase/apache.conf
allow from にスペース区切りで192.168.0.0/24を追加
アパッチをの設定を読み込み直して変更を反映させます
コマンド:apacheのリロード
# /etc/init.d/apache reload
MySQLデータベースにACID用のデータを作成します
コマンド:データベース登録
# zcat /usr/share/doc/snort-mysql/create_mysql.gz | mysql ?u snort ?p ?D snort
Mysqlのsnortパスワードを聞かれるので入力
Mysqlのsnortパスワードを聞かれるので入力
ブラウザからアクセスして設定を完了させます
ブラウザでの操作
http://192.168.0.xxx/acidbase/base_main.phpにアクセス(IPは玄箱のアドレスを指定)
「setup page」をクリックする
「Create BASE AG」をクリックする
ファイル編集:/etc/acidbase/base_conf.php
$BASE_Language = ‘japanese’ 変更
$alert_dbname : ‘mysql’
$alert_host : ‘localhost’
$alert_port : ‘’
$alert_user : ‘snort’
$alert_password : ‘snortacid’
$alert_dbname : ‘mysql’
$alert_host : ‘localhost’
$alert_port : ‘’
$alert_user : ‘snort’
$alert_password : ‘snortacid’
ファイル編集:/etc/snort/snort.conf
output database: alert, mysql, user=snort password=snortacid dbname=snort host=localhost
ルールのコメントアウト
ファイル編集:/etc/snort/rules/
# MISC UPnP malformed advertisement
snortを起動させる(デーモン)
コマンド:snort起動
#snort ?D ?d ?o ?i eth1 ?u snort ?g snort ?c /etc/snort/snort.conf
再起動対策のためシェルスクリプトファイルを作成する
ファイル編集:/etc/init.d/snort.sh
シェルスクリプト用のファイルを新規作成する
# vi /etc/init.d/snort.sh
以下の文を入力して保存する
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin
snort ?D ?d ?o ?i eth1 ?u snort ?g snort ?c /etc/snort/snort.conf
PATH=/bin:/usr/bin:/sbin:/usr/sbin
snort ?D ?d ?o ?i eth1 ?u snort ?g snort ?c /etc/snort/snort.conf
シェルスクリプトファイルに実行権限を付け、再起動時に自動で実行させるように設定します
# chmod a+x /etc/init.d/snort.sh
# update-rc.d snort.sh defaults
# update-rc.d snort.sh defaults