Debian 9: AIDEでファイルの整合性をチェックする

AIDEでファイルの整合性をチェックする方法について記載します。

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へも送信できます。