| ... | 
        ... | 
                @@ -1,45 +1,136 @@ | 
      
              
                    | 1 | 
           | 
          -[[**Plugin-Download**>>https://customer.formcycle.eu/index.php/apps/files/?dir=/FORMCYCLE%20-%20Plugins%20Customer/fc-plugin-malware-scanner/ClamAV&fileid=40404]] | 
        
              
                     | 
          1 | 
          +{{info}} | 
        
              
                     | 
          2 | 
          +{{version major="7" minor="0" patch="13" showInfo="true"}} | 
        
              
                     | 
          3 | 
          +Dieses Plugin kann nur mit {{formcycle/}} Version 7.0.13 oder höher verwendet werden. | 
        
              
                     | 
          4 | 
          +{{/version}} | 
        
              
                     | 
          5 | 
          +{{/info}} | 
        
              
                    | 2 | 
          2 | 
            | 
        
              
                     | 
          7 | 
          +[[**Plugin-Download**>>https://customer.formcycle.eu/index.php/apps/files/?dir=/FORMCYCLE%20-%20Plugins%20Customer/fc-plugin-malware-scanner/ClamAV&fileid=40404]] (erfordert Anmeldung) | 
        
              
                     | 
          8 | 
          + | 
        
              
                    | 3 | 
          3 | 
           {{content/}} | 
        
              
                    | 4 | 
          4 | 
            | 
        
              
                    | 5 | 
           | 
          -{{figure image="de_plugin.png" width="600"}} | 
        
              
                    | 6 | 
           | 
          -  Es muss ein TCP-Verbindung eingerichtet werden, um den Clam-Daemon Service zum scannen der hochgeladenen Dateien zu verwenden. | 
        
              
                    | 7 | 
           | 
          -{{/figure}} | 
        
              
                     | 
          11 | 
          +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. | 
        
              
                    | 8 | 
          8 | 
            | 
        
              
                    | 9 | 
           | 
          -Es ist möglich, Hochgeladene Elemente im Backend sowie in ausgelieferten Formularen durch ClamAV auf Viren untersuchen zu lassen. Dazu wird dieses Plugin als aktiviertes System-Plugin benötigt sowie ein laufender Clam-Daemon Service der über TCP erreicht werden kann. | 
        
              
                     | 
          13 | 
          +== Funktionalität == | 
        
              
                    | 10 | 
          10 | 
            | 
        
              
                    | 11 | 
           | 
          -Nachdem dieses Plugin installiert wurde, muss es konfiguriert werden. Die Konfiguration besteht daraus, dass angegeben wird, auf welche {{smallcaps}}host:port{{/smallcaps}} Kombination zugegriffen werden soll. Außerdem kann die Übertragung mit einem {{smallcaps}}InputStream{{/smallcaps}} geschehen oder es wird direkt auf dem Pfad gearbeitet. | 
        
              
                     | 
          15 | 
          +; Sofortiger Virenscan | 
        
              
                     | 
          16 | 
          +: Jede Datei wird direkt nach Ihrem Upload gescannt. | 
        
              
                    | 12 | 
          12 | 
            | 
        
              
                    | 13 | 
           | 
          -== Konfiguration == | 
        
              
                     | 
          18 | 
          +Der verwendete //ClamAV//-Daemon Service kann weder durch dieses Plugin konfiguriert noch gestartet werden. | 
        
              
                    | 14 | 
          14 | 
            | 
        
              
                    | 15 | 
           | 
          -{{figure image="en_error.png" width="400"}} | 
        
              
                     | 
          20 | 
          +== Installation == | 
        
              
                     | 
          21 | 
          + | 
        
              
                     | 
          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 | 
          + | 
        
              
                     | 
          24 | 
          +{{info}} | 
        
              
                     | 
          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 | 
          +{{/info}} | 
        
              
                     | 
          27 | 
          + | 
        
              
                     | 
          28 | 
          +== Konfiguration Plugin == | 
        
              
                     | 
          29 | 
          + | 
        
              
                     | 
          30 | 
          +//ClamAV// ist dafür gedacht, auf Linux basierten Servern zu laufen. Deswegen kann eine anderweitige Unterstützung unserseits nicht garantiert werden. | 
        
              
                     | 
          31 | 
          + | 
        
              
                     | 
          32 | 
          +{{figure image="de_error.png" width="400"}} | 
        
              
                    | 16 | 
          16 | 
             Falls keine Verbindung zu dem angegeben Host aufgebaut werden kann, wird diese Meldung ausgegeben. | 
        
              
                    | 17 | 
          17 | 
           {{/figure}} | 
        
              
                    | 18 | 
          18 | 
            | 
        
              
                    | 19 | 
           | 
          -Folgende Konfigurationparameter gibt es: | 
        
              
                     | 
          36 | 
          +Folgende Konfigurationsparameter gibt es: | 
        
              
                    | 20 | 
          20 | 
            | 
        
              
                    | 21 | 
          21 | 
           ; host (Erforderlich) | 
        
              
                    | 22 | 
           | 
          -: Host-Name oder IP-Adresse des Servers auf dem Clam-Daemon läuft, {{smallcaps}}127.0.0.1{{/smallcaps}} falls der Service auf dem gleichen Server wie {{formcycle/}} läuft. | 
        
              
                    | 23 | 
           | 
          -; port | 
        
              
                    | 24 | 
           | 
          -: Der Standard Port von Clam-Daemon ist {{smallcaps}}3310{{/smallcaps}}. Falls der Port abweichen sollten, so muss dieser hier angegeben werden. | 
        
              
                     | 
          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 | 
          +; port (Erforderlich) | 
        
              
                     | 
          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 | 
        
              
                    | 25 | 
          25 | 
           ; file-source | 
        
              
                    | 26 | 
           | 
          -: Standardmäßig wird das zu überprüfende Element per Javas {{smallcaps}}InputStream{{/smallcaps}} übertragen. Falls hier der Wert {{smallcaps}}path{{/smallcaps}} eingeben wird, wird direkt auf dem Pfad gearbeitet - wobei dafür der Clam-Daemon Service root Rechte besitzen muss. | 
        
              
                     | 
          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. | 
        
              
                    | 27 | 
          27 | 
            | 
        
              
                    | 28 | 
          28 | 
           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. | 
        
              
                    | 29 | 
          29 | 
            | 
        
              
                    | 30 | 
           | 
          -== ClamAV Einstellungen == | 
        
              
                     | 
          47 | 
          +== Konfiguration //ClamAV// == | 
        
              
                    | 31 | 
          31 | 
            | 
        
              
                    | 32 | 
           | 
          -Im folgenden Abschnitt wird auf wichtige Konfigurationsschritte von Clam-Daemon eingegangen. In diesem Szenario ist {{formcycle/}} auf einem Debian basierten Server installiert und auf selbigen System läuft der Clam-Daemon Service. | 
        
              
                     | 
          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. | 
        
              
                    | 33 | 
          33 | 
            | 
        
              
                    | 34 | 
           | 
          -Da das eigentliche Virusscanning losgelöst von {{formcycle/}} stattfindet, sollte auf eine aktulle Virensignatur-Datenbank geachtet werden via {{smallcaps}}freshclam{{/smallcaps}}. | 
        
              
                     | 
          51 | 
          +=== Installation === | 
        
              
                    | 35 | 
          35 | 
            | 
        
              
                    | 36 | 
           | 
          -Dieses Plugin überträgt die zu untersuchenden Elemente via TCP, was standardmäßig in Clam-Daemon deaktiviert ist. Zur Aktivierung muss die Konfigurationsdatei unter: {{smallcaps}}/etc/clamav/clamd.conf{{/smallcaps}} bearbeitet werden. | 
        
              
                     | 
          53 | 
          +Um //ClamAV// auf einem Server zu installieren, sollten folgende Befehle auf dem Server eingegeben werden. | 
        
              
                    | 37 | 
          37 | 
            | 
        
              
                    | 38 | 
           | 
          -Folgende Parameter müssen der Datei hinzugefügt werden: | 
        
              
                     | 
          55 | 
          +//ClamAV// ist das Programm, welches Dateien auf Viren scannen kann und wird für die Verwendung von //ClamAV//-Daemon benötigt. | 
        
              
                    | 39 | 
          39 | 
            | 
        
              
                    | 40 | 
           | 
          -; TCPAddr (Erforderlich) | 
        
              
                    | 41 | 
           | 
          -: Soll hinzugefügt und mit dem Wert {{smallcaps}}127.0.0.1{{/smallcaps}} angegeben werden. | 
        
              
                    | 42 | 
           | 
          -; TCPSocket (Erforderlich) | 
        
              
                    | 43 | 
           | 
          -: Soll hinzugefügt und mit dem Wert {{smallcaps}}3310{{/smallcaps}} angegeben werden oder abweichend, falls der Port anderweitig genutzt werden soll. | 
        
              
                    | 44 | 
           | 
          -; User | 
        
              
                    | 45 | 
           | 
          -: Ist standardmäßig {{smallcaps}}clamav{{/smallcaps}} und muss zu {{smallcaps}}root{{/smallcaps}} geändert werden um dem Clam-Daemon Service root Rechte zu geben. | 
        
              
                     | 
          57 | 
          +; Aktualisieren der package list: | 
        
              
                     | 
          58 | 
          +; {{code language="shell"}} sudo apt-get update {{/code}} | 
        
              
                     | 
          59 | 
          + | 
        
              
                     | 
          60 | 
          +; Installiere //ClamAV// und //ClamAV//-Daemon: | 
        
              
                     | 
          61 | 
          +; {{code language="shell"}} sudo apt-get install clamav clamav-daemon -y {{/code}} | 
        
              
                     | 
          62 | 
          + | 
        
              
                     | 
          63 | 
          +=== Aktualisieren der Virensignatur-Datenbank === | 
        
              
                     | 
          64 | 
          + | 
        
              
                     | 
          65 | 
          +//freshclam// wird mit //ClamAV// automatisch installiert und wird zum aktualisieren der Virensignatur Datenbank genutzt. | 
        
              
                     | 
          66 | 
          + | 
        
              
                     | 
          67 | 
          +; Beenden des automatischen //freshclam// Prozess: | 
        
              
                     | 
          68 | 
          +; {{code language="shell"}} sudo systemctl stop clamav-freshclam {{/code}} | 
        
              
                     | 
          69 | 
          + | 
        
              
                     | 
          70 | 
          +; Manuelles aktualisieren der Virensignatur Datenabank: | 
        
              
                     | 
          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 | 
          +== Beispielkonfiguration == | 
        
              
                     | 
          113 | 
          + | 
        
              
                     | 
          114 | 
          +Ein beispielhafte Konfiguration mit den oben genannten Standardwerten: | 
        
              
                     | 
          115 | 
          + | 
        
              
                     | 
          116 | 
          +{{lightbox image="de_plugin.png"/}} | 
        
              
                     | 
          117 | 
          + | 
        
              
                     | 
          118 | 
          +== Verwendung == | 
        
              
                     | 
          119 | 
          + | 
        
              
                     | 
          120 | 
          +Sobald eine Virensignatur erkannt wurde, ist folgende Meldung zu sehen: | 
        
              
                     | 
          121 | 
          + | 
        
              
                     | 
          122 | 
          +{{lightbox image="de_virus_found.png"/}} | 
        
              
                     | 
          123 | 
          + | 
        
              
                     | 
          124 | 
          +=== Testdatei === | 
        
              
                     | 
          125 | 
          + | 
        
              
                     | 
          126 | 
          +Eine gängige Methode zur Überprüfung von Virenscannern ist die //eicar.com// Datei (siehe https://de.wikipedia.org/wiki/EICAR-Testdatei). | 
        
              
                     | 
          127 | 
          + | 
        
              
                     | 
          128 | 
          +== Versionshistorie == | 
        
              
                     | 
          129 | 
          + | 
        
              
                     | 
          130 | 
          +**Version 1.0.1** | 
        
              
                     | 
          131 | 
          + | 
        
              
                     | 
          132 | 
          +* Optimierungen für Installation auf Server-Cluster | 
        
              
                     | 
          133 | 
          + | 
        
              
                     | 
          134 | 
          +**Version 1.0.0** | 
        
              
                     | 
          135 | 
          + | 
        
              
                     | 
          136 | 
          +* Initialer Release |