Mit dem kostenlosen ClamAV-Plugin für FORMCYCLE besteht die Möglichkeit, hochgeladene Dateien auf Viren zu scannen. Hierfür stellt dieses Plugin eine Verbindung zu einem ClamAV-Daemon Service via TCP her.
Funktionalität
- Sofortiger Virenscan
- Jede Datei wird direkt nach Ihrem Upload gescannt.
Der verwendete ClamAV-Daemon Service kann weder durch dieses Plugin konfiguriert noch gestartet werden.
Installation
Die Installation des Plugins ist über die dafür vorgesehene Verwaltungsoberfläche von Plugins durchzuführen. Hierbei muss lediglich die entsprechende Jar-Datei eingespielt werden.
Das ClamAV-Plugin scannt Dateien in Backend und Fronted. Um immer für alle Benutzer verfügbar zu sein, ist es ratsam, das Plugin als System-Plugin zu installieren. Dies umgeht auch mögliche Probleme mit doppelt belegten Ports und ermöglicht eine zentrale Konfiguration.
Konfiguration Plugin
Nach dem Speichern wird automatisch ein Ping-Test durchgeführt. Falls dieser fehlschlägt wird eine entsprechende Meldung angezeigt. In diesem Fall werden alle Uploads im Backend oder im Formular als fehlerhaft markiert - das Plugin sollte erst einmal deaktiviert werden und eine funktionierende Verbindung aufgebaut werden.
Folgende Konfigurationsparameter gibt es:
- host (Erforderlich)
- Standardwert: 127.0.0.1. Gibt die zu verwendende IP-Adresse des ClamAV-Daemon Service an. Der Standardwert ist 127.0.0.1 und verwendet damit einen lokalen ClamAV-Daemon Service.
- port (Erforderlich)
- Standardwert: 3310. Gibt den zu verwendenden Port des ClamAV-Daemon Service an. Der Standardwert sollte nur geändert werden, falls dieser Port nicht zu Verfügung steht
os (Optional)
Standardwert: JVM_PLATFORM. Betriebssystem, auf dem der ClamAV-Daemon-Dienst läuft. Dieser Wert ist nur relevant, wenn das Betriebssystem von formcycle und das des ClamAV-Daemon-Dienstes unterschiedlich sind. Für Linux oder MacOS geben Sie "UNIX" ein, für Windows "WINDOWS". Wenn beide auf dem gleichen Betriebssystem laufen, können Sie diesen Wert leer lassen oder "JVM_PLATFORM" verwenden.
ClamAV ist dafür gedacht, auf Linux basierten Servern zu laufen. Deswegen kann eine anderweitige Unterstützung unserseits nicht garantiert werden.
Konfiguration ClamAV
Im folgenden Abschnitt wird auf Installation und Konfiguration von ClamAV eingegangen. Unser empfohlenes Szenario ist FORMCYCLE und den ClamAV-Daemon Service auf dem selben Server zu installieren.
Installation
Die Installation von ClamAV ist betriebssystemabhängig. Bei bestimmten Betriebssystem stehen bereits Pakete zur Verfügung. Üblicherweise muss aber bei aktuellen Distributionen erst über Änderungen an Konfigurationsdateien aktiviert werden, dass der ClamAV-Daemon auf localhost auf einem Port (Standard: 3310) horcht. Für die dazu nötige Konfiguration erkundigen Sie sich bitte beim jeweiligen Paketbetreuer oder generell im Internet.
Prüfen der Verfügbarkeit des Service
Damit dieses Plugin den ClamAV-Daemon Service ansprechen kann, muss der Service an der richtigen Stelle zuhören - in diesem Fall unter 127.0.0.1:3310. Das kann im Terminal der Servers überprüft werden.
Mithilfe von netstat kann der TCP Socket vom ClamAV-Daemon Service untersucht werden:
sudo netstat -anp | grep -E "(clam)"
Falls keine Zeile beginnend mit tcp zu sehen ist oder eine abweichende host:port Kombination als 127.0.0.1:3310 zu erkennen ist, muss die Konfiguration erneut geprüft werden.
Beispielkonfiguration
Ein beispielhafte Konfiguration mit den oben genannten Standardwerten:
Verwendung
Sobald eine Virensignatur erkannt wurde, ist folgende Meldung zu sehen:
Testdatei
Eine gängige Methode zur Überprüfung von Virenscannern ist die eicar.com Datei.
An beliebiger Stelle kann diese Tastdatei hochgeladen werden und nach erfolgreicher Konfiguration ist die oben dargestellte Meldung zu sehen.
Logging
ClamAV erstellt logs, welche unter /var/log/clamav/clamav.log zu finden sind.
- Nach dem hochladen der eicar.com Testdatei ist zum Beispiel folgender Eintrag in clamav.log zu sehen:
- Wed May 25 10:10:21 2022 -> instream(127.0.0.1@32984): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND
FORMCYCLE logs sind hierfür unter /formcycle-data/formcycle7/logs zu finden.
- Nach dem hochladen der eicar.com Testdatei ist zum Beispiel folgender Eintrag in formcycle-errors-log zu sehen:
- [WARN] [25-05-22 10:10:21,192] [ajp-nio-127.0.0.1-8009-exec-43] (MalwareScanner.java:211) - Scanner detected malware signature for file : {stream=[Win.Test.EICAR_HDB-1]}
- [ERROR] [25-05-22 10:10:21,207] [ajp-nio-127.0.0.1-8009-exec-43] (VirusScannerService.java:71) - Detected a virus
Versionshistorie
Version 2.0.1
- Fix und Change aus Version 1.0.6.
Version 2.0.0
- Inkompatibel: Erfordert mindestens Version 8 von formcycle.
- Fix: Wenn beim Speichern des Plugin die Prüfung auf die Erreichbarkeit des ClamAV-Service nicht erfolgreich ist, wird dies auch dann korrekt als Warnung angezeigt, wenn das Plugin als System-Plugin installiert ist.
Version 1.0.6
- Fix: Fehler bei der Fehlerbehandlung behoben.
- Change: Virenscan über ClamAV ist nun auch für Windows oder JVM Plattformen möglich.
Version 1.0.5
- Fix: Detailliertere Log-Ausschrift, wenn ClamAV fehlgeschlagen ist.
Version 1.0.4
- Fix: Ein Fehler beim Virenscan auf dem Frontend-Server wurde behoben.
Version 1.0.3
- Change: Das Plugin wird auch auf den Frontend-Server übertragen, wenn ein solcher verfügbar ist. Somit kann auch auf Frontend-Server nach Viren gesucht werden.
Version 1.0.2
- Entfernen: Eigenschaft für Pfad-Scanning, nur noch InputStream
Version 1.0.1
- Fix: Überspringen der Überprüfung, wenn das Betriebssystem nicht UNIX ist, anstatt die Datei als Virus zu erkennen
Version 1.0.0
- Initialer Release
War dieser Artikel hilfreich?
Das ist großartig!
Vielen Dank für das Feedback
Leider konnten wir nicht helfen
Vielen Dank für das Feedback
Feedback gesendet
Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren