Guida alle tecnologie

Installare Linux Malware Detect (LMD) con ClamAV su CentOS 7

7 min read Sicurezza Linux Aggiornato 06 Oct 2025
Installare LMD con ClamAV su CentOS 7
Installare LMD con ClamAV su CentOS 7

Per chi è questo articolo

Questo documento è pensato per amministratori di sistema e fornitori di hosting che vogliono aggiungere un livello di scansione malware per ambienti di hosting condiviso su CentOS 7. Definizioni rapide:

  • LMD: scanner malware ottimizzato per hosting condiviso.
  • ClamAV: motore antivirus open source usato come backend di scansione.

Sommario dei contenuti

  • Prerequisiti
  • Installare EPEL e mailx
  • Installare LMD (Linux Malware Detect)
  • Configurare LMD per usare ClamAV e le email
  • Installare e aggiornare ClamAV
  • Test e comandi utili di LMD
  • Checklist operative e runbook di incidente
  • Alternative, consigli di sicurezza e note di compatibilità

Prerequisiti

  • Server CentOS 7
  • Accesso root (o sudo con privilegi amministrativi)
  • Connessione Internet per scaricare pacchetti e definizioni

Step 1 - Installare il repository EPEL e mailx

  1. Abilita EPEL (Extra Packages for Enterprise Linux) e installa mailx. mailx serve per inviare i report via email.
yum -y install epel-release

Installa mailx per poter usare il comando mail:

yum -y install mailx

Nota importante: assicurati che il server possa inviare email (MTA configurato) o che sia presente un relay SMTP valido.

Step 2 - Installare Linux Malware Detect (LMD)

Linux Malware Detect non è disponibile direttamente nei repository di CentOS/EPEL; lo installiamo dal sorgente.

Scarica ed estrai LMD:

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

Vai nella directory estratta e avvia lo script di installazione come root:

cd maldetect-1.5  
./install.sh

Crea un symlink al comando maldet nella directory /bin/ per un accesso più comodo:

ln -s /usr/local/maldetect/maldet /bin/maldet  
hash -r

Install Linux Malware Detect

Alt immagine: Schermata dell’installazione di Linux Malware Detect (maldet) su CentOS.

Step 3 - Configurare Linux Malware Detect (LMD)

LMD viene installato nella directory ‘/usr/local/maldetect/‘. Modifica il file di configurazione per attivare alert email, integrazione con ClamAV e quarantena.

cd /usr/local/maldetect/  
vim conf.maldet

Le impostazioni principali da modificare (nomi e linee possono variare a seconda della versione):

  • Abilita gli avvisi via email (imposta su “1”):
email_alert="1"
  • Imposta l’indirizzo email destinatario (sostituisci l’esempio con il tuo indirizzo):
email_addr="[email protected]"
  • Usa clamscan (motore ClamAV) come motore di scansione di default, utile su grandi set di file:
scan_clamscan="1"
  • Abilita la quarantena automatica durante la scansione:
quarantine_hits="1"
  • Abilita la pulizia basata su file infetti (se desiderato):
quarantine_clean="1"

Salva ed esci. Verifica che i permessi della directory di quarantena siano corretti per evitare problemi di scrittura.

Importante: la quarantena automatica può spostare file legittimi che risultano falsi positivi. Testa su un ambiente non in produzione prima di abilitare la pulizia automatica.

Step 4 - Installare ClamAV

ClamAV è disponibile nel repository EPEL che abbiamo abilitato. Installa ClamAV e il pacchetto di sviluppo (utile per integrazioni future):

yum -y install clamav clamav-devel

Aggiorna il database dei virus con freshclam:

freshclam

Update ClamAV malware database with the freshclam command

Alt immagine: Terminale che mostra l’aggiornamento del database di ClamAV con freshclam.

Nota: imposta un cron o systemd timer per freshclam per mantenere aggiornate le definizioni.

Step 5 - Testare LMD e ClamAV

Esempio pratico: eseguiamo una scansione manuale della web root /var/www/html/ usando campioni di test (EICAR) per verificare il rilevamento.

Scarica i file di test EICAR nella document root:

cd /var/www/html  
wget http://www.eicar.org/download/eicar.com.txt  
wget http://www.eicar.org/download/eicar_com.zip  
wget http://www.eicar.org/download/eicarcom2.zip

Esegui la scansione con maldet:

maldet -a /var/www/html

Scan a directory with Maldet

Alt immagine: Output di maldet che esegue la scansione di una directory web.

Dovresti vedere che LMD usa ClamAV come motore di scansione e che i file sospetti vengono segnalati (ad esempio “malware hits 3”) e spostati in quarantena.

Controlla il report di scansione con lo scanid mostrato in output (esempio):

maldet --report 161008-0524.9466

Nota: SCANID = 161008-0524.9466 è un esempio trovato nell’output di maldet.

LMD scan report

Alt immagine: Report di scansione LMD che mostra i dettagli dei rilevamenti.

Verifica anche che il server abbia inviato l’email di notifica:

tail -f /var/mail/root

Alt immagine: Posta locale del sistema contenente il report di scansione inviato da LMD.

Se l’email arriva, la configurazione di mailx e MTA funziona correttamente.

