Anche se i sistemi Linux sono considerati sistemi più sicuri rispetto ad altri ciò non significa che sono sistemi immuni da attacchi.

Per tutti coloro che utilizzano anche macchine virtualizzate su infrastrutture di rete può essere consigliato e rivelarsi fondamentale effettuare con cadenza regolare una scansione sui percorsi di rete più vulnerabili come cartelle si scambio o condivise.

Per fortuna, abbiamo ClamAV , una delle migliori soluzioni di sicurezza Linux per sbarazzarsi di numerose minacce malware e non solo. È affidabile, facile da configurare e gratuito. 

Questo breve articolo ti mostrerà come installare ClamAV sulla distribuzione CentOS 7.

Prima di iniziare, assicurati di avere l'accesso come root al tuo server CentOS 7 o VPS. Inoltre, se state lavorando da un PC con una distribuzione Windows è necessario sapere come utilizzare Putty mentre da un qualsiasi sistema Linux o Mac useremo il Terminal

Come installare ClamAV su CentOS 7

Divideremo i passaggi in tre punti: installazione di ClamAV su CentOS 7, configurazione di SELinux e configurazione di ClamAV. Quindi iniziamo!

  1. Installazione di ClamAV su CentOS

Per impostazione predefinita, ClamAV non è disponibile nel repository software ufficiale di CentOS , dobbiamo quindi aggiungere il repository epel-release eseguendo i comandi yum riportati di seguito:

sudo yum -y install epel-release

sudo yum clean all

Ora possiamo procedere all’installazione di ClamAV, digitiamo:

 sudo yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd 

ok, abbiamo installato ClamAV, ma ora biognerà effettuare alcune  configurazioni aggiuntive per far si che funzioni correttamente.

  1. Configurare SELinux

SELinux è una misura di sicurezza di Centos il cui scopo è proteggere le modifiche ad alcuni file, quindi dobbiamo apportare alcune modifiche aggiuntive per far si che ClamAV abbia i necessati diritti e abilitazioni per funzionare con il modulo kernel SELinux abilitato. 

Per configurare SELinux, eseguire i seguenti comandi uno per uno:

sudo setsebool -P antivirus_can_scan_system 1
sudo setsebool -P clamd_use_jit 1

Verifichiamo che le modifiche siano andate a buon fine:

sudo getsebool -a | grep antivirus

Dovremmo ottenere un risultato simile a questo:

antivirus_can_scan_system --> on

antivirus_use_jit --> on

Ora che ClamAV è pronto a lavorare in sinergia con SELinux, passiamo a configurare l'antivirus.

  1. Configurazione di ClamAV

Iniziamo per chiarezza a rimuovere le stringe di esempio dal file di configurazione:

 sudo sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf

Indichiamo nel file di configurazione il tipo Socket che utiliziamo, per farlo apriamo con il nostro edito preferito il file scan.conf

sudo nano /etc/clamd.d/scan.conf

Troviamo la seguente riga:


       #LocalSocket /var/run/clamd.scan/clamd.sock

e decommentiamola rimuovendo il # dall’inizio riga.

Rimuoviamo la stringa di esempio dal file di configurazione del motore di aggiornamento freshclam di ClamAV :

sudo sed -i -e "s/^Example/#Example/" /etc/freshclam.conf

e eseguiamo l'aggiornamento del database delle definizioni dei virus:

 

Dovresti ottenere un risultato simile:

 Infine, avviamo il demone del servizio di ClamAV e rendiamolo eseguibbile all'avvio:

sudo systemctl start clamd@scan    

sudo systemctl enable clamd@scan

Ok abbiamo terminato, ricordiamoci solo di tener aggiornato il DB di definizioni dei virus magari tramite crontab lanciando periodicamente il comando freshclam

Scansione di un percorso specifico con ClamAV

È possibile utilizzare clamscan con l'opzione  -r per effettuare la scansione di una cartella e delle sottocartelle presenti in essa

clamscan -r /home/USER

se vogliamo rimuovere automaticamente tutti i file che clamscam ritiene infetti possiamo aggiungere l'opzione --remove ATTENZIONE : i file però verranno totalmente eliminati.

clamscan -r --remove /home/USER

in alternativa possiamo fare in modo che clamscan sposti i file infetti in una cartella preimpostata, in questo caso dovremo utilizzare l'opzione --move

clamscan -r --move=/home/USER/VIRUS /home/USER


di seguito riporto alcune delle opzioni che è possibile utilizzare per le scansioni veloci di semplici cartelle

There are too many options to list all of them here. So we’ll only cover a few common and more interesting ones:

  • --log=FILE - invia il report della scansione nel FILE
  • --max-filesize=#n - dimensione massima dei file da scansion are, I file con dimensioni maggiori saranno saltati e ritenuti puliti
  • --max-scansize=#n - quantità massima di dati da scansione per ogni contenitore di file
  • --leave-temps[=yes/no(*)] - do not remove temporary files
  • --cross-fs[=yes(*)/no] - scansion file e directory di altri filesystem
  • --move=DIRECTORY - sposta I file infetti in una DIRECTORY predefinita
  • --copy=DIRECTORY - copia I file infetti in una DIRECTORY predefinita
  • --heuristic-alerts[=yes(*)/no] - toggles heuristic alerts
  • --alert-encrypted[=yes/no(*)] - alert on encrypted archives and documents