OpenSUSE Leap 42: AIDEでファイルの整合性をチェックする


Table of Contents

1 AIDEをインストールする前に

あらかじめこちらの手順でPostfixをインストールしておきます。

2 AIDEのインストール

aideパッケージをインストールします。

> sudo zypper -n in aide> sudo sed -e ‘s/^verbose=.*/verbose=5/g’ -i /etc/aide.conf

3 データベースの作成

“aide –init”でaide.db.newが作成されます。それをaide.dbへコピーする必要があります。

> sudo aide –init.> sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db

4 ファイルの整合性をチェックする

aide –checkでファイルの整合性をチェックします。aide –updateでファイルの整合性をチェックしつつ、新たなデータベースaide.db.newを作成します。aide.dbへのコピーが必要です。

> sudo aide –check<snip>> echo $?0

ファイルに変更があった場合は戻り値が0以外の値になります。

> sudo mv /usr/sbin/ip /usr/sbin/ip.orig> echo “modified” | sudo tee /usr/sbin/ip> sudo aide –check<snip>> echo $?4

5 aideを実行するcronジョブ

cronジョブは用意されていないので、独自に作成する必要があります。この記事では、”aide –update”を実行し、エラーがあった場合にメール送信するcronジョブを作成します。

> sudo zypper -n in mailx procmail> cat <<EOF | sudo tee /etc/cron.daily/aide#!/bin/shLOCK_FILE=/var/run/aide.lockMAIL_ADDR=root@localhostlockfile ${LOCK_FILE} || exit 1TMP=$(mktemp -t aide.XXXXXX)trap “rm $TMP* 2>/dev/null” 0aide –update > ${TMP} 2>&1ret=$?if [ ${ret} -eq 0 ]; then # Nothing is changed. cp /var/lib/aide/aide.db.new /var/lib/aide/aide.dbelif [ ${ret} -lt 8 ]; then # Some file is changed. cat ${TMP} | mail -s “AIDE detects changes” ${MAIL_ADDR} cp /var/lib/aide/aide.db.new /var/lib/aide/aide.dbelse # Cannot update database. cat ${TMP} | mail -s “AIDE fatal error” ${MAIL_ADDR}firm -f ${LOCK_FILE}EOF> sudo chmod a+x /etc/cron.daily/aide

Android | Linux | SDL - Narrow Escape