アップグレードされたパッケージのみを更新するには、rkhunter --propupdを使用してください。

アップグレードされたパッケージのみを更新するには、rkhunter --propupdを使用してください。

マイシステムでパッケージアップグレードを使用する場合は、通常、次のようにapt-getファイルデータベースを更新します。rkhunter

sudo rkhunter --propupd

欠点はこのアップデートですみんな監督された文書rkhunter。したがって、その他のパッケージ本当に操作された、これ情報この他のパッケージの場合失われたデータベース全体を更新するたびに。

パッケージマネージャを使用して意図的にアップグレードされたファイルのプロパティのみを更新し、潜在的な脅威が報告され続けるように他のすべてのファイルプロパティをそのまま維持するにはどうすればよいですかrkhunter

答え1

  1. APT_AUTOGEN="false"宿泊/etc/default/rkhunter

  2. このスクリプトは、aptを実行した後に必要なrkhunter propupdateコマンドを生成します。


#!/bin/bash
# store this file as /usr/local/sbin/rkhunter-auto-update-after-apt

cat /var/lib/rkhunter/db/rkhunter.dat|fgrep "File:" \
    | awk -F ":" '{print $3}' > /tmp/rkhunter-list.txt
NUM=$(grep -n "startup archives unpack" /var/log/dpkg.log|cut -d":" -f1|tail -n1)
tail --lines=+$NUM /var/log/dpkg.log | grep 'installed' \
    | awk '{ print $5 }'|sed s/:.*//|xargs dpkg-query -L > /tmp/installed-list.txt

cat /tmp/rkhunter-list.txt | while read BIN; do   
    if grep "^${BIN}$" /tmp/installed-list.txt > /dev/null; then
        if [ "" != "$BIN" ];then
                echo rkhunter --propupd "$BIN"
        fi
    fi
done

(trisquelではrkhunter.datファイルに1行がないため、awk{print $2}が必要です)

リストを更新するには、apt-getを実行してからこのスクリプトを呼び出します。

満足している場合は、echoフックを取り外して作成してください。/etc/apt/apt.conf.d/91rkhunter-post-apt

DPkg::Post-Invoke { "if [ -x /usr/bin/rkhunter ]; then /usr/local/sbin/rkhunter-auto-update-after-apt; fi"; };

関連情報