Atualizar apenas os pacotes atualizados com rkhunter - propupd

0

Ao atualizar pacotes no meu sistema com apt-get , geralmente atualizamos o banco de dados de arquivos rkhunter com

sudo rkhunter --propupd

A desvantagem é que isso atualiza as propriedades de todos os arquivos que são supervisionados por rkhunter . Então, se outro pacote realmente for manipulado , as informações deste outro pacote serão perdidas sempre que você atualizar o banco de dados inteiro .

Como faço para atualizar apenas a propriedade dos arquivos, que foram intencionalmente atualizados com o meu gerenciador de pacotes e manter todas as outras propriedades do arquivo intactas, para que uma possível ameaça ainda seja relatada por rkhunter ?

    
por rubo77 09.08.2016 / 21:51

1 resposta

1

  1. mantenha APT_AUTOGEN="false" em /etc/default/rkhunter

  2. Este script cria os comandos propupdate do rkhunter, você precisaria após uma execução do apt:

#!/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

(no trisquel, o arquivo rkhunter.dat tem uma linha a menos, então o awk precisa de {print $2} )

chame esse script depois de executar o apt-get para atualizar a lista.

Se estiver satisfeito, remova o echo e crie um gancho /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"; };
    
por 09.08.2016 / 21:51

Tags