Outils personnels

RKHunter installation

De wikiGite

Révision datée du 30 septembre 2008 à 14:57 par Frank (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

NOTE : Le paquet .deb est trop ancien (1.2.9). La 1.3.0 apporte beaucoup de chose (notamment suspscan)

=> install à partir des sources. Vérifier la dernière version à l'adresse http://sourceforge.net/project/showfiles.php?group_id=155034

wget http://downloads.sourceforge.net/rkhunter/rkhunter-1.3.2.tar.gz

Eventuellement

wget http://garr.dl.sourceforge.net/sourceforge/rkhunter/rkhunter-1.3.0.tar.gz

tar -xvzf rkhunter-1.3.2.tar.gz cd rkhunter-1.3.2 mkdir -p /opt/rkhunter ./installer.sh --layout custom /opt/rkhunter --install

      • Pour une MISE A JOUR, appliquer la même procédure, l'installateur détecte l'ancienne install.

1.3.0 : Copier la version modifiée du script (systeap1:/home/fsoyer/Documents/Documents divers - logiciels/Sécurité/RKHunter/rkhunter_modifié_bug_suspscan) vers /opt/rkhunter/bin/rkhunter.

Editer /etc/profile, ajouter /opt/rkhunter/bin dans le PATH root (id 0) (ligne supplémentaire pathmunge sur CentOS). Reconnecter root (ou "su -" pour les tests).

Créer les scripts d'automatisation (*repiqués du .deb*) : /etc/default/rkhunter :

  1. Defaults for rkhunter cron jobs
  2. sourced by /etc/cron.*/rkhunter
  3. This is a POSIX shell fragment
  4. Set this to the email address where reports and run output should be sent

REPORT_EMAIL="fsoyer@systea.net"

  1. Set this to yes to enable rkhunter weekly database updates

CRON_DB_UPDATE="yes"

  1. Set this to yes to enable reports of weekly database updates

DB_UPDATE_EMAIL="yes"

  1. Set this to yes to enable rkhunter daily runs

CRON_DAILY_RUN="yes"

/etc/cron.daily/rkhunter (scan journalier) :

  1. !/bin/sh

RKHUNTER=/opt/rkhunter/bin/rkhunter if [ ! -x $RKHUNTER ]; then

 exit 0

fi

  1. source our config

. /etc/default/rkhunter case "$CRON_DAILY_RUN" in

    [Yy]*)
       OUTFILE=`mktemp` || exit 1
       $RKHUNTER --cronjob --report-warnings-only --createlogfile /var/log/rkhunter.log > $OUTFILE
       if [ $(stat -c %s $OUTFILE) -ne 0 ]; then
         (
           echo "Subject: [rkhunter] Daily run"
           echo ""
           cat $OUTFILE
         ) | /usr/sbin/sendmail $REPORT_EMAIL
       fi
       rm -f $OUTFILE
       ;;
     *)
      exit 0
      ;;

esac

    • NE PAS OUBLIER LE chmod 700 /etc/cron.daily/rkhunter

/etc/cron.weekly/rkhunter (update des bases) :

  1. !/bin/sh

RKHUNTER=/opt/rkhunter/bin/rkhunter if [ ! -x $RKHUNTER ]; then

 exit 0

fi

  1. source our config

. /etc/default/rkhunter case "$CRON_DB_UPDATE" in

    [Yy]*)
       OUTFILE=`mktemp` || exit 1
       if [ "$DB_UPDATE_EMAIL" = "no" ]
       then
           $RKHUNTER --versioncheck 1>/dev/null 2>$OUTFILE
           $RKHUNTER --update 1>/dev/null 2>$OUTFILE
       else
           (
         echo "Subject: [rkhunter] Weekly database update"
         echo ""
         $RKHUNTER --versioncheck 
             $RKHUNTER --update
           ) | /usr/sbin/sendmail $REPORT_EMAIL
       fi
       if [ $(stat -c %s $OUTFILE) -ne 0 ]; then
         (
           echo "Subject: [rkhunter] Weekly database update"
           echo ""
           cat $OUTFILE
         ) | /usr/sbin/sendmail $REPORT_EMAIL
       fi
       rm -f $OUTFILE
       ;;
     *)
      exit 0
      ;;

esac

    • NE PAS OUBLIER LE chmod 700 /etc/cron.weekly/rkhunter

Editer /opt/rkhunter/etc/rkhunter.conf : MAIL-ON-WARNING=fsoyer@systea.net PKGMGR=DPKG # (ou RPM) ALLOWHIDDENDIR=/dev/.udev ALLOWHIDDENDIR=/dev/.static ALLOWHIDDENDIR=/dev/.initramfs ALLOWHIDDENDIR=/dev/.initramfs-tools ALLOWHIDDENFILE=/etc/.pwd.lock ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz

En plus sur BlueQuartz : SCRIPTWHITELIST=/sbin/ifup SCRIPTWHITELIST=/sbin/ifdown SCRIPTWHITELIST=/usr/bin/groups XINETD_ALLOWED_SVC=/etc/xinetd.d/proftpd UID0_ACCOUNTS="root-admin"

Enlever /sbin/ifup de PROP_FILE_LIST (fonction set_file_prop_dirs_files() ), même s'il est dans la SCRIPTWHITELIST il met une erreur de vérif PKGMGR

vérifier que ALLOW_SSH_ROOT_USER est bien à la même valeur que PermitRootLogin de sshd_config.

Pour initialiser la base, lancer une première fois : rkhunter --propupd

Lancer /etc/cron.daily/rkhunter sur la ligne de commande pour voir les faux-positifs et ajuster la configuration (résultat dans /var/log/rkhunter.log, chercher "Warning", et par mail)

SUSPSCAN : rkhunter peut scanner des répertoire pour des "suspicious contents". Suspscan est gourmand en CPU, il est désactivé par défaut dans rkhunter.conf (DISABLE_TESTS). Attention à la version, la 1.3.0 est buguée (fichier temporaire /dev/shm/suspscan* est vu comme "suspicious...) Voir note ci-dessus pour version patchée. suspscan désactivé 14/03/08 : vraiment trop gourmand... Et trop de faux positifs.


          • Pour mémoire, première install par apt-get -> version 1.2.9 *****

apt-get install rkhunter Lancer rkhunter une fois pour vérifier le système, et repérer les faux positifs. S'il y en a, éditer /etc/rkhunter.conf. Exemple, décommenter : ALLOWHIDDENDIR=/dev/.udev ALLOWHIDDENDIR=/dev/.static ALLOWHIDDENDIR=/dev/.initramfs

Editer /etc/default/rkhunter si nécessaire, notamment pour donner une adresse mail valide dans REPORT_EMAIL. Sur une Etch, éditer /var/lib/rkhunter/db/os.dat. Si "Debian 4.0" n'est pas dans la liste, ajouter : "723:Debian 4.0 (i386):/usr/bin/md5sum:/bin:" pour éviter des mails intempestifs sur "OS non supporté". *** Plus nécessaire avec V1.3.2 ***