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
Um ClamAV auf einem Server zu installieren, sollten folgende Befehle auf dem Server eingegeben werden.
ClamAV ist das Programm, welches Dateien auf Viren scannen kann und wird für die Verwendung von ClamAV-Daemon benötigt.
Aktualisieren der package list:
sudo apt-get update
Installiere ClamAV und ClamAV-Daemon:
sudo apt-get install clamav clamav-daemon -y
Aktualisieren der Virensignatur-Datenbank
freshclam wird mit ClamAV automatisch installiert und wird zum aktualisieren der Virensignatur Datenbank genutzt.
Beenden des automatischen freshclam Prozess:
sudo systemctl stop clamav-freshclam
Manuelles aktualisieren der Virensignatur Datenbank:
sudo freshclam
Konfiguration ClamAV-Daemon
ClamAV-Daemon ist der auf dem Server im Hintergrund laufende Prozess, welcher zum Virusscan angesprochen wird. Das geschieht via TCP und muss entprechend konfiguriert werden.
Dafür soll die Konfigurationsdatei unter: /etc/clamav/clamd.conf angepasst werden.
Öffnen der Konfigurationsdatei:
sudo nano /etc/clamav/clamd.conf
Mit den Pfeiltasten kann an das Ende der Datei navigiert werden.
Hinzufügen von TCPAddr 127.0.0.1
Hinzufügen von TCPSocket 3310
ClamAV-Daemon root Rechte geben- dafür muss in dieser Datei der Eintrag User clamav in User root geändert werden.
Nun kann mit Strg + X gespeichert und beendet werden. Mit Y und der Enter-Taste bestätigen.
Starten der ClamAV-Daemon Service
Nun kann der Service gestartet werden.
Starten des ClamAV-Daemon Service:
sudo systemctl start clamav-daemon.service
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