Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Linux 01.10.2026 · 9 min Lesezeit

KeyHelp: Virenscanner ClamAV für E-Mails und Webspaces einrichten und mit EICAR prüfen

So stellen Sie in KeyHelp die Virenprüfung für E-Mails und den geplanten Dateiscan der Webspaces ein, testen beides mit der EICAR-Datei und wissen, wie viel Arbeitsspeicher ClamAV belegt.

Geprüft am 01.10.2026 · für KeyHelp 26.1.1

Mit KI erstellt – redaktionelle Prüfung ausstehend

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Illustration eines Hosting-Panels mit der Überschrift KeyHelp ClamAV und den Karten Mail, Dateien, Scan

KeyHelp bringt den Virenscanner ClamAV gleich bei der Installation mit und nutzt ihn an zwei Stellen: Eingehende E-Mails prüft der Spamfilter Rspamd über den ClamAV-Dienst, Dateien in den Webspaces prüft ein geplanter Scan. Beide Teile werden auf unterschiedlichen Seiten eingestellt und verhalten sich sehr verschieden. Diese Anleitung zeigt, was die Schalter technisch bewirken, wie Sie beide Wege mit der harmlosen EICAR-Testdatei prüfen und wie viel Arbeitsspeicher ClamAV im Test tatsächlich belegt hat. Sie richtet sich an Administratoren eines Servers wie in KeyHelp installieren und absichern. Die Spam-Einstellungen von Rspamd behandelt die Anleitung Rspamd-Spamfilter einrichten, hier geht es nur um Viren. Getestet haben wir mit KeyHelp 26.1.1 auf Debian 12.

Voraussetzungen

  • Ein KeyHelp-Server, getestet mit KeyHelp 26.1.1 (Build 3698) auf Debian 12.15 mit 4 GB RAM. ClamAV 1.4.3 war nach der Installation bereits vorhanden.
  • Administratorzugang zum Panel und SSH-Zugang als root für die Prüfung.
  • Ein Testpostfach auf dem Server, im Beispiel info@kunde1.example.de.
  • Die EICAR-Testdatei: laut EICAR eine 68 Byte lange Zeichenkette, die unterstützende Virenscanner als Testvirus erkennen. Sie ist kein echtes Schadprogramm.

Schritt 1: Ausgangszustand prüfen

Im Grundzustand ist die Mailprüfung aktiv. KeyHelp hat dazu die Datei /etc/rspamd/local.d/antivirus.conf angelegt, die Rspamd mit dem ClamAV-Dienst verbindet:

grep -v "^#" /etc/rspamd/local.d/antivirus.conf | grep .
enabled = true
clamav {
    type = "clamav";
    servers = "/run/clamav/clamd.ctl";
    symbol = "CLAM_VIRUS";
    log_clean = true;
}

Den Arbeitsspeicher des Dienstes clamd zeigt ps in KiB. Im Test war es rund 1 GB:

ps -o rss,cmd -C clamd
  RSS CMD
1018092 /usr/sbin/clamd --foreground=true

Verifizieren: systemctl is-active clamav-daemon meldete im Test „active“. Der Aktualisierungsdienst clamav-freshclam war dagegen „inactive“ und „disabled“. Die Signaturen aktualisierte KeyHelp im Test zu Beginn jedes Dateiscans (Abschnitt „UPDATE VIRUS DATABASE“ im Scan-Log, siehe Schritt 5 und „Typische Fehler“).

Schritt 2: E-Mail-Virenprüfung einstellen

Öffnen Sie unter „Konfiguration“ die Seite „E-Mail-Spam- & Virenschutz“. Dort steht der Abschnitt „Virenschutz-Einstellungen“ mit einer Option, „E-Mail-Virenprüfung“. KeyHelp warnt dort: „Bitte beachten Sie, dass Ihr System über mindestens 2,00 GiB Speicher verfügen sollte, damit die Funktion ordnungsgemäß funktioniert, andernfalls können E-Mails in der E-Mail-Warteschlange zurückgehalten werden.“

KeyHelp Konfiguration E-Mail-Spam- und Virenschutz, Abschnitt Virenschutz-Einstellungen mit aktivierter E-Mail-Virenprüfung und Hinweis auf 2 GiB Speicher
Die einzige Viren-Option für E-Mails: „E-Mail-Virenprüfung“

