Intelligente Lösungen
in neuer Dimension

Downloads automatisch Scannen mit CLAMAV

Üblicherweise lade ich keine Dateien vom Internet herunter. Wenn ich Dateien herunterlade, dann führe ich einen manuellen Virencheck durch und speichere das Testergebnis zur Dokumentation ab. Das ist etwas aufwändig.

Hier beschreibe ich, wie ich meinen Rechner so aufsetze, dass alle Dateien im Verzeichnis “Downloads” automatisch getestet werden mit CLAMAV.

Vorbereitungen

Diese Pakete müssen installiert werden:

  • clamav
  • clamav-base
  • clamav-daemon
  • clamav-freshclam

Unter Ubuntu-20.04:

1
2
3
4
5
6
7
sudo apt update
sudo apt upgrade
sudo apt install\
  clamav \
  clamav-base \
  clamav-daemon \
  clamav-freshclam

Konfiguration anpassen

Datei: /etc/clamav/clamd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
uli@ulicsl:~$ diff -u /etc/clamav/clamd.conf.orig /etc/clamav/clamd.conf
--- /etc/clamav/clamd.conf.orig  2021-06-19 09:09:26.822414992 +0200
+++ /etc/clamav/clamd.conf   2021-06-19 09:28:31.435594911 +0200
@@ -84,4 +84,7 @@
 Bytecode true
 BytecodeSecurity TrustSigned
 BytecodeTimeout 60000
-OnAccessMaxFileSize 5M
+# 4192M is too high
+OnAccessMaxFileSize 4000M
+OnAccessPrevention yes
+OnAccessIncludePath /home/uli/Downloads
+OnAccessExcludeUname clamav

Patterns funktionieren meinem ersten Eindruck nach leider nicht, also sowas geht nicht:

1
2
3
...
OnAccessIncludePath /home/*/Downloads
...

Prozesse starten

1
2
3
uli@ulicsl:~$ sudo systemctl restart clamav-daemon
uli@ulicsl:~$ sudo systemctl status clamav-daemon
uli@ulicsl:~$ sudo clamonacc

Tests

Kommandozeile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# "Virendatei" anlegen
uli@zlicsl:~$ echo >~/Downloads/eicar.txt 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'

uli@ulicsl:~$ cat ~/Downloads/eicar.txt
cat: /home/uli/Downloads/eicar.txt: Vorgang nicht zulässig

uli@ulicsl:~$ cp ~/Downloads/eicar.txt /tmp
cp: '/home/uli/Downloads/eicar.txt' kann nicht zum Lesen geöffnet werden: Vorgang nicht zulässig

uli@ulicsl:~$ mv ~/Downloads/eicar.txt /tmp
mv: '/home/uli/Downloads/eicar.txt' kann nicht zum Lesen geöffnet werden: Vorgang nicht zulässig

# Logs sichten
uli@ulicsl:~$ sudo tail /var/log/clamav/clamav.log
Sat Jun 19 09:33:30 2021 -> XMLDOCS support enabled.
Sat Jun 19 09:33:30 2021 -> HWP3 support enabled.
Sat Jun 19 09:33:30 2021 -> Self checking every 3600 seconds.
Sat Jun 19 09:34:29 2021 -> /home/uli/Downloads/eicar.txt: Eicar-Signature(69630e4574ec6798239b091cda43dca0:69) FOUND

Mäuseschubser

Zugriffe via Dateimanager/Nautilus/Nemo werden mit dieser Fehlermeldung quittiert:

EICAR-Fehlermeldung

Potential für Verbesserungen

  • Konfigurationsdatei clamd.conf automatisch erweitern
  • Dabei: Downloads-Verzeichnisse von allen Benutzern einbeziehen
  • clamonacc als Service hinterlegen
  • clamonacc automatisch starten
  • Tests
    • Virus in Einzeldatei –> kein Problem, wird erkannt
    • Virus in kleiner TAR-Datei –> kein Problem, wird erkannt
    • Virus in kleiner TAR.GZ-Datei –> kein Problem, wird erkannt
    • Virus in großer TAR-Datei –> wird nicht erkannt (als Beispiel verwende ich ideaIC.tar.gz, dekomprimiere es und füge eicar.txt hinzu)
      • clamscan --max-filesize=4000M --max-scansize=4000M idea.tar … läuft grob 10 Minuten, findet die Virus-Datei aber nicht
    • Virus in großer TAR.GZ-Datei –> wird nicht erkannt (als Beispiel verwende ich ideaIC.tar.gz und füge eicar.txt hinzu)

Notizen

Virus in großer TAR-Datei

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
uli@ulicsl:/tmp$ clamscan  --max-filesize=4000M --max-scansize=4000M idea.tar
LibClamAV Warning: Bytecode run timed out in interpreter after 5000 opcodes
LibClamAV Warning: Bytecode 13 failed to run: CL_ETIMEOUT: Time limit reached
/tmp/idea.tar: OK

----------- SCAN SUMMARY -----------
Known viruses: 8540340
Engine version: 0.103.2
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 1869.50 MB
Data read: 1685.96 MB (ratio 1.11:1)
Time: 493.030 sec (8 m 13 s)
Start Date: 2021:06:19 10:09:48
End Date:   2021:06:19 10:18:01

uli@ulicsl:/tmp$ tar tvf idea.tar |grep eicar
-rw-rw-r-- uli/uli          69 2021-06-19 09:54 idea-IC-211.7442.40/eicar.txt

uli@ulicsl:/tmp$ clamscan  --max-filesize=4000M --max-scansize=4000M idea-IC-211.7442.40/eicar.txt
/tmp/idea-IC-211.7442.40/eicar.txt: Eicar-Signature FOUND

----------- SCAN SUMMARY -----------
Known viruses: 8540340
Engine version: 0.103.2
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 10.482 sec (0 m 10 s)
Start Date: 2021:06:19 10:20:48
End Date:   2021:06:19 10:20:59

uli@ulicsl:/tmp$ clamscan  --max-filesize=4000M --max-scansize=4000M -r idea-IC-211.7442.40
/tmp/idea-IC-211.7442.40/lib/xstream.jar: OK
/tmp/idea-IC-211.7442.40/lib/cds/classesLogAgent.jar: OK
...

Links

Historie und Anmerkung

  • 2021-06-19: Erste Version