自宅サーバでやることがなくなってきたので、とりあえずセキュリティを強化するためにSnortっていうIDSを導入した。
今回は、せっかくパッケージが用意されてるんだからってことでyumで導入することにした。
yumでパッケージを見てみると・・・MySQLやPostgreSQLに対応したものと、その後ろに+flexrespって書いてあるものが出てきた。
あとは、bloatってなってるやつ。
flexrespって言うのはあらかじめ設定した内容を含むパケットが流れた場合、強制的に切断するって機能らしい。
んで、bloatってのは、MySQL、PostgreSQLなどいろいろ対応したバージョンっぽい。
ってことで、以下のコマンドを発行し、インストールする。
# yum install snort-bloat
実行すると、snort本体と、bloatの追加ファイルがインストールされる旨のメッセージが表示される。
「y」を押下して実行。
============================================================================= Package Arch Version Repository Size ============================================================================= Installing: snort-bloat i386 2.6.1.1-4.fc6 extras 273 k Installing for dependencies: snort i386 2.6.1.1-4.fc6 extras 1.3 M Transaction Summary ============================================================================= Install 2 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 1.6 M Is this ok [y/N]: y ~省略~ Installed: snort-bloat.i386 0:2.6.1.1-4.fc6 Dependency Installed: snort.i386 0:2.6.1.1-4.fc6 Complete!
インストールが終了したらsnortのコンフィグを修正する。
# vi /etc/snort/snort.conf 自宅のプライベートアドレスを指定する。 - var HOME_NET any + var HOME_NET 192.168.1.0/24 自宅のプライベートアドレス以外と指定する。 - var EXTERNAL_NET any + var EXTERNAL_NET !$HOME_NET ルールファイルの場所を変更する。 - var RULE_PATH /etc + var RULE_PATH /etc/snort/rules MySQLにログを保存する設定を行う。 - # output database: log, mysql, user=root password=test dbname=db host=localhost + output database: log, mysql, user=snort password=password dbname=snort host=localhost 共有ライブラリの場所を修正する。 - dynamicengine /usr/lib/dynamicengine/libsf_engine.so + dynamicengine /usr/lib/snort/dynamicengine/libsf_engine.so DCE/RPCのモジュールはインストールされないので読み込まないようにする。 - preprocessor dcerpc: - autodetect - max_frag_size 3000 - memcap 100000 + #preprocessor dcerpc: + # autodetect + # max_frag_size 3000 + # memcap 100000
とりあえずこれでsnortのコンフィグの設定は終了。
次に、起動ファイルを修正してデータベースに保存できるようにする。
# vi /etc/init.d/snortd - daemon /usr/sbin/snort -A fast -b -l /var/log/snort -d -D + daemon /usr/sbin/snort -b -l /var/log/snort -d -D
MySQLにユーザを作成し、コンフィグに指定したユーザで接続できるようにする。
# mysql -p Enter password: (パスワードを入力) Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 25 to server version: 5.0.27 Type 'help;' or 'h' for help. Type 'c' to clear the buffer. snortのログを保存するDBにアクセスできるユーザを作成。 mysql> grant all on snort.* to snort@localhost identified by 'password'; Query OK, 0 rows affected (0.00 sec) snortのログを保存するDBを作成。 mysql> create database snort; Query OK, 1 row affected (0.01 sec)
snortで利用するデータベースのテーブル構造などを作成するファイルがある場所に移動し、テーブルなどを作成する。
# cd /usr/share/doc/snort-2.6.1.1/ cat create_mysql | mysql -usnort -p -D snort Enter password: (パスワードを入力)
これで、snortを動かすための下準備は完了。
あとは、snortのルールをダウンロードして、/etc/snort/rulesに保存するだけでOK。
# wget http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_pr/snortrules-pr-2.4.tar.gz ~省略~ 05:24:27 (2.67 MB/s) - `snortrules-pr-2.4.tar.gz' を保存しました [789097/789097] # wget http://www.snort.org/pub-bin/downloads.cgi/Download/comm_rules/Community-Rules-CURRENT.tar.gz ~省略~ 05:25:07 (468 KB/s) - `Community-Rules-CURRENT.tar.gz' を保存しました [110044/110044] # tar zxvf snortrules-pr-2.4.tar.gz # tar zxvf Community-Rules-CURRENT.tar.gz # mv rules /etc/snort
これで全てが終了したので、snortを実際に起動する。
# /etc/init.d/snortd start Starting snort: [ OK ]
最後に、サーバを再起動した際など、自動的に起動するように設定する。
# chkconfig snortd on
コメント