Was der Haken bewirkt, haben wir durch Abschalten geprüft. Nach „Speichern“ meldete KeyHelp „Die Einstellungen wurden aktualisiert. Die Änderungen werden in wenigen Augenblicken wirksam.“ Bei der Kontrolle gut eine Minute später stand in antivirus.conf die Zeile enabled = false, und der ClamAV-Dienst war gestoppt und deaktiviert:

enabled = false
inactive
disabled

Der belegte Arbeitsspeicher der VM (Spalte „used“ von free -m) lag vor dem Abschalten bei 1839 MB und danach bei 868 MB, im Test also rund 1 GB weniger. Beim erneuten Einschalten lief der Dienst wieder.

Verifizieren: Nach dem Wiedereinschalten meldete systemctl is-active clamav-daemon erneut „active“ und systemctl is-enabled clamav-daemon clamav-freshclam „enabled“ und „disabled“.

Schritt 3: Mailprüfung mit EICAR testen

Für den Test haben wir mit einem kleinen Python-Skript (smtplib) zwei Mails per SMTP vom Server selbst an info@kunde1.example.de geschickt, eine ohne Anhang und eine mit der EICAR-Datei als Anhang eicar.com. Beide nahm der Server an, keine wurde abgewiesen. Rspamd fand den Testvirus, wie das Log /var/log/rspamd/rspamd.log zeigt:

clamav: result - virusfound: "Eicar-Test-Signature - score: 1"

Im Postfach kamen beide Mails an. Die verseuchte steht im Posteingang mit geändertem Betreff:

Subject: Test ohne Anhang
Subject: ***VIRUS*** Test EICAR

Der Grund steht in der von KeyHelp erzeugten Datei /etc/rspamd/local.d/force_actions.conf. Ein Fund (Symbol CLAM_VIRUS) führt dort zur Aktion „rewrite subject“, nicht zu „reject“:

