フェイス・ソリューション・テクノロジーズ株式会社 IS 本部 OS ユニットの Saitoです。
此度はEC2インスタンス内の改ざんを検知するようにしたいときに使う、AIDEというOSSのホスト型侵入検知システムを使う手順をご紹介します。
AIDEインストール&起動
AmazonLinuxかAmazonLinux2の環境なら、デフォルトのリポジトリにAIDEを置いてくれているため、思い立ってすぐにyumでインストールできます。
今回はAmazonLinux2を使っています。
# yum install aide
続けてAIDEのデータベース初期化をおこないます。これだけでAIDEが起動します。
# aide --init
生成されたデータベースファイルが表示されるので、これをリネームしてマスターのデータベースにします。
# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
改ざん検知
ファイルを編集して改ざん検知してみましょう。例えば…
# vi /etc/ssh/sshd_config
PermitRootLogin yes
チェックをかけてみます。1分前後掛かります。
# aide --check
…
レポートが表示され更新のあった箇所が表示されます。
レポートをAWS SNSでメール送信させる
事前にAWS CLI のプロファイル設定を済ませておく。
プロファイルのIAMユーザーに、IAMポリシー「AmazonSNSFullAccess」を追加する。
シェルスクリプト作成
# vi aidscan.sh
-------------------
#!/bin/sh
cd `dirname $0`
aws sns publish --topic-arn [トピックARN] --message "`hostname`
`date`
`aide --check`"
exit 0
実行権限付与
# chmod +x aidscan.sh
これをcronに登録しておけばOK
検知不要ディレクトリの除外
設定ファイル内のディレクトリ名の頭に「!」を付けると検知対象から除外できます(CONTENT_EXも消す)。
# vi /etc/aide.conf
/etc/cron.monthly/ CONTENT_EX
!/etc/cron.weekly/
# touch /etc/cron.monthly/touch
# touch /etc/cron.weekly/touch
# aide --check
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /etc/cron.monthly/touch
---------------------------------------------------
コメント