ClamAV (Clam AntiVirus) és un motor antivirus de codi obert dissenyat principalment per a sistemes GNU/Linux, encara que és multiplataforma. És mantingut per Cisco Talos i distribuït sota la llicència GPL v2.
.cvd i .cld).clamav-milter o amavisd.| Component | Descripció |
|---|---|
clamscan |
Eina CLI per escaneig manual de fitxers i directoris |
clamd |
Dimoni en segon pla per a escaneig eficient |
clamdscan |
Client que envia fitxers al dimoni clamd |
freshclam |
Actualitzador automàtic de la base de dades de virus |
sigtool |
Eina per crear i verificar signatures |
clambc |
Compilador de bytecode per a regles avançades |
clamav-milter |
Integració amb MTA (Mail Transfer Agents) |
sudo apt update
sudo apt install clamav clamav-daemon clamav-freshclamsudo dnf install clamav clamav-update clamdsudo pacman -S clamav# Dependències: cmake, openssl, libxml2, libpcre2, libbz2, zlib
git clone https://github.com/Cisco-Talos/clamav.git
cd clamav
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make installAbans del primer ús cal baixar les signatures:
sudo systemctl stop clamav-freshclam # si el servei ja corre
sudo freshclam
sudo systemctl start clamav-freshclam| Fitxer | Propòsit |
|---|---|
/etc/clamav/freshclam.conf |
Configuració de FreshClam |
/etc/clamav/clamd.conf |
Configuració del dimoni ClamD |
clamd.confLocalSocket /var/run/clamav/clamd.ctl
User clamav
DatabaseDirectory /var/lib/clamav
LogFile /var/log/clamav/clamd.log
MaxFileSize 100M
MaxScanSize 400M
freshclam.confDatabaseOwner clamav
UpdateLogFile /var/log/clamav/freshclam.log
DatabaseMirror database.clamav.net
Checks 24
clamscanclamscan [opcions] [ruta]# Escaneig d'un fitxer
clamscan fitxer.pdf
# Escaneig recursiu d'un directori
clamscan -r /home/usuari/
# Escaneig recursiu mostrant només fitxers infectats
clamscan -r --infected /home/
# Escaneig recursiu eliminant fitxers infectats
clamscan -r --remove /directori/
# Moure fitxers infectats a quarantena
clamscan -r --move=/var/quarantena /home/
# Escaneig de tot el sistema (excloent /proc, /sys, /dev)
clamscan -r --exclude-dir="^/proc" --exclude-dir="^/sys" --exclude-dir="^/dev" /
# Desar informe en fitxer de log
clamscan -r /home/ --log=/var/log/clamav/scan.log
# Escaneig amb múltiples fils (ClamAV >= 0.100)
clamscan -r --max-threads=4 /home/| Opció | Descripció |
|---|---|
-r |
Recursiu |
--infected / -i |
Mostra només fitxers infectats |
--remove |
Elimina fitxers infectats |
--move=DIR |
Mou fitxers infectats al directori especificat |
--copy=DIR |
Copia fitxers infectats (no els elimina) |
--log=FILE |
Desa el resultat al fitxer indicat |
--exclude=REGEX |
Exclou fitxers que coincideixen amb el patró |
--exclude-dir |
Exclou directoris |
--max-filesize=N |
Mida màxima de fitxer a escanejar |
--no-summary |
Suprimeix el resum final |
--bell |
Sona un avís quan troba una amenaça |
--stdout |
Envia resultats a stdout |
--quiet |
Silenciós (errors i infeccions) |
clamdscan (amb
dimoni)clamdscan envia fitxers al dimoni clamd,
que ja té les signatures carregades en memòria. És molt més ràpid que clamscan per a escaneigs repetitius.
# Iniciar el dimoni
sudo systemctl start clamav-daemon # Debian/Ubuntu
sudo systemctl start clamd # Fedora/RHEL
# Escaneig via dimoni
clamdscan /home/usuari/documents/
# Escaneig recursiu
clamdscan -r /home/
# Multifil
clamdscan --fdpass -r /home/# Actualització manual
sudo freshclam
# Estat del servei d'actualització automàtica
sudo systemctl status clamav-freshclam
# Activar actualització automàtica a l'arrencada
sudo systemctl enable --now clamav-freshclam| Fitxer | Contingut |
|---|---|
main.cvd |
Signatures principals (estables) |
daily.cvd |
Signatures diàries (actualitzades contínuament) |
bytecode.cvd |
Regles de bytecode avançades |
Ubicació per defecte: /var/lib/clamav/
ClamAV permet crear signatures pròpies.
.hdb)# Format: MD5:tamany:NomSignatura
d41d8cd98f00b204e9800998ecf8427e:0:Fitxer_Buit_Testsigtool)# Crear una signatura des d'un fitxer maliciós
sigtool --md5 fitxer_malicos.exe >> /etc/clamav/custom.hdb
# Verificar la signatura
sigtool --info /var/lib/clamav/daily.cvdClamAV suporta regles YARA directament:
rule ExempleRegla {
meta:
description = "Detecció de prova"
strings:
$a = "malware_string"
condition:
$a
}Desa el fitxer com .yara o .yar al
directori de bases de dades.
sudo apt install amavisd-new clamav-daemon
# Afegir a /etc/amavis/conf.d/15-content_filter_mode:
# @bypass_virus_checks_maps = (1); # per desactivar
# @virus_scanners = ('ClamAV');sudo apt install clamav-milter
# /etc/clamav/clamav-milter.conf:
MilterSocket /var/spool/postfix/clamav/clamav.sockDisponible a Linux via fanotify (nucli >= 3.8):
# /etc/clamav/clamd.conf
OnAccessIncludePath /home
OnAccessExcludeUname clamav
OnAccessPrevention yes
OnAccessExtraScanning yes# Activar (requereix root i nucli compatible)
sudo clamonacc --config=/etc/clamav/clamd.confL’escaneig en temps real consumeix recursos considerables. Recomanat només en servidors crítics.
| Paràmetre (clamd.conf) | Recomanació |
|---|---|
MaxFileSize |
100M (ajustar segons necessitat) |
MaxScanSize |
400M |
MaxRecursion |
16 |
MaxFiles |
10000 |
StreamMaxLength |
100M |
MaxThreads |
10–20 (en servidors) |
ReadTimeout |
180 |
IdleTimeout |
30 |
# Escaneig diari a les 02:00 del directori /home
0 2 * * * root clamscan -r /home/ --infected --log=/var/log/clamav/scan_$(date +\%F).log
# Escaneig setmanal complet (diumenge a les 03:00)
0 3 * * 0 root clamscan -r / --exclude-dir="^/proc" --exclude-dir="^/sys" \
--exclude-dir="^/dev" --infected --log=/var/log/clamav/full_scan_$(date +\%F).logexit codes)| Codi | Significat |
|---|---|
0 |
Cap amenaça trobada |
1 |
Amenaça/es trobada/es |
2 |
Error durant l’escaneig |
Útil per a scripts:
clamscan -r /home/usuari/
if [ $? -eq 1 ]; then
echo "ALERTA: virus detectat!" | mail -s "ClamAV Alert" admin@example.com
ficlamd pot consumir molta memòria
RAM (400–800 MB) en carregar totes les signatures.| Eina | Llicència | Temps real | Plataforma | Cas d’ús principal |
|---|---|---|---|---|
| ClamAV | GPL v2 | Opcional | Multi | Servidors de correu, escaneig programat |
| Sophos (free) | Propietari | Sí | Linux/Mac | Estacions de treball corporatives |
| ESET NOD32 | Propietari | Sí | Multi | Desktop/servidor corporatiu |
| Maldet (LMD) | GPL | No | Linux | Allotjament web compartit |
| Chkrootkit | GPL | No | Unix/Linux | Detecció de rootkits |
| Rkhunter | GPL | No | Unix/Linux | Detecció de rootkits |