Outils pour utilisateurs

Outils du site


tutoriels:maldet

MALDET : Hosting anti-malware


Anti-malware
MALDET (Malware Detect) est scanner anti-malware conçue pour la sécurité des hébergements mutualisés. Basé sur les extractions de malwares des attaques actuelles, sa base de référence est construite sur des HASH MD5des fichiers et des comparaisons HEX. Cet outil est capable de détecter les fichiers encodés en HEX ou BASE64 et peut s'interfacer avec ClamAV ou encore iNotfify.

Installation de MALDET

  • Récupérer la dernière version:

wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

  • Installer le scanner grace au script fourni:

tar xvzf maldetect-current.tar.gz
rm maldetect-current.tar.gz && cd maldetect-1.4.2/
./install.sh
Linux Malware Detect v1.4.1
            (C) 2002-2013, R-fx Networks <proj@r-fx.org>
            (C) 2013, Ryan MacDonald <ryan@r-fx.org>
inotifywait (C) 2007, Rohan McGovern <rohan@mcgovern.id.au>
This program may be freely redistributed under the terms of the GNU GPL

installation completed to /usr/local/maldetect
config file: /usr/local/maldetect/conf.maldet
exec file: /usr/local/maldetect/maldet
exec link: /usr/local/sbin/maldet
exec link: /usr/local/sbin/lmd
cron.daily: /etc/cron.daily/maldet

maldet(16562): {sigup} performing signature update check...
maldet(16562): {sigup} local signature set is version 201205035915
maldet(16562): {sigup} new signature set (201310259491) available
maldet(16562): {sigup} downloaded http://www.rfxn.com/downloads/md5.dat
maldet(16562): {sigup} downloaded http://www.rfxn.com/downloads/hex.dat
maldet(16562): {sigup} downloaded http://www.rfxn.com/downloads/rfxn.ndb
maldet(16562): {sigup} downloaded http://www.rfxn.com/downloads/rfxn.hdb
maldet(16562): {sigup} downloaded http://www.rfxn.com/downloads/maldet-clean.tgz
maldet(16562): {sigup} signature set update completed
maldet(16562): {sigup} 11304 signatures (9432 MD5 / 1872 HEX)

:!: Comme on peut le constater, l'utilitaire s'installe dans /usr/local/maldet et à déjà mis en place un cron quotidien.

  • Ajouter l'exécutable à votre PATH :

vi /root/.bashrc
export PATH=/usr/local/maldet/maldet:$PATH
source /root/.bashrc

  • Prendre connaissance des options disponibles:

maldet --help

:!: Jeter un coup d'oeil au cron (/etc/cron.daily/maldet) pour comprendre l'utilisation.

Configuration de MALDET

La configuration principale se définit dans le fichier /usr/local/maldet/conf.maldet.
Toutefois, les options passées en argument sont priorisées sur celle déclarées dans la conf.

  • Ajuster la configuration du scanner:

vi /usr/local/maldetect/conf.maldet
email_alert=1
email_subj="MALWARE DETECTED FROM $(hostname)"
email_addr="you@domain.com"
email_ignore_clean=0
quar_hits=0
quar_clean=1
quar_susp=0
quar_susp_minuid=500
maxdepth=15
minfilesize=32
maxfilesize="768k"
hexdepth=61440
hex_fifo_scan=1
hex_fifo_depth=524288
clamav_scan=1
public_scan=0
string_length_scan="0"          # [ 0 = disabled, 1 = enabled ]
string_length="150000"          # [ max string length ]
inotify_base_watches=15360
inotify_stime=30
inotify_minuid=500
inotify_webdir=public_html
inotify_nice=10

Il est possible de faire l'analyse des fichiers détectés par inotify (modifications au niveau système de fichiers) ou effectuer un mapping du mod_security d'Apache (scan des POST) et obtenir ainsi une détection en temps réel. A vous de peser le pour/contre en terme de securité VS performance de votre hébergement. MALDET est aussi en mesure de désactiver le compte utilisateur du owner des fichiers détectés.

Utilisation de MALDET

Personnellement, je désactive le cron par défaut et j'utilise mes propres scripts pour lancer les scans. Sachant que celui-ci peut-être consommateur de ressources, rien n’empêche de monter les DocumentRoot à distance et déporter ainsi la tâche sur un serveur moins sollicité que l'hébergement lui-même (LOL SSHFS is your friend…)

  • Mettre à jour la base des définitions de MALDET:

maldet --update

  • Scanner tous les fichiers récents (- de 3 jours ici) d'une arborescence définie (/data/www) :

maldet --scan-recent /data/www 3 --config-option email_alert=1,quar_hits=1,quar_clean=1

  • Scanner l'intégralité d'un WebRoot :

maldet --scan-all /var/www/test

Retour d'expérience

En complément des outils de prévention comme fail2ban, mod_security/mod_evasive, MALDET me parait indispensable pour la détection de hacks. Les HITS sont pertinents et une détection rapide évite la progression de l'attaquant vers l'exploitation du serveur (Phishing,spams,backdoor…)

  • Quelques exemples de ma collection en qurantaine:

webshell B374K
webshell C100

tutoriels/maldet.txt · Dernière modification: 15/04/2016 à 21:16 par M4t

Outils de la page