Datenschutzhinweis

 

Beim Laden dieses Inhalts werden Nutzungsinformationen an Vimeo übertragen und dort ggf. verarbeitet.

 

             

Malware-Scanner-Plugin: ClamAV

Geändert am Do, 23 Nov, 2023 um 2:32 NACHMITTAGS

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.

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.

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.

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 

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

Wie können wir diesen Artikel verbessern?

Wählen Sie wenigstens einen der Gründe aus
CAPTCHA-Verifikation ist erforderlich.

Feedback gesendet

Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren