KUSANAGIでにファイル検知ができるIDS(侵入検知システム)がアドオンとしてインストールすることができるとのことで試してみました。
IDSはtripwireというオープンソースソフトウェアになります。
注意点
tripwireでは設定ファイルの作成、ファイルポリシーDBの更新などにパスフレーズ(パスワード)が必要となります。
tripwireの設定にはこの2つのパスフレーズ使うため、忘れてしまうと操作ができなくなるので注意が必要です。
名前 | 用途 |
---|---|
ローカルパスフレーズ (local passphrase) | データベースファイル。レポートファイルの暗号署名に使用する |
サイトパスフレーズ (site passphrase) | 設定ファイル、ポリシーファイルの暗号署名に使われる |
リセットの方法ですが、tripwireを削除して再インストールする方法が良かったです。
$ sudo sh -c 'kusanagi addon remove tripwire && rm -rf /etc/tripwire && kusanagi addon install tripwire'
インストールから利用まで
こちらのサイトにとても良くまとまっていて、この通りに作業をすれば設定が可能でした。ただいくつかのコマンドでレターケース等の変更が必要でした。
インストールから設定の流れは下記の通りになります。
- tripwireのインストール
- 設定ファイルの編集
- 設定ファイルの暗号化、DB初期化
- 動作テスト
tripwireのインストール
インストール時にローカルパスフレーズとサイトパスフレーズの入力を求められます。
ここで最初に入力するものが設定になり、後から入力するものは確認となります。
$ sudo kusanagi addon install tripwire
自分の場合には途中でパスフレーズの入力に失敗してしまい、中途半端に設定ファイルが出来上がってしまいました。
設定ファイルの編集
/etc/tripwire/
にある設定ファイルを編集します。このディレクトリはroot権限で見ることができるので、一般ユーザをrootグループにいれてグループの権限を出しておくと作業しやすいです。(rootになって作業をしないように…)
$ sudo usermod -aG root $(whoami) && sudo chmod g+rw /etc/tripwire
twpol.txt というファイルの166行目付近で、検知の通知先の emailto
と 対象となるディレクトリを追加しました。
(
rulename = "Invariant Directories",
severity = $(SIG_MED),
emailto = yousan@gmail.com
)
{
/ -> $(SEC_INVARIANT) (recurse = 0) ;
/home -> $(SEC_INVARIANT) (recurse = 0) ;
/etc -> $(SEC_INVARIANT) (recurse = 0) ;
/home/kusanagi -> $(SEC_INVARIANT) (recurse = -1) ;
}
参考サイトの記事では簡便のため /home/kusanagi を入れており、今回もその例にならいました。実運用ではuploadsやログの除外等、この設定を細かく制御する必要がありそうです。
この設定ファイルの形式がわかりませんでしたが、emailto
辺りは連想配列のようですのでカンマの位置などに注意が必要です。
設定ファイルの暗号化、DB初期化
設定ファイルを暗号化して tw.cfg を作成します。パスフレーズが必要です。
$ sudo twadmin -m P -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key /etc/tripwire/twpol.txt
ポリシーDBを作成します。(大文字小文字に注意が必要でした)
$ sudo tripwire --update-policy -Z low /etc/tripwire/twpol.txt
動作確認
動作確認を行います。
$ sudo -u kusanagi touch /home/kusanagi/example.com/testfile
実際の動作には下記のコマンドで検査を行います。
$ sudo tripwire -m c -c /etc/tripwire/tw.cfg -M
下記のような警告が表示されました。
Modified:
"/etc/tripwire/tw.pol"
-------------------------------------------------------------------------------
Rule Name: Invariant Directories (/home/kusanagi)
Severity Level: 66
-------------------------------------------------------------------------------
Added:
"/home/kusanagi/example.com/hoge2"
終わりに
実際の運用には設定ファイルを細かく書く必要がありそうです。またWordPressのコア、プラグインのバージョンアップなどでも応答してしまいそうなため注意が必要そうです。
参考情報