AIDEでファイルの整合性をチェックする方法について記載します。
Table of Contents
1 AIDEをインストールする前に
あらかじめこちらの手順でPostfixをインストールしておきます。
2 AIDEのインストール
aideパッケージをインストールします。
$ sudo apt install -y aide
3 データベースの作成
aideinitでデータベースを作成します。aideinitはaide –initのラッパースクリプトです。
aideinitはデータベースaide.db.newを作成してaide.dbへコピーします。
/var/lib/aide/aide.db.new /var/lib/aide/aide.db
他のディストリと異なり、設定ファイルは/etc/aide.confではなく、以下のファイルになります。/etc/aide.confがないので、直接aideを実行するとエラーになります。/etc/aide/aide.conf.d/*は各種パッケージ向けの設定が記述されています。
/etc/aide/aide.conf /etc/aide/aide.conf.d/*
4 ファイルの整合性をチェックする
aide.wrapper –checkでファイルの整合性をチェックします。aide.wrapper –updateでファイルの整合性をチェックしつつ、新たなデータベースaide.db.newを作成します。aide.dbへのコピーが必要です。
$ sudo aide.wrapper --check <snip> $ echo $? 0
ファイルに変更があった場合は戻り値が0以外の値になります。
$ sudo mv /usr/sbin/ip /usr/sbin/ip.orig $ echo "modified" | sudo tee /usr/sbin/ip $ sudo aide.wrapper --check <snip> $ echo $? 4
なお、aide.wrapperを実行するよりもcronジョブの/etc/cron.daily/aideを実行すると良いでしょう。
$ sudo /etc/cron.daily/aide
5 aideを実行するcronジョブ
aide.wrapper –updateと作成されたデータベースaide.db.newをaide.dbへコピーするcronジョブが用意されています。結果をメール送信してくれます。
/etc/cron.daily/aide
このcronジョブの設定ファイルは以下のファイルです。メールの送信先は${MAILTO}@${FQDN}です。
/etc/default/aide
/etc/default/aideでFQDNを定義しない場合はhostname -fの値が使われます。この記事ではFQDNをlocalhostに設定します。MAILTOのデフォルト値はrootです。必要に応じて変更してください。
$ sudo sed -e 's/^# FQDN=/FQDN=localhost/g' -i /etc/default/aide
これ以降、1日1回root@localhostへメールが送信されます。Postfixの設定でgmailに送信できるようにしておけば、gmailへも送信できます。