| ... | 
        ... | 
                @@ -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. 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. | 
        
              
                     | 
          25 | 
          +  Das //ClamAV//-Plugin scannt Dateien in Backend und Fronted. Es steht somit immer allen Benutzern zur Verfügung. Daher ist es anzuraten, das Plugin als System-Plugin zu installieren. Dies umgeht auch mögliche Probleme mit doppelt belegten Ports und ermöglicht eine zenztrale konfiguration. | 
        
              
                    | 26 | 
          26 | 
           {{/info}} | 
        
              
                    | 27 | 
          27 | 
            | 
        
              
                    | 28 | 
          28 | 
           == Konfiguration Plugin == | 
        
              
                    | 29 | 
          29 | 
            | 
        
              
                    | 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. | 
        
              
                     | 
          30 | 
          +//ClamAV// ist dafür gedacht, auf Linux basierten Servern zu laufen. Deswegen kann eine anderweitige Unterstützung unserseits nicht garantiert 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,131 +39,56 @@ | 
      
              
                    | 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. | 
        
              
                    | 42 | 
          42 | 
            | 
        
              
                    | 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}} | 
        
              
                     | 
          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. | 
        
              
                    | 46 | 
          46 | 
            | 
        
              
                    | 47 | 
          47 | 
           == Konfiguration //ClamAV// == | 
        
              
                    | 48 | 
          48 | 
            | 
        
              
                    | 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. | 
        
              
                     | 
          49 | 
          +Im folgenden Abschnitt wird auf wichtige Konfigurationsschritte von //ClamAV//-Daemon eingegangen. Unser empfohlenes Szenario ist {{formcycle/}} und den //ClamAV//-Daemon Service auf dem selben Server zu installieren. | 
        
              
                    | 50 | 
          50 | 
            | 
        
              
                    | 51 | 
           | 
          -=== Installation === | 
        
              
                     | 
          51 | 
          +Da das eigentliche Virusscanning losgelöst von {{formcycle/}} stattfindet, sollte auf eine aktulle Virensignatur-Datenbank geachtet werden via //freshclam//. | 
        
              
                    | 52 | 
          52 | 
            | 
        
              
                    | 53 | 
           | 
          -Um //ClamAV// auf einem Server zu installieren, sollten folgende Befehle auf dem Server eingegeben werden. | 
        
              
                     | 
          53 | 
          +Dieses Plugin überträgt die zu untersuchenden Elemente via TCP, was standardmäßig in //ClamAV//-Daemon deaktiviert ist. Zur Aktivierung muss die Konfigurationsdatei unter: // /etc/clamav/clamd.conf // bearbeitet werden. | 
        
              
                    | 54 | 
          54 | 
            | 
        
              
                    | 55 | 
           | 
          -//ClamAV// ist das Programm, welches Dateien auf Viren scannen kann und wird für die Verwendung von //ClamAV//-Daemon benötigt. | 
        
              
                     | 
          55 | 
          +Folgende Parameter müssen der Datei hinzugefügt werden: | 
        
              
                    | 56 | 
          56 | 
            | 
        
              
                    | 57 | 
           | 
          -; Aktualisieren der package list: | 
        
              
                    | 58 | 
           | 
          -; {{code language="shell"}} sudo apt-get update {{/code}} | 
        
              
                     | 
          57 | 
          +; TCPAddr (Erforderlich) | 
        
              
                     | 
          58 | 
          +: Soll hinzugefügt und mit dem Wert //127.0.0.1// angegeben werden. | 
        
              
                     | 
          59 | 
          +; TCPSocket (Erforderlich) | 
        
              
                     | 
          60 | 
          +: Soll hinzugefügt und mit dem Wert //3310// angegeben werden oder abweichend, falls der Port anderweitig genutzt werden soll. | 
        
              
                     | 
          61 | 
          +; User | 
        
              
                     | 
          62 | 
          +: Ist standardmäßig //clamav// und muss zu //root// geändert werden, um dem //ClamAV//-Daemon Service root Rechte zu geben. | 
        
              
                    | 59 | 
          59 | 
            | 
        
              
                    | 60 | 
           | 
          -; Installiere //ClamAV// und //ClamAV//-Daemon: | 
        
              
                    | 61 | 
           | 
          -; {{code language="shell"}} sudo apt-get install clamav clamav-daemon -y {{/code}} | 
        
              
                     | 
          64 | 
          +{{figure image="de_tcp_test.png"}} | 
        
              
                     | 
          65 | 
          +  Mithilfe von //netstat// kann der TCP Socket vom //ClamAV//-Daemon Service untersucht werden. | 
        
              
                     | 
          66 | 
          +{{/figure}} | 
        
              
                    | 62 | 
          62 | 
            | 
        
              
                    | 63 | 
           | 
          -=== Aktualisieren der Virensignatur-Datenbank === | 
        
              
                     | 
          68 | 
          +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 durch folgenden Befehl im Terminal überprüft werden: | 
        
              
                    | 64 | 
          64 | 
            | 
        
              
                    | 65 | 
           | 
          -//freshclam// wird mit //ClamAV// automatisch installiert und wird zum aktualisieren der Virensignatur Datenbank genutzt. | 
        
              
                     | 
          70 | 
          +{{code language="shell"}} | 
        
              
                     | 
          71 | 
          +sudo netstat -anp | grep -E "(clam)" | 
        
              
                     | 
          72 | 
          +{{/code}} | 
        
              
                    | 66 | 
          66 | 
            | 
        
              
                    | 67 | 
           | 
          -; Beenden des automatischen //freshclam// Prozess: | 
        
              
                    | 68 | 
           | 
          -; {{code language="shell"}} sudo systemctl stop clamav-freshclam {{/code}} | 
        
              
                    | 69 | 
           | 
          - | 
        
              
                    | 70 | 
           | 
          -; Manuelles aktualisieren der Virensignatur Datenbank: | 
        
              
                    | 71 | 
           | 
          -; {{code language="shell"}} sudo freshclam {{/code}} | 
        
              
                    | 72 | 
           | 
          - | 
        
              
                    | 73 | 
           | 
          -=== Konfiguration //ClamAV//-Daemon === | 
        
              
                    | 74 | 
           | 
          - | 
        
              
                    | 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. | 
        
              
                    | 76 | 
           | 
          - | 
        
              
                    | 77 | 
           | 
          -Dafür soll die Konfigurationsdatei unter: // /etc/clamav/clamd.conf // angepasst werden. | 
        
              
                    | 78 | 
           | 
          - | 
        
              
                    | 79 | 
           | 
          -; Öffnen der Konfigurationsdatei: | 
        
              
                    | 80 | 
           | 
          -; {{code language="shell"}} sudo nano /etc/clamav/clamd.conf {{/code}} | 
        
              
                    | 81 | 
           | 
          - | 
        
              
                    | 82 | 
           | 
          -Mit den Pfeiltasten kann an das Ende der Datei navigiert werden. | 
        
              
                    | 83 | 
           | 
          - | 
        
              
                    | 84 | 
           | 
          -; Hinzufügen von //TCPAddr 127.0.0.1 // | 
        
              
                    | 85 | 
           | 
          -; Hinzufügen von //TCPSocket 3310 // | 
        
              
                    | 86 | 
           | 
          - | 
        
              
                    | 87 | 
           | 
          -{{lightbox image="en_clamd.conf.png"/}} | 
        
              
                    | 88 | 
           | 
          - | 
        
              
                    | 89 | 
           | 
          -; //ClamAV//-Daemon root Rechte geben | 
        
              
                    | 90 | 
           | 
          -: dafür muss in dieser Datei der Eintrag //User clamav// in //User root// geändert werden. | 
        
              
                    | 91 | 
           | 
          - | 
        
              
                    | 92 | 
           | 
          -Nun kann mit //Strg + X// gespeichert und beendet werden. Mit //Y// und der Enter-Taste bestätigen. | 
        
              
                    | 93 | 
           | 
          - | 
        
              
                    | 94 | 
           | 
          -=== Starten der //ClamAV//-Daemon Service === | 
        
              
                    | 95 | 
           | 
          - | 
        
              
                    | 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 | 
           | 
          - | 
        
              
                    | 112 | 
          112 | 
           == Beispielkonfiguration == | 
        
              
                    | 113 | 
          113 | 
            | 
        
              
                    | 114 | 
          114 | 
           Ein beispielhafte Konfiguration mit den oben genannten Standardwerten: | 
        
              
                    | 115 | 
          115 | 
            | 
        
              
                    | 116 | 
           | 
          -{{lightbox image="de_plugin.png"/}} | 
        
              
                     | 
          78 | 
          +{{lightbox image="de_plugin.png" /}} | 
        
              
                    | 117 | 
          117 | 
            | 
        
              
                    | 118 | 
          118 | 
           == Verwendung == | 
        
              
                    | 119 | 
          119 | 
            | 
        
              
                    | 120 | 
          120 | 
           Sobald eine Virensignatur erkannt wurde, ist folgende Meldung zu sehen: | 
        
              
                    | 121 | 
          121 | 
            | 
        
              
                    | 122 | 
           | 
          -{{lightbox image="de_virus_found.png"/}} | 
        
              
                     | 
          84 | 
          +{{lightbox image="de_virus_found.png" /}} | 
        
              
                    | 123 | 
          123 | 
            | 
        
              
                    | 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 | 
           | 
          - | 
        
              
                    | 145 | 
          145 | 
           == Versionshistorie == | 
        
              
                    | 146 | 
          146 | 
            | 
        
              
                    | 147 | 
           | 
          -=== Version 1.0.5 | 
        
              
                     | 
          88 | 
          +**Version 1.0.1** | 
        
              
                    | 148 | 
          148 | 
            | 
        
              
                    | 149 | 
           | 
          -* Verbesserte Fehlermeldung im Log, wenn Clam-AV nicht angesprochen werden konnte | 
        
              
                     | 
          90 | 
          +* Optimierungen für Installation auf Server-Cluster | 
        
              
                    | 150 | 
          150 | 
            | 
        
              
                    | 151 | 
           | 
          -=== Version 1.0.4 | 
        
              
                     | 
          92 | 
          +**Version 1.0.0** | 
        
              
                    | 152 | 
          152 | 
            | 
        
              
                    | 153 | 
           | 
          -* Fix: Ein Fehler beim Virenscan auf dem Frontend-Server wurde behoben. | 
        
              
                    | 154 | 
           | 
          - | 
        
              
                    | 155 | 
           | 
          -=== Version 1.0.3 | 
        
              
                    | 156 | 
           | 
          - | 
        
              
                    | 157 | 
           | 
          -* 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. | 
        
              
                    | 158 | 
           | 
          - | 
        
              
                    | 159 | 
           | 
          -=== Version 1.0.2 | 
        
              
                    | 160 | 
           | 
          - | 
        
              
                    | 161 | 
           | 
          -* Entfernen: Eigenschaft für Pfad-Scanning, nur noch InputStream | 
        
              
                    | 162 | 
           | 
          - | 
        
              
                    | 163 | 
           | 
          -=== Version 1.0.1 | 
        
              
                    | 164 | 
           | 
          - | 
        
              
                    | 165 | 
           | 
          -* Fix: Überspringen der Überprüfung, wenn das Betriebssystem nicht UNIX ist, anstatt die Datei als Virus zu erkennen | 
        
              
                    | 166 | 
           | 
          - | 
        
              
                    | 167 | 
           | 
          -=== Version 1.0.0 | 
        
              
                    | 168 | 
           | 
          - | 
        
              
                    | 169 | 
          169 | 
           * Initialer Release |