ClamAV


7.0.13+ Dieses Plugin kann nur mit Xima® Formcycle Version 7.0.13 oder höher verwendet werden.

Plugin-Download (erfordert Anmeldung)

Mit dem kostenlosen ClamAV-Plugin für Xima® 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.

Falls keine Verbindung zu dem angegeben Host aufgebaut werden kann, wird diese Meldung ausgegeben.

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.

Konfiguration ClamAV

Im folgenden Abschnitt wird auf Installation und Konfiguration von ClamAV auf einem UNIX-System eingegangen. Unser empfohlenes Szenario ist Xima® 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.

Wikipedia
Download

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 

Xima® 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 <fc.plugin.malware.scanner.clamAV.ClamAntiVirusFileScanner@7b2a4953> detected malware signature for file </home/fc/tomcat9/tmp/xima-temp/formcycle7/xfc-malware-scan/stream-scan12705251110052849842/data2383296604287452271>: {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 1.0.6

  • Change: Virenscan über ClamAV ist nun auch für Windows oder JVM Plattformen möglich
  • Fix: Fehler bei der Fehlerbehandlung behoben

Version 1.0.5

  • Verbesserte Fehlermeldung im Log, wenn Clam-AV nicht angesprochen werden konnte

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