Webセキュリティの小部屋

Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから
公開日:2013年11月9日
最終更新日:2013年12月26日

オープンソースの IDS である AIDE を CentOS にインストールする

AIDE(Advanced Intrusion Detection Environment) とは

AIDE は、オープンソースの侵入検知システム(IDS:Intrusion Detection System)で、CentOS などの主要なディストリビューションで無償で利用することができます。

IDS にはネットワーク型とホスト型の2種類があり、ネットワーク型はネットワーク上に設置し複数台のサーバーを監視することができます。ホスト型はサーバーに IDS をインストールして監視します。AIDE はホスト型の IDS になります。

AIDE のインストール

AIDE を CentOS 6.x にインストールするには、以下のコマンドを実行します。

設定ファイルの編集

AIDE の動作設定は、/etc/aide.conf で行います。デフォルト設定でも問題ないですが、変更する場合は aide.conf を編集します。例えば、/usr/log を監視対象から外すには、以下のように記述します。

データベースの初期化

AIDE は、ファイル状態を格納するデータベースをあらかじめ持っておいて、データベースの内容とファイルの状態が異なっているかをチェックします。ですので、まず、このデーターベースを初期化します。

生成された aide.db.new.gz はスナップショットなので、これをマスターのデータベースにするために以下のコマンドを実行します。

改ざんのチェック

改ざんのチェックをするために、ファイルを作成します。

改ざんをチェックします。

実行結果は以下のようになり、ファイルの追加が検出されたことが分かります。

データベースの更新

改ざんのチェックをしただけでは、データベースは更新されないので、以下のコマンドでデータベースを更新します。

上記コマンドはデータベースを更新するだけですが、下記のコマンドを実行すると、ファイルの改ざんチェックとデータベースの更新の両方を行ってくれます。

スクリプトによる定期チェック

AIDE は手動でコマンドを実行できますが、定期実行するには独自にスクリプトを作成する必要があります。 ここでは、/etc/cron.daily/aide というファイルでスクリプトを作成します。このスクリプトはデイリー処理されます。MAILTO にはメールの送信先を指定します。

忘れずに、実行権限もつけておきます。

後はデイリーでスクリプトが実行され、実行結果がメールで通知されるようになります。ログは /etc/log/aide/aide.log に出力されます。

メールで通知される内容は以下のようになります。

なお、このスクリプトは1日ごとのファイルの差分をとっていることに注意してください。具体的には、スクリプトの実行時にデータベースの更新をしているということです。システムリリース時点などのデータベースとの差分を比較する厳密な運用をする場合は、データベースの更新部分(cp...の行)を削除してください。

ログのローテーション

AIDE をインストールすると、/etc/logrotate.d/aide にログのローテションの設定ファイルが作成されますが、デフォルトの設定だとほぼ役に立たないので注意が必要です。

具体的には、ウィークリーでファイルサイズが 100KB 以上ないとログのローテーションを行いません。なお、AIDE のログは追記ではなく上書きなので、なぜこのような設定になっているのか不思議です。

これでは使えないので、以下のようにデイリーで7世代管理するように変更します。世代は1ヶ月位あってもいいかもしれませんね。

まとめ

最近は、Web サイトが改ざんされ、その Web サイトを閲覧したユーザーがウィルスに感染してしまう事例が増えているといいます。Web サイトの改ざんは他人事だとは思わず、自分の身にも起こりうると思い、セキュリティパッチの適用など基本的な対策に加えて、AIDE などの IDS を活用していくことがサーバー管理者として必要だと思います。

まあ、AIDE を導入してもログをチェックしなければ意味をなさないのではありますが...。


スポンサーリンク




カテゴリー:ツール

Twitter でも、いろんな情報を発信しています。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA