Installation
Pakker fra Ubuntu/Zorin-repo. clamav-daemon giver baggrundsscanning; clamtk er en GUI.
sudo apt update
sudo apt install clamav clamav-daemon clamtk yara -yfreshclam
opdateringHenter og opdaterer virusdefinitioner (main.cvd, daily.cvd, bytecode.cvd). Kører normalt som service i baggrunden.
# Stop servicen først — ellers låser den databasen
sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam| Flag | Funktion |
|---|---|
-v | Verbose output under hentning |
--daemon / -d | Kør som baggrundsdaemon med periodiske checks |
--checks=N / -c N | Antal databasekontroller pr. døgn (daemon-mode) |
--datadir=PATH | Sti til databasemappe (standard /var/lib/clamav) |
--config-file=PATH | Brug alternativ freshclam.conf |
--show-progress | Vis progress-bar ved download |
--on-update-execute=CMD | Kør kommando efter vellykket opdatering |
--list-mirrors | Vis status for kendte mirrors |
clamscan
on-demand scannerStandalone scanner. Loader hele signaturdatabasen i RAM ved hver kørsel — grundig, men langsom. Brug clamdscan til hyppig scanning.
clamscan -ri ~/Downloadsclamscan -ri --bell ~mkdir -p ~/karantæne
clamscan -ri --move=~/karantæne ~sudo clamscan -ri / --exclude-dir="^/sys|^/proc"| Flag | Funktion |
|---|---|
-r / --recursive | Scan undermapper rekursivt |
-i / --infected | Vis kun inficerede filer |
-o | Undertryk OK-resultater (kun fejl/fund) |
--bell | Lydsignal ved fund |
--remove[=yes/no] | Slet inficerede filer (destruktivt — vær forsigtig) |
--move=DIR | Flyt fund til karantænemappe |
--copy=DIR | Kopiér fund til mappe (behold original) |
-l FILE / --log=FILE | Skriv scanresultat til logfil |
-d FILE/DIR / --database= | Brug egen signaturdatabase eller YARA-regel |
--exclude=REGEX | Spring filer over efter regex på sti |
--exclude-dir=REGEX | Spring mapper over efter regex |
--include=REGEX | Scan kun matchende filer |
--max-filesize=N | Spring filer over større end N (fx 100M) |
--max-scansize=N | Max data scannet pr. fil |
--max-recursion=N | Max dybde i arkiv-/komprimeringslag |
--scan-archive[=yes/no] | Scan inde i zip/rar/tar m.m. (default ja) |
--detect-pua[=yes] | Detektér Potentially Unwanted Applications |
--scan-pe / --scan-elf / --scan-ole2 | Slå scanning af specifikke filtyper til/fra |
--alert-encrypted[=yes] | Markér krypterede arkiver/dokumenter som mistænkelige |
--alert-broken[=yes] | Markér ødelagte eksekverbare filer |
--alert-macros[=yes] | Advar om makroer i Office-dokumenter |
--bytecode[=yes] | Aktivér bytecode-signaturer (avanceret detektion) |
--gen-json | Generér JSON-metadata om scannede objekter |
-z / --allmatch | Fortsæt scanning af fil efter første match |
--stdout | Send al output til stdout (også fejl) |
-V / --version | Vis version + database-info |
0 = ingen fund · 1 = malware fundet · 2 = fejl. Brugbart i scripts: clamscan -ri ~ || echo "fund!"clamdscan
daemon-klientSender scanjob til den kørende clamd-daemon, som allerede har databasen i hukommelsen. Markant hurtigere ved gentagne scans.
clamdscan -r ~/Downloadsclamdscan --multiscan --fdpass ~| Flag | Funktion |
|---|---|
-m / --multiscan | Scan parallelt med flere tråde |
--fdpass | Send fil-deskriptor til daemon (omgår permission-problemer) |
--stream | Stream filindhold til daemon over socket |
-i / --infected | Vis kun fund |
--move=DIR / --remove | Karantæne / sletning som clamscan |
--config-file=PATH | Alternativ clamd.conf |
-l FILE | Logfil |
clamd & service
daemonBaggrundsdaemonen der holder databasen i RAM og tilbyder on-access scanning (real-time overvågning af filsystemet via fanotify).
sudo systemctl enable --now clamav-daemon# kræver OnAccess* i clamd.conf
sudo clamonacc -v| clamd.conf option | Funktion |
|---|---|
OnAccessIncludePath | Mappe der real-time-overvåges |
OnAccessPrevention | Bloker adgang til inficerede filer (ikke kun alarm) |
OnAccessExtraScanning | Scan også ved create/move events |
MaxThreads | Antal scantråde i daemon |
LocalSocket | Unix-socket sti til klientkommunikation |
LogFile / LogTime | Logdestination og tidsstempling |
clamconf -nsigtool
signaturerVærktøj til at inspicere databaser og bygge egne signaturer — nyttigt når du laver custom detektion i DFIR-sager.
| Kommando | Funktion |
|---|---|
sigtool --info FILE.cvd | Vis metadata om en databasefil (version, antal sig.) |
sigtool --unpack FILE.cvd | Pak databasen ud til rå signaturfiler |
sigtool --md5 FILE | Generér MD5 hash-signatur af en fil |
sigtool --sha256 FILE | Generér SHA256 hash-signatur |
sigtool --hex-dump | Konvertér input til hex til brug i signaturer |
sigtool --find-sigs=REGEX | Find signaturer der matcher mønster i databasen |
sigtool --vba FILE | Udtræk VBA-makroer fra Office-dokumenter |
sigtool --sha256 malware.bin > min.hsb → læg .hsb i /var/lib/clamav/ og scan med clamscan -d min.hsbyara
detektionsreglerMønsterbaseret klassificering af filer og processer ud fra regler du selv skriver. Standalone YARA understøtter alle moduler (pe, elf, hash, math, cuckoo m.fl.) — i modsætning til ClamAV's indbyggede YARA-støtte.
yara -r regler.yar ~/sagyara -r -s regler.yar ~/sagyarac regler.yar regler.cmp
yara -r regler.cmp ~/sagsudo yara regler.yar $(pidof mistænkt_proces)yara -r signature-base/yara/ ~/sag 2>/dev/nullYARA flag-reference
Komplet flagoversigt for yara CLI.
| Flag | Funktion |
|---|---|
-r / --recursive | Scan mapper rekursivt |
-s / --print-strings | Vis de strenge der matchede |
-m / --print-meta | Vis metadata fra reglen (author, ref, desc) |
-g / --print-tags | Vis regel-tags |
-e / --print-namespace | Vis namespace for matchet regel |
-L / --print-stats | Vis statistik efter scanning |
-c / --count | Vis kun antal matches pr. regel |
-d VAR=VALUE | Definér ekstern variabel til reglen |
-t TAG / --tag=TAG | Vis kun regler med dette tag |
-i ID / --identifier= | Kør kun reglen med dette navn |
-n / --negate | Vis filer der ikke matcher |
-w / --no-warnings | Undertryk advarsler |
-f / --fast-scan | Hurtig scan (stop ved første match pr. streng) |
-x MODULE=FILE | Send moduldata (fx cuckoo report) til reglen |
-p N / --threads=N | Antal tråde til parallel scanning |
-a N / --timeout=N | Afbryd scanning efter N sekunder |
-z N / --max-strings-per-rule | Loft over strenge pr. regel |
--max-process-memory-chunk | Chunk-størrelse ved proces-scanning |
-X N / --skip-larger=N | Spring filer større end N bytes over |
--scan-list | Behandl input som fil med liste af stier |
-v / --version | Vis YARA-version |
rule navn { meta: … strings: $a = "x" condition: $a } — sektionerne meta, strings og condition. Moduler importeres øverst med import "pe".YARA i ClamAV
integrationClamAV kan indlæse YARA-regler nativt sammen med sine egne signaturer.
sudo cp regler.yar /var/lib/clamav/
# eller scan ad hoc med -d:
clamscan -r -d regler.yar ~/sagpe, hash, math og eksterne variabler virker ikke, og regler der bruger dem afvises ved indlæsning. Til fuld funktionalitet — herunder signature-base — brug standalone YARA.Automatisering
systemd / cronPlanlæg ugentlig scanning og logging.
# crontab -e → kør hver søndag kl. 02:00
0 2 * * 0 clamdscan -r --fdpass /home \
-l /var/log/clamav/weekly-$(date +\%F).log -i#!/usr/bin/env bash
TARGET="${1:-$HOME}"
TS=$(date +%F_%H%M)
clamdscan -r --fdpass -i "$TARGET" | tee "clam_$TS.log"
yara -r -m ~/yara/signature-base/yara/ "$TARGET" \
2>/dev/null | tee "yara_$TS.log"