Outils personnels

RKHunter installation : Différence entre versions

De wikiGite

 
(21 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
<span style="color:green">Procédure validée sur CentOS</span><br>
 
<span style="color:green">Procédure validée sur CentOS</span><br>
<span style="color:red">A valider sur Debian</span>
+
<!-- # ARCHIVE
 
 
 
'''NOTE''' : Le paquet .deb est trop ancien (1.2.9). La 1.3.0 apporte beaucoup de chose (notamment suspscan)
 
'''NOTE''' : Le paquet .deb est trop ancien (1.2.9). La 1.3.0 apporte beaucoup de chose (notamment suspscan)
  
=> install à partir des sources sur Debian et CentOS
+
=> install à partir des sources sur Debian
  
 
Vérifier la dernière version à l'adresse http://sourceforge.net/project/showfiles.php?group_id=155034
 
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
+
  wget http://downloads.sourceforge.net/rkhunter/rkhunter-1.3.6.tar.gz
Eventuellement regarder ici :
 
wget http://garr.dl.sourceforge.net/sourceforge/rkhunter/rkhunter-1.3.0.tar.gz
 
  
  tar -xvzf rkhunter-1.3.2.tar.gz
+
  tar -xvzf rkhunter-*.tar.gz
  cd rkhunter-1.3.2
+
  cd rkhunter-*
 
  mkdir -p /opt/rkhunter
 
  mkdir -p /opt/rkhunter
 
  ./installer.sh --layout custom /opt/rkhunter --install
 
  ./installer.sh --layout custom /opt/rkhunter --install
Ligne 22 : Ligne 19 :
  
 
Reconnecter root (ou "su -" pour les tests).
 
Reconnecter root (ou "su -" pour les tests).
 +
# END ARCHIVE -->
 +
= Installation =
 +
yum install --enablerepo=rpmforge rkhunter
 +
Déplacer la config dans un sous-répertoire de /etc pour plus de clarté
 +
mkdir /etc/rkhunter
 +
mv /etc/rkhunter.conf /etc/rkhunter
 +
Il faudra juste penser à appeler systématiquement rkhunter par "rkhunter --configfile /etc/rkhunter/rkhunter.conf".
  
'''CentOS''': créer les scripts d'automatisation (inclus au .deb sur Debian) /etc/default/rkhunter :
+
= Configuration =
 +
Editer /etc/rkhunter/rkhunter.conf. Fichier standard pour une CentOS (uniquement les lignes décommentées) :
 +
ROTATE_MIRRORS=1
 +
UPDATE_MIRRORS=1
 +
MIRRORS_MODE=0
 +
MAIL-ON-WARNING=""
 +
MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"
 +
UPDATE_LANG=""
 +
LOGFILE=/var/log/rkhunter.log
 +
APPEND_LOG=0
 +
COPY_LOG_ON_ERROR=0
 +
COLOR_SET2=0
 +
AUTO_X_DETECT=1
 +
WHITELISTED_IS_WHITE=0
 +
ALLOW_SSH_ROOT_USER=without-password
 +
ALLOW_SSH_PROT_V1=0
 +
ENABLE_TESTS="all"
 +
DISABLE_TESTS="suspscan hidden_ports hidden_procs deleted_files packet_cap_apps"
 +
 +
SCRIPTWHITELIST="/sbin/ifup /sbin/ifdown"
 +
SCRIPTWHITELIST="/usr/bin/groups"
 +
SCRIPTWHITELIST="/usr/bin/GET"
 +
SCRIPTWHITELIST="/usr/bin/ldd"
 +
SCRIPTWHITELIST="/usr/bin/whatis"
 +
 +
IMMUTABLE_SET=0
 +
 +
ALLOWHIDDENDIR="/etc/.java"
 +
ALLOWHIDDENDIR="/dev/.udev /dev/.udevdb /dev/.udev.tdb"
 +
ALLOWHIDDENDIR="/dev/.static"
 +
ALLOWHIDDENDIR="/dev/.initramfs"
 +
ALLOWHIDDENDIR="/dev/.SRC-unix"
 +
ALLOWHIDDENDIR="/dev/.mdadm"
 +
ALLOWHIDDENFILE="/usr/share/man/man1/..1.gz"
 +
ALLOWHIDDENFILE="/etc/.pwd.lock"
 +
ALLOWHIDDENFILE="/etc/.passwd.pre-uid-fix"
 +
ALLOWHIDDENFILE="/usr/bin/.fipscheck.hmac"
 +
ALLOWHIDDENFILE="/usr/bin/.ssh.hmac"
 +
ALLOWHIDDENFILE="/usr/sbin/.sshd.hmac"
 +
 +
PHALANX2_DIRTEST=0
 +
 +
ALLOWDEVFILE="/dev/.udev/db/*"
 +
ALLOWDEVFILE="/dev/.udev/uevent_seqnum"
 +
 +
'''XINETD_ALLOWED_SVC=/etc/xinetd.d/proftpd'''
 +
'''UID0_ACCOUNTS="root-admin"'''
 +
ALLOW_SYSLOG_REMOTE_LOGGING=0
 +
'''APP_WHITELIST="httpd openssl sshd"'''
 +
 +
SUSPSCAN_TEMP=/dev/shm
 +
SUSPSCAN_MAXSIZE=10240000
 +
SUSPSCAN_THRESH=200
 +
USE_LOCKING=0
 +
LOCK_TIMEOUT=300
 +
SHOW_LOCK_MSGS=1
 +
INSTALLDIR=/usr
 +
DBDIR=/var/lib/rkhunter/db
 +
SCRIPTDIR=/usr/lib64/rkhunter/scripts
 +
TMPDIR=/var/lib/rkhunter/tmp
 +
USER_FILEPROP_FILES_DIRS=/etc/rkhunter/rkhunter.conf
 +
 
 +
= Scripts d'automatisation =
 +
== rkhunter-cron.conf ==
 +
D'abord un fichier /etc/rkhunter/rkhunter-cron.conf (ATTENTION au '''REPORT_EMAIL''') qui permettra de piloter le fonctionnement de rkhunter lancé par cron :
 
  # Defaults for rkhunter cron jobs
 
  # Defaults for rkhunter cron jobs
 
  # sourced by /etc/cron.*/rkhunter
 
  # sourced by /etc/cron.*/rkhunter
Ligne 30 : Ligne 98 :
 
  #
 
  #
 
  # Set this to the email address where reports and run output should be sent
 
  # Set this to the email address where reports and run output should be sent
  REPORT_EMAIL="<mail_admin>@systea.net"
+
  REPORT_EMAIL="<mail_admin>@example.net"
 
  # Set this to yes to enable rkhunter weekly database updates
 
  # Set this to yes to enable rkhunter weekly database updates
  CRON_DB_UPDATE="yes"
+
  CRON_DB_UPDATE="y"
 
  # Set this to yes to enable reports of weekly database updates
 
  # Set this to yes to enable reports of weekly database updates
  DB_UPDATE_EMAIL="yes"
+
  DB_UPDATE_EMAIL="y"
 
  # Set this to yes to enable rkhunter daily runs
 
  # Set this to yes to enable rkhunter daily runs
  CRON_DAILY_RUN="yes"
+
  CRON_DAILY_RUN="y"
 +
 
 +
== rkhunter.sh ==
 +
Le script principal effectue des tâches différentes selon le nom qu'on lui donne.
 +
 
 +
# Pour le scan journalier, créer un lien symbolique /etc/cron.daily/rkhunter_'''scan'''.
  
/etc/cron.daily/rkhunter (scan journalier) :
+
# Pour vérifier une fois par semaine si le programme nécessite une mise à jour (envoi d'un message à l'administrateur), et/ou s'il y a de nouvelles bases de règles (/var/lib/rkhunter - mise à jour automatique), créer un lien symbolique /etc/cron.daily/rkhunter_'''update'''.
  #!/bin/sh
+
 
  RKHUNTER=/opt/rkhunter/bin/rkhunter
+
  #!/bin/bash
  EXCLUDE=/opt/rkhunter/bin/rkhunter.exclude
+
  CONFDIR=/etc/rkhunter
if [ ! -x $RKHUNTER ]; then
+
  RKHUNTER="/usr/bin/rkhunter --configfile $CONFDIR/rkhunter.conf"
  exit 0
+
   
  fi
 
 
  # source our config
 
  # source our config
  . /etc/default/rkhunter
+
  . $CONFDIR/rkhunter-cron.conf
  case "$CRON_DAILY_RUN" in
+
    [Yy]*)
+
  case $0 in
 +
  *scan)
 +
      if [ "$CRON_DAILY_RUN" == "y" -o "$CRON_DAILY_RUN" == "Y" ]
 +
      then
 
         OUTFILE=`mktemp` || exit 1
 
         OUTFILE=`mktemp` || exit 1
 
         $RKHUNTER --cronjob --report-warnings-only --createlogfile /var/log/rkhunter.log > $OUTFILE
 
         $RKHUNTER --cronjob --report-warnings-only --createlogfile /var/log/rkhunter.log > $OUTFILE
         if [ $(stat -c %s $OUTFILE) -ne 0 ]; then
+
         if [ $(stat -c %s $OUTFILE) -ne 0 ]
          cat $OUTFILE | grep -v -e '^$' > /tmp/rkhunter.a1
+
        then
          while read LINE
+
          (
          do
+
            echo "Subject: [rkhunter] Daily run"
            cat /tmp/rkhunter.a1 | grep -v "$LINE" > /tmp/rkhunter.a2
+
            echo ""
            mv /tmp/rkhunter.a2 /tmp/rkhunter.a1
+
            cat $OUTFILE
          done < $EXCLUDE
+
          ) | /usr/sbin/sendmail $REPORT_EMAIL
          if [ -s /tmp/rkhunter.a1 ]
 
          then
 
            (
 
              echo "Subject: [rkhunter] Daily run"
 
              echo ""
 
              cat $OUTFILE
 
            ) | /usr/sbin/sendmail $REPORT_EMAIL
 
          fi
 
 
         fi
 
         fi
 
         rm -f $OUTFILE
 
         rm -f $OUTFILE
        rm -f /tmp/rkhunter.a1
+
      fi
        ;;
+
      ;;
      *)
+
  *update)
      exit 0
+
      if [ "$CRON_DB_UPDATE" == "y" -o "$CRON_DAILY_RUN" == "Y" ]
      ;;
+
       then
esac
+
        OUTFILE=`mktemp` || exit 1
 
+
        if [ "$DB_UPDATE_EMAIL" = "y" -o "$DB_UPDATE_EMAIL" = "Y" ]
NE PAS OUBLIER
+
        then
chmod 700 /etc/cron.daily/rkhunter
+
          (
Le fichier EXCLUDE sert à supprimer des faux-positif sans toucher au script rkhunter. On met sur chaque ligne un mot/une phrase à filtrer.<br/>
 
Exemple : /opt/rkhunter/bin/rkhunter.exclude
 
Warning: Package manager verification has failed:
 
File: /bin/grep
 
File: /usr/bin/less
 
Try running the command 'prelink
 
The file modification time has changed
 
The file hash value has changed
 
The file size has changed
 
One or more warnings have been found while checking the system.
 
Please check the log file (/var/log/rkhunter.log)
 
'''Note''' : Lister les "File:..." en fonction du résultat d'un premier lancement de /etc/cron.daily/rkhunter, afin de bien coller aux faux-positifs de cette configuration, et être sûr qu'il avertisse si d'autres binaires étaient modifiés un jour (hack ou upgrade).
 
 
 
Si le script continue à envoyer le mail, vérifier les phrases qu'il ne filtre pas en commentant les deux lignes "rm -f /tmp/..." et en relançant le script. Voir /tmp/rkhunter.a1. Penser à décommenter après debug.
 
 
 
/etc/cron.weekly/rkhunter (update des bases) :
 
#!/bin/sh
 
RKHUNTER=/opt/rkhunter/bin/rkhunter
 
if [ ! -x $RKHUNTER ]; then
 
  exit 0
 
fi
 
# 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 "Subject: [rkhunter] Weekly database update"
 
           echo ""
 
           echo ""
           $RKHUNTER --versioncheck  
+
           $RKHUNTER --nocolors --versioncheck 2>&1
              $RKHUNTER --update
+
          $RKHUNTER --nocolors --update 2>&1
            ) | /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
 
           ) | /usr/sbin/sendmail $REPORT_EMAIL
        fi
+
        else
        rm -f $OUTFILE
+
          $RKHUNTER --nocolors --versioncheck 1>/dev/null 2>$OUTFILE
        ;;
+
          if [ $? -eq 2 ]
      *)
+
          then
        exit 0
+
              echo "Une nouvelle version de RKHUNTER est disponible !" >> $OUTFILE
        ;;
+
          fi
 +
          $RKHUNTER --nocolors --update 1>/dev/null 2>>$OUTFILE
 +
          if [ $? -eq 2 ]
 +
          then
 +
              echo "Une nouvelle version des bases de RKHUNTER a été installée." >> $OUTFILE
 +
          fi
 +
        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
 +
      fi
 +
      ;;
 +
  *)
 +
      exit 0
 +
      ;;
 
  esac
 
  esac
  
 
NE PAS OUBLIER
 
NE PAS OUBLIER
  chmod 700 /etc/cron.weekly/rkhunter
+
  chmod 700 rkhunter.sh
 
+
et
Editer /opt/rkhunter/etc/rkhunter.conf :
+
  ln -s /<REPERTOIRE DU SCRIPT>/rkhunter.sh /etc/cron.daily/rkhunter_scan
  # MAIL-ON-WARNING=<mail_admin>@systea.net # Pas nécessaire si on utilise le script /etc/cron.daily/rkhunter
+
  ln -s /<REPERTOIRE DU SCRIPT>/rkhunter.sh /etc/cron.weekly/rkhunter_update
# ALLOW_SSH_ROOT_USER DOIT ETRE à la même valeur que PermitRootLogin de sshd_config
 
  ALLOW_SSH_ROOT_USER=without-password
 
PKGMGR=DPKG # (ou RPM)
 
ALLOWHIDDENDIR=/dev/.udev
 
ALLOWHIDDENDIR=/dev/.static
 
ALLOWHIDDENDIR=/dev/.initramfs
 
ALLOWHIDDENDIR=/dev/.initramfs-tools
 
 
ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz
 
ALLOWHIDDENFILE=/etc/.pwd.lock
 
 
 
En plus sur '''CentOS''' :
 
SCRIPTWHITELIST=/sbin/ifup
 
SCRIPTWHITELIST=/sbin/ifdown
 
SCRIPTWHITELIST=/usr/bin/groups
 
 
XINETD_ALLOWED_SVC=/etc/xinetd.d/proftpd
 
UID0_ACCOUNTS="root-admin"
 
Et si certaines version de logiciels ne sont pas à jour :
 
APP_WHITELIST="openssl:0.9.7a php:4.3.9"
 
  
 +
= Initialisation =
 
Pour initialiser la base, lancer une première fois :
 
Pour initialiser la base, lancer une première fois :
 +
su -
 
  rkhunter --propupd
 
  rkhunter --propupd
 +
Et relancer cette commande à chaque fois que nécessaire (fichiers ajoutés ou supprimés, par exemple).
  
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)
+
Lancer /etc/cron.daily/rkhunter_scan 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 ===
+
= 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).
 
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).
  
 
suspscan désactivé 14/03/08 : vraiment trop gourmand... Et trop de faux positifs.
 
suspscan désactivé 14/03/08 : vraiment trop gourmand... Et trop de faux positifs.
  
 +
<!-- # ARCHIVE
 
--------------------------------------------
 
--------------------------------------------
 
Pour mémoire, première install par apt-get -> version 1.2.9
 
Pour mémoire, première install par apt-get -> version 1.2.9
Ligne 180 : Ligne 211 :
 
  "723:Debian 4.0 (i386):/usr/bin/md5sum:/bin:"
 
  "723:Debian 4.0 (i386):/usr/bin/md5sum:/bin:"
 
pour éviter des mails intempestifs sur "OS non supporté".
 
pour éviter des mails intempestifs sur "OS non supporté".
 +
# END ARCHIVE -->

Version actuelle datée du 8 août 2013 à 10:06

Procédure validée sur CentOS

Installation

yum install --enablerepo=rpmforge rkhunter

Déplacer la config dans un sous-répertoire de /etc pour plus de clarté

mkdir /etc/rkhunter
mv /etc/rkhunter.conf /etc/rkhunter

Il faudra juste penser à appeler systématiquement rkhunter par "rkhunter --configfile /etc/rkhunter/rkhunter.conf".

Configuration

Editer /etc/rkhunter/rkhunter.conf. Fichier standard pour une CentOS (uniquement les lignes décommentées) :

ROTATE_MIRRORS=1
UPDATE_MIRRORS=1
MIRRORS_MODE=0
MAIL-ON-WARNING=""
MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"
UPDATE_LANG=""
LOGFILE=/var/log/rkhunter.log
APPEND_LOG=0
COPY_LOG_ON_ERROR=0
COLOR_SET2=0
AUTO_X_DETECT=1
WHITELISTED_IS_WHITE=0
ALLOW_SSH_ROOT_USER=without-password
ALLOW_SSH_PROT_V1=0
ENABLE_TESTS="all"
DISABLE_TESTS="suspscan hidden_ports hidden_procs deleted_files packet_cap_apps"

SCRIPTWHITELIST="/sbin/ifup /sbin/ifdown"
SCRIPTWHITELIST="/usr/bin/groups"
SCRIPTWHITELIST="/usr/bin/GET"
SCRIPTWHITELIST="/usr/bin/ldd"
SCRIPTWHITELIST="/usr/bin/whatis"

IMMUTABLE_SET=0

ALLOWHIDDENDIR="/etc/.java"
ALLOWHIDDENDIR="/dev/.udev /dev/.udevdb /dev/.udev.tdb"
ALLOWHIDDENDIR="/dev/.static"
ALLOWHIDDENDIR="/dev/.initramfs"
ALLOWHIDDENDIR="/dev/.SRC-unix"
ALLOWHIDDENDIR="/dev/.mdadm"
ALLOWHIDDENFILE="/usr/share/man/man1/..1.gz"
ALLOWHIDDENFILE="/etc/.pwd.lock"
ALLOWHIDDENFILE="/etc/.passwd.pre-uid-fix"
ALLOWHIDDENFILE="/usr/bin/.fipscheck.hmac"
ALLOWHIDDENFILE="/usr/bin/.ssh.hmac"
ALLOWHIDDENFILE="/usr/sbin/.sshd.hmac"

PHALANX2_DIRTEST=0

ALLOWDEVFILE="/dev/.udev/db/*"
ALLOWDEVFILE="/dev/.udev/uevent_seqnum"

XINETD_ALLOWED_SVC=/etc/xinetd.d/proftpd
UID0_ACCOUNTS="root-admin"
ALLOW_SYSLOG_REMOTE_LOGGING=0
APP_WHITELIST="httpd openssl sshd"

SUSPSCAN_TEMP=/dev/shm
SUSPSCAN_MAXSIZE=10240000
SUSPSCAN_THRESH=200
USE_LOCKING=0
LOCK_TIMEOUT=300
SHOW_LOCK_MSGS=1
INSTALLDIR=/usr
DBDIR=/var/lib/rkhunter/db
SCRIPTDIR=/usr/lib64/rkhunter/scripts
TMPDIR=/var/lib/rkhunter/tmp
USER_FILEPROP_FILES_DIRS=/etc/rkhunter/rkhunter.conf

Scripts d'automatisation

rkhunter-cron.conf

D'abord un fichier /etc/rkhunter/rkhunter-cron.conf (ATTENTION au REPORT_EMAIL) qui permettra de piloter le fonctionnement de rkhunter lancé par cron :

# Defaults for rkhunter cron jobs
# sourced by /etc/cron.*/rkhunter
#
# This is a POSIX shell fragment
#
# Set this to the email address where reports and run output should be sent
REPORT_EMAIL="<mail_admin>@example.net"
# Set this to yes to enable rkhunter weekly database updates
CRON_DB_UPDATE="y"
# Set this to yes to enable reports of weekly database updates
DB_UPDATE_EMAIL="y"
# Set this to yes to enable rkhunter daily runs
CRON_DAILY_RUN="y"

rkhunter.sh

Le script principal effectue des tâches différentes selon le nom qu'on lui donne.

  1. Pour le scan journalier, créer un lien symbolique /etc/cron.daily/rkhunter_scan.
  1. Pour vérifier une fois par semaine si le programme nécessite une mise à jour (envoi d'un message à l'administrateur), et/ou s'il y a de nouvelles bases de règles (/var/lib/rkhunter - mise à jour automatique), créer un lien symbolique /etc/cron.daily/rkhunter_update.
#!/bin/bash
CONFDIR=/etc/rkhunter
RKHUNTER="/usr/bin/rkhunter --configfile $CONFDIR/rkhunter.conf"

# source our config
. $CONFDIR/rkhunter-cron.conf

case $0 in
  *scan)
     if [ "$CRON_DAILY_RUN" == "y" -o "$CRON_DAILY_RUN" == "Y" ]
     then
       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
     fi
     ;;
  *update)
     if [ "$CRON_DB_UPDATE" == "y" -o "$CRON_DAILY_RUN" == "Y" ]
     then
       OUTFILE=`mktemp` || exit 1
       if [ "$DB_UPDATE_EMAIL" = "y" -o "$DB_UPDATE_EMAIL" = "Y" ]
       then
         (
          echo "Subject: [rkhunter] Weekly database update"
          echo ""
          $RKHUNTER --nocolors --versioncheck 2>&1
          $RKHUNTER --nocolors --update 2>&1
          ) | /usr/sbin/sendmail $REPORT_EMAIL
       else
         $RKHUNTER --nocolors --versioncheck 1>/dev/null 2>$OUTFILE
         if [ $? -eq 2 ]
         then
             echo "Une nouvelle version de RKHUNTER est disponible !" >> $OUTFILE
         fi
         $RKHUNTER --nocolors --update 1>/dev/null 2>>$OUTFILE
         if [ $? -eq 2 ]
         then
             echo "Une nouvelle version des bases de RKHUNTER a été installée." >> $OUTFILE
         fi
       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
     fi
     ;;
  *)
     exit 0
     ;;
esac

NE PAS OUBLIER

chmod 700 rkhunter.sh

et

ln -s /<REPERTOIRE DU SCRIPT>/rkhunter.sh /etc/cron.daily/rkhunter_scan
ln -s /<REPERTOIRE DU SCRIPT>/rkhunter.sh /etc/cron.weekly/rkhunter_update

Initialisation

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

su -
rkhunter --propupd

Et relancer cette commande à chaque fois que nécessaire (fichiers ajoutés ou supprimés, par exemple).

Lancer /etc/cron.daily/rkhunter_scan 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).

suspscan désactivé 14/03/08 : vraiment trop gourmand... Et trop de faux positifs.