VIRUS {
        action = "rewrite subject";
        expression = "CLAM_VIRUS";
        subject = "***VIRUS*** %s";

Für einen Prüffehler (Symbol CLAM_VIRUS_FAIL) sieht dieselbe Datei den Vorsatz „***UNCHECKED***“ vor. Diesen Fall konnten wir nicht auslösen: Als wir clamav-daemon mit systemctl stop anhielten, meldete systemd „Warning: Stopping clamav-daemon.service, but it can still be activated by: clamav-daemon.socket“. Die nächste Testmail startete den Dienst über den Socket wieder und kam erneut als „***VIRUS*** Test clamd gestoppt“ an.

Verifizieren: Wir haben die Prüfung abgeschaltet und dieselbe EICAR-Mail noch einmal geschickt. Sie landete ohne Vorsatz im Ordner „Junk“ (Kopfzeile X-Spam: Yes), weil Rspamd die Anhangsendung .com schon allein hoch bewertet (Symbol MIME_BAD_EXTENSION mit 8 Punkten im ersten Lauf). Als Virus erkannt wurde sie dann nicht mehr.

Schritt 4: Dateiscan für Webspaces einrichten

Den Scan der Dateien stellen Sie unter „Konfiguration“ > „Antivirus-Scanner“ ein. Die Seite hat „Ist aktiviert“, „Aktion im Falle einer Infektion“ mit den Optionen „Keine Aktion / Nur melden“, „Infektion in Quarantäne verschieben“ und „Infektion löschen (nicht empfohlen)“, den Haken „Scan-Bericht per E-Mail senden, auch wenn keine Infektionen gefunden wurden“ sowie die Felder „Verzeichnisse überprüfen“ und „Pfade von Überprüfung ausschließen“. In „Verzeichnisse überprüfen“ standen im Test /home/users/, /tmp/ und /var/tmp/.

KeyHelp Konfiguration Antivirus-Scanner mit aktiviertem Scanner, Aktion Infektion in Quarantäne verschieben und den Pfaden /home/users/, /tmp/ und /var/tmp/
Antivirus-Scanner mit Quarantäne als Aktion

Wählen Sie „Infektion in Quarantäne verschieben“. KeyHelp blendet dazu ein: „Infizierte Dateien werden in das Verzeichnis /var/spool/clamav/quarantine/ verschoben.“ Darunter folgt „Zusätzliche Virensignaturen“ mit „Beste Erkennungsrate“, „Gute Erkennungsrate“ und „Benutzerdefinierte Konfiguration“. Die Zusatzsignaturen trägt KeyHelp als DatabaseCustomURL in /etc/clamav/freshclam.conf ein, im Test 18 Zeilen, unter anderem mit Adressen eines Sanesecurity-Spiegels:

grep -c ^DatabaseCustomURL /etc/clamav/freshclam.conf
18

Wann der Scan läuft, legt die Seite „Wartungsintervalle“ fest. Die Zeile „Virenprüfung durchführen“ stand im Test auf „7 Tage“ im Zeitfenster „von 01 bis 02 Uhr“. Wie Sie Intervalle ändern und Jobs von Hand starten, zeigt die Anleitung Wartungsintervalle und keyhelp run.

Verifizieren: Nach „Speichern“ erschien „Die Einstellungen wurden aktualisiert.“, und das Feld zeigte weiter „Infektion in Quarantäne verschieben“.

Schritt 5: Dateiscan mit EICAR testen

Wir haben die EICAR-Zeichenkette als rechnung.pdf in den Ordner /home/users/kunde1/www/upload/ gelegt und den Scan sofort gestartet:

keyhelp run avscan
---------- SCAN LOCATIONS ----------
/home/users
/tmp
/var/tmp

----------- SCAN SUMMARY -----------
Known viruses: 3669237
Engine version: 1.4.3
Scanned directories: 45
Scanned files: 7
Infected files: 1
Time: 11.336 sec (0 m 11 s)

-- MOVE INFECTIONS TO QUARANTINE ---
Move file: /home/users/kunde1/www/upload/rechnung.pdf -> /var/spool/clamav/quarantine/rechnung.pdf.QUARANTINE-6abec1267d435 [ok]

--------------- END ----------------
Status: Success

Die Endung .pdf hat ClamAV nicht getäuscht. Erkannt wurde die Datei über eine der Zusatzsignaturen, das Log /var/log/keyhelp/cronjob/avscan.log nennt:

/home/users/kunde1/www/upload/rechnung.pdf: winnow.malware.test.eicar.com.UNOFFICIAL FOUND

Den Bericht schickt KeyHelp per Mail an die Adresse des Administrators. Der Betreff begann im Test mit „[VIRUS]“, bei abgebrochenen Läufen mit „[FEHLER]“:

Subject: =?us-ascii?Q?[VIRUS]_Antiviren-Scan_abgeschlossen_|_Server:_?=

FTP-Upload wird nicht geprüft

Danach haben wir die EICAR-Zeichenkette als /tmp/ftp-eicar.txt angelegt und als Kunde per FTP über TLS nach www hochgeladen (vom Server selbst an 127.0.0.1). Der FTP-Server nahm die Datei mit Code 226 an, sie lag danach unverändert im Webspace. In der Konfiguration des FTP-Servers fand grep -r -i -l clam /etc/proftpd/ keinen Eintrag. Erst der nächste erfolgreiche Scan verschob die hochgeladene Datei und ihre Quelldatei in /tmp:

Move file: /home/users/kunde1/www/ftp-eicar.txt -> /var/spool/clamav/quarantine/ftp-eicar.txt.QUARANTINE-6abec46376ca4 [ok]
Move file: /tmp/ftp-eicar.txt -> /var/spool/clamav/quarantine/ftp-eicar.txt.QUARANTINE-6abec46376cd9 [ok]

Verifizieren: Die Quarantäne liegt unter /var/spool/clamav/quarantine/ (Verzeichnis nur für root zugänglich). Eine JSON-Datei merkt sich den Ursprungsort jeder Datei, sodass Sie eine Fehlmeldung von Hand zurückverschieben können. Nach allen Tests stand darin:

cat /var/spool/clamav/quarantine/_quarantine_mapping_file.json; echo
[{"threat":"rechnung.pdf.QUARANTINE-6abec1267d435","origin":"\/home\/users\/kunde1\/www\/upload\/rechnung.pdf"},{"threat":"ftp-eicar.txt.QUARANTINE-6abec46376ca4","origin":"\/home\/users\/kunde1\/www\/ftp-eicar.txt"},{"threat":"ftp-eicar.txt.QUARANTINE-6abec46376cd9","origin":"\/tmp\/ftp-eicar.txt"}]

Typische Fehler

Scan bricht mit „Abort, anti virus scanner failed.“ ab

Im Test aktualisierte jeder Scan zuerst die Signaturen. Nachdem wir die Seite „Antivirus-Scanner“ mehrmals gespeichert hatten, liefen über einige Minuten wiederholt freshclam-Prozesse, und das Log /var/log/keyhelp/cronjob/update.log verzeichnete achtmal die Aufgabe „update_virus_signatures“. Ein in dieser Zeit gestarteter Scan scheiterte schon beim Update („Status: Failed“ unter „UPDATE VIRUS DATABASE“) und endete mit „Status: Abort, anti virus scanner failed.“. Nachdem kein freshclam-Prozess mehr lief (pgrep -a freshclam), lief der Scan normal durch.

Relativer oder falscher Pfad wird ohne Warnung gespeichert

KeyHelp hat die Eingaben im Test nicht beanstandet. home/users ohne führenden Schrägstrich wurde im Test still zu /home/users, ein nicht vorhandener Pfad /home/gibtesnicht/ wurde ebenso mit „Die Einstellungen wurden aktualisiert.“ übernommen. Prüfen Sie nach jeder Änderung im Scan-Bericht den Abschnitt „SCAN LOCATIONS“.

Verseuchte Mail landet trotzdem im Postfach

Das ist in KeyHelp 26.1.1 das vorgesehene Verhalten, siehe Schritt 3. Wer verseuchte Mails gar nicht zustellen möchte, findet dafür im Panel keine Option. Die Datei force_actions.conf trägt im Kopf den Hinweis DO NOT CHANGE ANYTHING IN THIS FILE, Änderungen gehen beim nächsten Update verloren. Eigene Änderungen dort haben wir deshalb nicht getestet.

Häufige Fragen

Wie viel Arbeitsspeicher braucht ClamAV?

Im Test belegte clamd bei drei Messungen zwischen 1005032 und 1033376 KiB, also rund 1 GB. KeyHelp selbst nennt im Panel 2 GiB als Mindestausstattung für die Mailprüfung.

Prüft KeyHelp Dateien schon beim Hochladen?

Im Test nicht: Die Datei per FTP wurde angenommen und lag bis zum Scan im Webspace. Gefunden wurde sie erst durch keyhelp run avscan, der denselben Job wie der geplante Scan startet. Uploads über den Datei-Manager des Panels und über PHP-Formulare haben wir nicht getestet.

Hängt der Dateiscan von der Mailprüfung ab?

Der Dateiscan nutzt laut Bericht „Engine version: 1.4.3“. Ob er auch läuft, während die Mailprüfung und damit clamav-daemon abgeschaltet ist, haben wir nicht geprüft.

Was ist „Infektion löschen“?

Laut Panel nicht empfohlen. Wir haben es nicht getestet. Mit Quarantäne bleibt eine Fehlmeldung umkehrbar.

Testumfang

Wir haben Mail- und Dateiprüfung mit der EICAR-Testdatei in einer VM mit KeyHelp 26.1.1 durchgespielt, die Mails per SMTP vom Server selbst eingeliefert. Auffällig: Verseuchte Mails werden zugestellt, nur der Betreff wird markiert, und Dateien prüft KeyHelp erst beim geplanten Scan. Nicht geprüft haben wir echte Schadsoftware, Mails von außen, den Datei-Manager-Upload, die Wirkung von „Pfade von Überprüfung ausschließen“ und die Option „Infektion löschen“. Testen Sie Ihre Einstellungen selbst mit EICAR.

Fazit

ClamAV ist in KeyHelp sofort aktiv, kostet aber rund 1 GB Arbeitsspeicher. Die Mailprüfung markiert Viren nur im Betreff, deshalb lohnt ein Hinweis an Ihre Kunden, Mails mit „***VIRUS***“ zu löschen. Für Webspaces stellen Sie die Aktion auf Quarantäne und kürzen bei Bedarf das Intervall, denn zwischen zwei Scans liegt eine hochgeladene Schaddatei unbemerkt im Webspace. Kontrollieren Sie die Pfade im Scan-Bericht, weil KeyHelp falsche Eingaben im Test ohne Warnung übernommen hat.

Weiterführende Anleitungen und Quellen

KeyHelpClamAVVirenscannerRspamdE-MailSicherheit