マイシステムでパッケージアップグレードを使用する場合は、通常、次のようにapt-get
ファイルデータベースを更新します。rkhunter
sudo rkhunter --propupd
欠点はこのアップデートですみんな監督された文書rkhunter
。したがって、その他のパッケージ本当に操作された、これ情報この他のパッケージの場合失われたデータベース全体を更新するたびに。
パッケージマネージャを使用して意図的にアップグレードされたファイルのプロパティのみを更新し、潜在的な脅威が報告され続けるように他のすべてのファイルプロパティをそのまま維持するにはどうすればよいですかrkhunter
。
答え1
APT_AUTOGEN="false"
宿泊/etc/default/rkhunter
このスクリプトは、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"; };