Dies ist eine alte Version des Dokuments!
ClamAV installieren
Clamav ist ein kostenfreier Opensource Antviren Scanner. Dieser Scanner bringt einen einfachen onaccess Scan mit, welcher zuerts konfiguriert werden muss.
Installation
apt install clamav clamav-daemon clamav-freshclam
Der erste Start
Zuerst muss freshclam Virensignaturen bekommen. Dazu muss zunächst der Freshclam dienst beendet werden
systemctl stop clamav-freshclam
Ein Update per Hand durchführen
freshclam
Freshclam Dienst für automatische Aktualisierungen wieder neu starten
systemctl start clamav-freshclam
Status von ClamAV prüfen
systectl status clamav-freshclam
Von welchem Tag sing meine Virensignaturen
sigtool --info /var/lib/clamav/daily.cld
Dateien und Ordner überprüfen
Um Dateien und Ordner zu prüfen wird das Tool clamscan genutzt.
Datei überprüfen
clamscan /home/User1/Datei1
Mehrere Dateien überprüfen
clamscan /home/User1/Datei2 /home/User2/Datei2 Datei3 ... DateiN
Manchmal treten Probleme auf weil der clamav Benutzer nicht genügend Rechte besitzt um die Datei oder den Order zu scannen.
Hierbei hilft die Option –fdpass. Damit verwendet clamscan die Rechte die Ihm durch den Benutzer gewährt werden.
Optionen
| -i –infected | Gibt nur infizierte Dateien aus und nicht alle |
| –remove | Löscht infinzierte Dateien sofort! |
| –move=Verzeichnis | Verschiebt alle infizierten Dateien in ein Verzeichnis (Quarantäne) |
| -r –recursive | Durchsucht auch alle Unterordner |
| –no-archive | Archivdateien werden nicht gescannt |
On Access Scan
Manchmal macht apparmor Probleme und verhindert ein Ausführen von einem OnAccess Scan durch ClamAV. Hierbei kann Apparmor für ClamAV in dem complain Modus gesetzt werden. Dazu wird das Paket apparmor-utils benötigt.
apt install apparmot-utils
Apparmor in den complain Modus setzten
aa-complain /usr/sbin/clamd
Die Konfiguration für ClamAV muss hier angepasst werden
nano /etc/clamav/clamav.conf
... # Maximale Dateigröße OnAccessMaxFileSize 2000M # SOll die Datei geblockt werden wenn entwas gefunden wurde OnAccessPrevention no # Diese Ordner werden überprüft OnAccessIncludePath /home OnAccessIncludePath /tmp OnAccessIncludePath /var/www # Keine Dateien prüfen die root ider clamav gehören OnAccessExcludeUname clamav OnAccessExcludeRootUID true # Temp Ordner für clamav TemporaryDirectory /var/clamav/tmp ...
ClamAV Daemon neu starten
systemctl clamav-daemon
Ein kompletter Systemscan durch eintragen von OnAccessIncludePath / ist nicht möglich, da ClamAV z.B. nicht auf socket Dateien und dergleichen zugreifen kann. Bei so einer Eintragung wird der Dienst nicht starten.
Stattdessen sollte man sich überlegen, welche Einfallstore für Schadsoftware existieren.
Hier wären die Home Verzeichnisse der Benutzer, im speziellen das Downloadverzeichnis sowie /tmp wo z.B. vom Browser automatisch Daten abgelegt werden.
Um weiteren Problemen vorzugreifen ist es empfehlenswer ein separaten tmp Ordner für ClamAV zu erstellen und zu konfigurieren.
mkdir -p /var/clamav/tmp && chown -R clamav:root /var/clamav && chmod 770 /var/clamav
Nach der Konfiguration kann der onAccess gestartet werden
clamonacc
Ein automatischen start kann man mittels eines Systemd Daemon erreichen. Dazu muss ein entsprechender Service definiert werden.
nano /etc/system/system.d/clamonacc.service
# /etc/systemd/system/clamonacc.service [Unit] Description=ClamAV On Access Scanner Requires=clamav-daemon.service After=clamav-daemon.service syslog.target network.target [Service] Type=simple User=root ExecStart=/usr/bin/clamonacc --fdpass -F --log=/var/log/clamav/clamonacc --move=/root/quarantine Restart=on-failure RestartSec=120s [Install] WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable clamonacc.service
systemctl start clamonacc.service
Hier wird als root der clamonacc Service gestartet. Die Meldungen werden in einem eigenen Logfile /var/log/clamav/clamonacc gespeichert. Infizierte Dateien werden nach /root/quarantine verschoben. Hier muss sichergestellt werden, dass das Verzeichnis existiert.
mkdir -p /root/quarantine && chown root: /root/quarantine && chmod 750 /root/quarantine
Test
Um einen Virenscanner gefahrlos testen zu können gibt des das EICAR Testfile. Es ist eine Zeichenfolge auf die jeder Virenscanner anspringen muss. Hierzu wird einfach eine Datei mit dem passenden Inhalt erstellt.
echo "X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*" > /tmp/eicartestfile
Es sollte sofort der Virenscanner anspringen und die Datei in die Quarantäne verschieben. Eine Meldung sollte im Logfile unter /var/log/clamav/clamonacc erscheinen.
Fehlersuche
Der onAccess Scan kann auch gedebugged werden, indem der Befehl
clamonacc --foreground --verbose
ausgeführt wird