Outils personnels

LMD : Linux Malware Detect

De wikiGite

Du site http://www.rfxn.com/projects/linux-malware-detect/ :

Linux Malware Detect (LMD) is a malware scanner for Linux released under the GNU GPLv2 license, that is designed around the threats faced in shared hosted environments.

Installation

wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
tar xfz maldetect-current.tar.gz
cd maldetect-*
./install.sh

Puis créer un lien du fichier de configuration dans /etc, c'est plus pratique :

ln -s /usr/local/maldetect/conf.maldet /etc/maldet.conf

Si clamav est présent, il l'utilise d'office comme moteur de scan, avec ses bases en plus des siennes. Donc, avec le dépôt rpmforge :

yum install --enablerepo=rpmforge clamav

Et vérifier que les updates de bases se font bien (lancer /etc/cron.daily/freshclam, et examiner /var/log/messages)

Configuration

vi /etc/maldet.conf

Modifier :

email_alert=1
email_addr="mailadmin@example.net"

Utilisation

Premier lancement :

maldet --scan-all /home

Peut être très long ! (exemple /home 158000 fichiers = 20mn), et gourmant en ressources la première fois.

Les scans suivants sont réalisés sur les fichiers modifiés (par défaut les deux derniers jours) automatiquement par cron. Vérifier le script /etc/cron.daily/maldet, sur BlueOnyx notamment on peut le simplifier en enlevant les répertoires apache inutiles et ne laissant que /home :

# if were running inotify monitoring, send daily hit summary
if [ "$(ps -A --user root -o "comm" | grep inotifywait)" ]; then
        /usr/local/maldetect/maldet --alert-daily >> /dev/null 2>&1
else
        # scan the last 2 days of file changes
        if [ -d "/home/.sites" ]; then
                /usr/local/maldetect/maldet -b -r /home/.sites 2 >> /dev/null 2>&1
        fi
fi

Faux-positifs

Les faux-positifs peuvent être ajoutés à des listes d'exclusion :

/usr/local/maldetect/ignore_file_ext
/usr/local/maldetect/ignore_inotify
/usr/local/maldetect/ignore_paths
/usr/local/maldetect/ignore_sigs

Les noms des fichiers ci-dessus doivent être assez parlant pour indiquer quels types d'objets ils concernent !