Step 6 - Comandi utili di LMD

Ecco una raccolta di comandi pratici che userai spesso:

  • Scansione per estensione specifica (es. solo PHP):
maldet -a /var/www/html/*.php
  • Elenca tutti i report:
maldet -e list
  • Scansione ricorsiva dei file creati/modificati negli ultimi X giorni (es. ultimi 5 giorni):
maldet -r /var/www/html/ 5
  • Ripristina file dalla quarantena usando SCANID:
maldet -s SCANID

Restore file from quarantine directory

Alt immagine: Esempio di ripristino di un file dalla quarantena.

  • Abilita il monitoraggio in tempo reale di una directory:
maldet -m /var/www/html/
  • Controlla il log del monitor:
tail -f /usr/local/maldetect/logs/inotify_log

Monitor a directory with Maldet

Alt immagine: Log del monitor inotify mostrato nel terminale.

Checklist operativa rapida (Ruoli)

Sysadmin:

  • Verificare freshclam funzionante e aggiornamenti automatici.
  • Testare maldet con file EICAR in ambiente non produttivo.
  • Controllare permessi della directory di quarantena.
  • Abilitare monitor se necessario (maldet -m).

Fornitore hosting:

  • Abilitare alert email a un account di gestione centrale.
  • Disporre di procedure di approvazione per i ripristini dalla quarantena.
  • Automatizzare report giornalieri o settimanali.

Sicurezza/Incident response:

  • Conservare snapshot prima di ripristinare file sospetti.
  • Validare i ripristini su staging prima di tornare in produzione.

Mini-methodologia operativa

  1. Installare e aggiornare i pacchetti (EPEL, mailx, ClamAV, LMD).
  2. Configurare LMD per l’integrazione con ClamAV e le email.
  3. Eseguire test con campioni conosciuti (EICAR).
  4. Abilitare monitoraggio e pianificare scansioni ricorrenti.
  5. Definire playbook di risposta per falsi positivi e ripristini.

Runbook incidente rapido (se trovi malware in produzione)

  1. Isolare il server o la directory se possibile.
  2. Eseguire scansione completa con maldet e clamscan.
  3. Spostare file sospetti in quarantena (maldet lo può fare automaticamente).
  4. Creare snapshot/backup della macchina prima di ogni modifica.
  5. Analizzare i file in quarantena, determinare se sono falsi positivi.
  6. Ripristinare file sicuri con maldet -s SCANID e validare il comportamento.
  7. Aggiornare regole e segnalarlo al team di sicurezza.

Matrice dei rischi e mitigazioni (qualitativa)

  • Falso positivo -> Mitigazione: revisione manuale, ripristino su staging.
  • Quarantena automatica di file legittimi -> Mitigazione: notifiche email e approvazione umana per la pulizia.
  • Database virus non aggiornato -> Mitigazione: freshclam in cron o servizio systemd timer.
  • Mancata consegna email -> Mitigazione: verificare MTA/relay e log di posta.

Alternative e consigli

  • Uso senza ClamAV: LMD funziona anche con le sue firme interne, ma ClamAV migliora il rilevamento su grandi insiemi.
  • Alternative a ClamAV: soluzioni commerciali come ESET, Sophos o scanner basati su motori multipli per hosting gestito.
  • Distribuzioni più recenti: per CentOS 8/Stream o derivati (AlmaLinux/Rocky), installazione e pacchetti possono variare; verificare repository EPEL compatibili.

Note di compatibilità e migrazione

  • Se migrerai da CentOS 7 a un sistema basato su systemd più recente, controlla i nomi dei servizi e i path dei log.
  • In ambienti containerizzati, considera l’impatto di eseguire scansioni ricorsive su volumi montati.

Glossario (una linea)

  • MTA: Mail Transfer Agent, software che invia email dal server.
  • EICAR: file di test standard usato per verificare i rilevatori antivirus.
  • Quarantena: area protetta dove vengono spostati i file infetti.

Buone pratiche finali

  • Testa tutte le modifiche in staging.
  • Mantieni aggiornati ClamAV e LMD.
  • Monitora regolarmente i report e automatizza le notifiche verso gli interlocutori corretti.

Riepilogo

  • LMD + ClamAV forniscono una combinazione efficace per rilevare malware su hosting condiviso.
  • Installa EPEL, mailx, LMD e ClamAV; configura email, quarantena e motore clamscan.
  • Testa con EICAR e adotta una procedura di risposta per falsi positivi e ripristini.

Reference

Autore
Redazione

Materiali simili

Installare e usare Podman su Debian 11
DevOps

Installare e usare Podman su Debian 11

Guida rapida a apt-pinning su Debian
Linux

Guida rapida a apt-pinning su Debian

Forzare FSR 4 con OptiScaler: guida completa
Guide.

Forzare FSR 4 con OptiScaler: guida completa

Dansguardian + Squid NTLM su Debian Etch
Rete

Dansguardian + Squid NTLM su Debian Etch

Riparare errore installazione SD su Android
Android

Riparare errore installazione SD su Android

Cartelle di rete con KNetAttach e remote:/
Linux

Cartelle di rete con KNetAttach e remote:/