| ... | ... | @@ -22,12 +22,12 @@ | 
              
                    | 22 | 22 | 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. | 
              
                    | 23 | 23 |  | 
              
                    | 24 | 24 | {{info}} | 
              
                    | 25 |  | -  Das //ClamAV//-Plugin scannt Dateien in Backend und Fronted. Es steht somitimmer allenBenutzernzur Verfügung.Daherist esanzuraten, das Plugin als System-Plugin zu installieren. Dies umgeht auch mögliche Probleme mit doppelt belegten Ports und ermöglicht eine zenztralekonfiguration. | 
              
                    |  | 25 | +  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. | 
              
                    | 26 | 26 | {{/info}} | 
              
                    | 27 | 27 |  | 
              
                    | 28 | 28 | == Konfiguration Plugin == | 
              
                    | 29 | 29 |  | 
              
                    | 30 |  | - //ClamAV//ist dafürgedacht,aufLinuxbasiertenServernzulaufen.Deswegenkann eineanderweitigeUnterstützungunserseits nichtgarantiertwerden. | 
              
                    |  | 30 | +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. | 
              
                    | 31 | 31 |  | 
              
                    | 32 | 32 | {{figure image="de_error.png" width="400"}} | 
              
                    | 33 | 33 | Falls keine Verbindung zu dem angegeben Host aufgebaut werden kann, wird diese Meldung ausgegeben. | 
                      
        | ... | ... | @@ -39,78 +39,118 @@ | 
              
                    | 39 | 39 | : 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. | 
              
                    | 40 | 40 | ; port (Erforderlich) | 
              
                    | 41 | 41 | : 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 | 
              
                    | 42 |  | -; file-source | 
              
                    | 43 |  | -: Wenn hier der Wert //stream// eingegeben wird (Standardwert), werden die Daten der zu überprüfenden Datei direkt an //ClamAV// übertragen. Falls hier der Wert //path// eingegeben wird, wird direkt auf dem Pfad gearbeitet - wobei dafür der //ClamAV//-Daemon Service root Rechte besitzen muss. | 
              
                    | 44 | 44 |  | 
              
                    | 45 |  | -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. | 
              
                    |  | 43 | +{{info}} | 
              
                    |  | 44 | +//ClamAV// ist dafür gedacht, auf Linux basierten Servern zu laufen. Deswegen kann eine anderweitige Unterstützung unserseits nicht garantiert werden. | 
              
                    |  | 45 | +{{/info}} | 
              
                    | 46 | 46 |  | 
              
                    | 47 | 47 | == Konfiguration //ClamAV// == | 
              
                    | 48 | 48 |  | 
              
                    | 49 |  | -Im folgenden Abschnitt wird auf Installation und Konfiguration von //ClamAV// -Daemoneingegangen. Unser empfohlenes Szenario ist {{formcycle/}} und den //ClamAV//-Daemon Service auf dem selben Server zu installieren. | 
              
                    |  | 49 | +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. | 
              
                    | 50 | 50 |  | 
              
                    | 51 | 51 | === Installation === | 
              
                    | 52 | 52 |  | 
              
                    | 53 |  | -Um //ClamAV// -Daemonauf einem Server zu installieren, sollten folgende Befehle auf dem Server eingegeben werden. | 
              
                    |  | 53 | +Um //ClamAV// auf einem Server zu installieren, sollten folgende Befehle auf dem Server eingegeben werden. | 
              
                    | 54 | 54 |  | 
              
                    | 55 |  | -: Update der package list: | 
              
                    |  | 55 | +//ClamAV// ist das Programm, welches Dateien auf Viren scannen kann und wird für die Verwendung von //ClamAV//-Daemon benötigt. | 
              
                    |  | 56 | + | 
              
                    |  | 57 | +; Aktualisieren der package list: | 
              
                    | 56 | 56 | ; {{code language="shell"}} sudo apt-get update {{/code}} | 
              
                    | 57 | 57 |  | 
              
                    | 58 |  | - :Installiere //ClamAV// und //ClamAV//-Daemon: | 
              
                    |  | 60 | +; Installiere //ClamAV// und //ClamAV//-Daemon: | 
              
                    | 59 | 59 | ; {{code language="shell"}} sudo apt-get install clamav clamav-daemon -y {{/code}} | 
              
                    | 60 | 60 |  | 
              
                    | 61 |  | -=== Update der Virensignatur-Datenbank === | 
              
                    |  | 63 | +=== Aktualisieren der Virensignatur-Datenbank === | 
              
                    | 62 | 62 |  | 
              
                    | 63 |  | -//freshclam// wird mit clamavautomatisch installiert und wird zumupdate der Virensignatur Datenbank genutzt. | 
              
                    |  | 65 | +//freshclam// wird mit //ClamAV// automatisch installiert und wird zum aktualisieren der Virensignatur Datenbank genutzt. | 
              
                    | 64 | 64 |  | 
              
                    | 65 |  | - :Beenden des automatischen //freshclam// Prozess: | 
              
                    |  | 67 | +; Beenden des automatischen //freshclam// Prozess: | 
              
                    | 66 | 66 | ; {{code language="shell"}} sudo systemctl stop clamav-freshclam {{/code}} | 
              
                    | 67 | 67 |  | 
              
                    | 68 |  | - :Manuellesupdate der Virensignatur Datenabank: | 
              
                    |  | 70 | +; Manuelles aktualisieren der Virensignatur Datenbank: | 
              
                    | 69 | 69 | ; {{code language="shell"}} sudo freshclam {{/code}} | 
              
                    | 70 | 70 |  | 
              
                    |  | 73 | +=== Konfiguration //ClamAV//-Daemon === | 
              
                    | 71 | 71 |  | 
              
                    |  | 75 | +//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. | 
              
                    | 72 | 72 |  | 
              
                    |  | 77 | +Dafür soll die Konfigurationsdatei unter: // /etc/clamav/clamd.conf // angepasst werden. | 
              
                    | 73 | 73 |  | 
              
                    | 74 |  | -Da das eigentliche Virusscanning losgelöst von {{formcycle/}} stattfindet, sollte auf eine aktulle Virensignatur-Datenbank geachtet werden via //freshclam//. | 
              
                    |  | 79 | +; Öffnen der Konfigurationsdatei: | 
              
                    |  | 80 | +; {{code language="shell"}} sudo nano /etc/clamav/clamd.conf {{/code}} | 
              
                    | 75 | 75 |  | 
              
                    | 76 |  | - Dieses Plugin überträgtdie zu untersuchendenElemente via TCP, was standardmäßigin//ClamAV//-Daemon deaktiviert ist.Zur Aktivierung muss dieKonfigurationsdateiunter: // /etc/clamav/clamd.conf // bearbeitetwerden. | 
              
                    |  | 82 | +Mit den Pfeiltasten kann an das Ende der Datei navigiert werden. | 
              
                    | 77 | 77 |  | 
              
                    | 78 |  | -Folgende Parameter müssen der Datei hinzugefügt werden: | 
              
                    |  | 84 | +; Hinzufügen von //TCPAddr 127.0.0.1 // | 
              
                    |  | 85 | +; Hinzufügen von //TCPSocket 3310 // | 
              
                    | 79 | 79 |  | 
              
                    | 80 |  | -; TCPAddr (Erforderlich) | 
              
                    | 81 |  | -: Soll hinzugefügt und mit dem Wert //127.0.0.1// angegeben werden. | 
              
                    | 82 |  | -; TCPSocket (Erforderlich) | 
              
                    | 83 |  | -: Soll hinzugefügt und mit dem Wert //3310// angegeben werden oder abweichend, falls der Port anderweitig genutzt werden soll. | 
              
                    | 84 |  | -; User | 
              
                    | 85 |  | -: Ist standardmäßig //clamav// und muss zu //root// geändert werden, um dem //ClamAV//-Daemon Service root Rechte zu geben. | 
              
                    |  | 87 | +{{lightbox image="en_clamd.conf.png"/}} | 
              
                    | 86 | 86 |  | 
              
                    | 87 |  | -{{figure image="de_tcp_test.png"}} | 
              
                    | 88 |  | -  Mithilfe von //netstat// kann der TCP Socket vom //ClamAV//-Daemon Service untersucht werden. | 
              
                    | 89 |  | -{{/figure}} | 
              
                    |  | 89 | +; //ClamAV//-Daemon root Rechte geben | 
              
                    |  | 90 | +: dafür muss in dieser Datei der Eintrag //User clamav// in //User root// geändert werden. | 
              
                    | 90 | 90 |  | 
              
                    | 91 |  | - Damitdieses Pluginden//ClamAV//-DaemonService ansprechenkann, muss derService an der richtigenStelle zuhören- in diesem Fall unter//127.0.0.1:3310//.Das kanndurchfolgenden Befehl im Terminalüberprüft werden: | 
              
                    |  | 92 | +Nun kann mit //Strg + X// gespeichert und beendet werden. Mit //Y// und der Enter-Taste bestätigen. | 
              
                    | 92 | 92 |  | 
              
                    | 93 |  | -{{code language="shell"}} | 
              
                    | 94 |  | -sudo netstat -anp | grep -E "(clam)" | 
              
                    | 95 |  | -{{/code}} | 
              
                    |  | 94 | +=== Starten der //ClamAV//-Daemon Service === | 
              
                    | 96 | 96 |  | 
              
                    |  | 96 | +Nun kann der Service gestartet werden. | 
              
                    |  | 97 | + | 
              
                    |  | 98 | +: Starten des //ClamAV//-Daemon Service: | 
              
                    |  | 99 | +; {{code language="shell"}} sudo systemctl start clamav-daemon.service {{/code}} | 
              
                    |  | 100 | + | 
              
                    |  | 101 | +=== Prüfen der Verfügbarkeit des Service === | 
              
                    |  | 102 | + | 
              
                    |  | 103 | +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. | 
              
                    |  | 104 | + | 
              
                    |  | 105 | +; Mithilfe von //netstat// kann der TCP Socket vom //ClamAV//-Daemon Service untersucht werden. | 
              
                    |  | 106 | +; {{code language="shell"}} sudo netstat -anp | grep -E "(clam)" {{/code}} | 
              
                    |  | 107 | + | 
              
                    |  | 108 | +{{lightbox image="de_tcp_test.png"/}} | 
              
                    |  | 109 | + | 
              
                    |  | 110 | +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. | 
              
                    |  | 111 | + | 
              
                    | 97 | 97 | == Beispielkonfiguration == | 
              
                    | 98 | 98 |  | 
              
                    | 99 | 99 | Ein beispielhafte Konfiguration mit den oben genannten Standardwerten: | 
              
                    | 100 | 100 |  | 
              
                    | 101 |  | -{{lightbox image="de_plugin.png"  /}} | 
              
                    |  | 116 | +{{lightbox image="de_plugin.png"/}} | 
              
                    | 102 | 102 |  | 
              
                    | 103 | 103 | == Verwendung == | 
              
                    | 104 | 104 |  | 
              
                    | 105 | 105 | Sobald eine Virensignatur erkannt wurde, ist folgende Meldung zu sehen: | 
              
                    | 106 | 106 |  | 
              
                    | 107 |  | -{{lightbox image="de_virus_found.png"  /}} | 
              
                    |  | 122 | +{{lightbox image="de_virus_found.png"/}} | 
              
                    | 108 | 108 |  | 
              
                    |  | 124 | +=== Testdatei === | 
              
                    |  | 125 | + | 
              
                    |  | 126 | +Eine gängige Methode zur Überprüfung von Virenscannern ist die //eicar.com// Datei. | 
              
                    |  | 127 | +An beliebiger Stelle kann diese Tastdatei hochgeladen werden und nach erfolgreicher Konfiguration ist die oben dargestellte Meldung zu sehen. | 
              
                    |  | 128 | + | 
              
                    |  | 129 | +; [[**Wikipedia**>>https://de.wikipedia.org/wiki/EICAR-Testdatei]] | 
              
                    |  | 130 | +; [[**Download**>>https://www.eicar.org/download-anti-malware-testfile/]] | 
              
                    |  | 131 | + | 
              
                    |  | 132 | +=== Logging === | 
              
                    |  | 133 | + | 
              
                    |  | 134 | +//ClamAV// erstellt logs, welche unter // /var/log/clamav/clamav.log // zu finden sind. | 
              
                    |  | 135 | + | 
              
                    |  | 136 | +: Nach dem hochladen der //eicar.com// Testdatei ist zum Beispiel folgender Eintrag in //clamav.log //zu sehen: | 
              
                    |  | 137 | +; {{code language="shell"}} Wed May 25 10:10:21 2022 -> instream(127.0.0.1@32984): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND {{/code}} | 
              
                    |  | 138 | + | 
              
                    |  | 139 | +{{formcycle/}} logs sind hierfür unter // /formcycle-data/formcycle7/logs zu finden.// | 
              
                    |  | 140 | + | 
              
                    |  | 141 | +: Nach dem hochladen der //eicar.com// Testdatei ist zum Beispiel folgender Eintrag in //formcycle-errors-log //zu sehen: | 
              
                    |  | 142 | +; {{code language="shell"}} [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]} {{/code}} | 
              
                    |  | 143 | +; {{code language="shell"}} [ERROR] [25-05-22 10:10:21,207] [ajp-nio-127.0.0.1-8009-exec-43] (VirusScannerService.java:71) - Detected a virus {{/code}} | 
              
                    |  | 144 | + | 
              
                    | 109 | 109 | == Versionshistorie == | 
              
                    | 110 | 110 |  | 
              
                    |  | 147 | +**Version 1.0.2** | 
              
                    |  | 148 | + | 
              
                    |  | 149 | +* Entfernen: Eigenschaft für Pfad-Scanning, nur noch InputStream | 
              
                    |  | 150 | + | 
              
                    | 111 | 111 | **Version 1.0.1** | 
              
                    | 112 | 112 |  | 
              
                    | 113 |  | -* Optimierungenfür InstallationaufServer-Cluster | 
              
                    |  | 153 | +* Fix: Überspringen der Überprüfung, wenn das Betriebssystem nicht UNIX ist, anstatt die Datei als Virus zu erkennen | 
              
                    | 114 | 114 |  | 
              
                    | 115 | 115 | **Version 1.0.0** | 
              
                    | 116 | 116 |  |