| ... | 
        ... | 
                @@ -1,160 +1,1 @@ | 
      
              
                    | 1 | 
           | 
          -{{info}} | 
        
              
                    | 2 | 
           | 
          -{{version major="7" minor="0" patch="13" showInfo="true"}} | 
        
              
                    | 3 | 
           | 
          -This plugin can only be used with {{formcycle/}} Version 7.0.13 or higher. | 
        
              
                    | 4 | 
           | 
          -{{/version}} | 
        
              
                    | 5 | 
           | 
          -{{/info}} | 
        
              
                    | 6 | 
           | 
          - | 
        
              
                    | 7 | 
           | 
          -[[**Plugin-Download**>>https://customer.formcycle.eu/index.php/apps/files/?dir=/FORMCYCLE%20-%20Plugins%20Customer/fc-plugin-malware-scanner/ClamAV&fileid=40404]] (requires login) | 
        
              
                    | 8 | 
           | 
          - | 
        
              
                    | 9 | 
           | 
          -{{content/}} | 
        
              
                    | 10 | 
           | 
          - | 
        
              
                    | 11 | 
           | 
          -With the free //ClamAV// plugin for {{formcycle/}} it is possible to scan uploaded files for viruses. For this purpose, this plugin establishes a connection to a //ClamAV// daemon service via TCP. | 
        
              
                    | 12 | 
           | 
          - | 
        
              
                    | 13 | 
           | 
          -== Functionality == | 
        
              
                    | 14 | 
           | 
          - | 
        
              
                    | 15 | 
           | 
          -; Immediate virus scan | 
        
              
                    | 16 | 
           | 
          -: Each file is scanned immediately after upload. | 
        
              
                    | 17 | 
           | 
          - | 
        
              
                    | 18 | 
           | 
          -The used //ClamAV//-daemon service can neither be configured nor started by this plugin. | 
        
              
                    | 19 | 
           | 
          - | 
        
              
                    | 20 | 
           | 
          -== Installation == | 
        
              
                    | 21 | 
           | 
          - | 
        
              
                    | 22 | 
           | 
          -The installation of the plugin has to be carried out via the interface of plugins provided for this purpose. Only the corresponding //jar// file has to be installed. | 
        
              
                    | 23 | 
           | 
          - | 
        
              
                    | 24 | 
           | 
          -{{info}} | 
        
              
                    | 25 | 
           | 
          -  The //ClamAV// plug-in scans files in backend and fronted. To be always available to all users it is advisable to install the plugin as a system plugin. This also avoids possible problems with double-used ports and enables a central configuration. | 
        
              
                    | 26 | 
           | 
          -{{/info}} | 
        
              
                    | 27 | 
           | 
          - | 
        
              
                    | 28 | 
           | 
          -== Plugin configuration == | 
        
              
                    | 29 | 
           | 
          - | 
        
              
                    | 30 | 
           | 
          -After saving, a ping test is automatically performed. If this fails, a message will be displayed. In this case all uploads in the backend or in the form will be marked as faulty - the plugin should be deactivated first and a working connection should be established. | 
        
              
                    | 31 | 
           | 
          - | 
        
              
                    | 32 | 
           | 
          -{{figure image="en_error.png" width="400"}} | 
        
              
                    | 33 | 
           | 
          -  If no connection can be established to the specified host, this message is displayed. | 
        
              
                    | 34 | 
           | 
          -{{/figure}} | 
        
              
                    | 35 | 
           | 
          - | 
        
              
                    | 36 | 
           | 
          -The following configuration parameters exist: | 
        
              
                    | 37 | 
           | 
          - | 
        
              
                    | 38 | 
           | 
          -; host (Required) | 
        
              
                    | 39 | 
           | 
          -: Default value: //127.0.0.1//. Specifies the //IP// address of the //ClamAV//-daemon service to be used. The default value is //127.0.0.1// and thus uses a local //ClamAV//-daemon service. | 
        
              
                    | 40 | 
           | 
          -; port (Required) | 
        
              
                    | 41 | 
           | 
          -: Default value: //3310//. Specifies the port of the //ClamAV//-daemon service to use. The default value should only be changed if this port is not available. | 
        
              
                    | 42 | 
           | 
          -; file-source | 
        
              
                    | 43 | 
           | 
          -: If the value //stream// is entered here (default value), the data of the file to be checked will be transferred directly to the //ClamAV//-daemon service. If the value //path// is entered here, scanning is done directly on the path - whereby the //ClamAV//-daemon service must have root rights for this. | 
        
              
                    | 44 | 
           | 
          - | 
        
              
                    | 45 | 
           | 
          -{{info}} | 
        
              
                    | 46 | 
           | 
          -//ClamAV// is intended to run on Linux-based servers. Therefore, we cannot guarantee any other support. | 
        
              
                    | 47 | 
           | 
          -{{/info}} | 
        
              
                    | 48 | 
           | 
          - | 
        
              
                    | 49 | 
           | 
          - | 
        
              
                    | 50 | 
           | 
          -== Configuration //ClamAV// == | 
        
              
                    | 51 | 
           | 
          - | 
        
              
                    | 52 | 
           | 
          -The following section discusses installation and configuration of //ClamAV//. Our recommended scenario is to install {{formcycle/}} and the //ClamAV//-daemon service on the same server. | 
        
              
                    | 53 | 
           | 
          - | 
        
              
                    | 54 | 
           | 
          -=== Installation === | 
        
              
                    | 55 | 
           | 
          - | 
        
              
                    | 56 | 
           | 
          -To install //ClamAV// on a server, the following commands should be entered on the server. | 
        
              
                    | 57 | 
           | 
          - | 
        
              
                    | 58 | 
           | 
          -//ClamAV// is the program that can scan files for viruses and is required for the use of //ClamAV//-daemon. | 
        
              
                    | 59 | 
           | 
          - | 
        
              
                    | 60 | 
           | 
          -; Update the package list: | 
        
              
                    | 61 | 
           | 
          -; {{code language="shell"}} sudo apt-get update {{/code}} | 
        
              
                    | 62 | 
           | 
          - | 
        
              
                    | 63 | 
           | 
          -; Install //ClamAV// and //ClamAV//-daemon: | 
        
              
                    | 64 | 
           | 
          -; {{code language="shell"}} sudo apt-get install clamav clamav-daemon -y {{/code}} | 
        
              
                    | 65 | 
           | 
          - | 
        
              
                    | 66 | 
           | 
          -=== Update the virus signature database === | 
        
              
                    | 67 | 
           | 
          - | 
        
              
                    | 68 | 
           | 
          -//freshclam// is automatically installed with //ClamAV// and is used to update the virus signature database. | 
        
              
                    | 69 | 
           | 
          - | 
        
              
                    | 70 | 
           | 
          -; Terminate the automatic //freshclam// process: | 
        
              
                    | 71 | 
           | 
          -; {{code language="shell"}} sudo systemctl stop clamav-freshclam {{/code}} | 
        
              
                    | 72 | 
           | 
          - | 
        
              
                    | 73 | 
           | 
          -; Manually update virus signature database: | 
        
              
                    | 74 | 
           | 
          -; {{code language="shell"}} sudo freshclam {{/code}} | 
        
              
                    | 75 | 
           | 
          - | 
        
              
                    | 76 | 
           | 
          -=== Configuration //ClamAV//-daemon === | 
        
              
                    | 77 | 
           | 
          - | 
        
              
                    | 78 | 
           | 
          -//ClamAV//-daemon is the process running in the background on the server, which is addressed for the virus scan. This is done via TCP and must be configured accordingly. | 
        
              
                    | 79 | 
           | 
          - | 
        
              
                    | 80 | 
           | 
          -For this purpose, the configuration file under: // /etc/clamav/clamd.conf // should be adapted. | 
        
              
                    | 81 | 
           | 
          - | 
        
              
                    | 82 | 
           | 
          -Open the configuration file: | 
        
              
                    | 83 | 
           | 
          - | 
        
              
                    | 84 | 
           | 
          -; {{code language="shell"}} sudo nano /etc/clamav/clamd.conf {{/code}} | 
        
              
                    | 85 | 
           | 
          - | 
        
              
                    | 86 | 
           | 
          -Use the arrow keys to navigate to the end of the file. | 
        
              
                    | 87 | 
           | 
          - | 
        
              
                    | 88 | 
           | 
          -; Add //TCPAddr 127.0.0.1 // | 
        
              
                    | 89 | 
           | 
          -; Add //TCPSocket 3310 // | 
        
              
                    | 90 | 
           | 
          - | 
        
              
                    | 91 | 
           | 
          -{{lightbox image="en_clamd.conf.png"/}} | 
        
              
                    | 92 | 
           | 
          - | 
        
              
                    | 93 | 
           | 
          -; Specify root rights for //ClamAV//-daemon | 
        
              
                    | 94 | 
           | 
          -: To do this, the row //User clamav// has to be changed to //User root// in this file. | 
        
              
                    | 95 | 
           | 
          - | 
        
              
                    | 96 | 
           | 
          -Now you can save and exit with //Ctrl + X//. Confirm with //Y// and the Enter key. | 
        
              
                    | 97 | 
           | 
          - | 
        
              
                    | 98 | 
           | 
          -=== Starting the //ClamAV//-daemon Service === | 
        
              
                    | 99 | 
           | 
          - | 
        
              
                    | 100 | 
           | 
          -Now the service can be started. | 
        
              
                    | 101 | 
           | 
          - | 
        
              
                    | 102 | 
           | 
          -: Start the //ClamAV//-daemon Service: | 
        
              
                    | 103 | 
           | 
          -; {{code language="shell"}} sudo systemctl start clamav-daemon.service {{/code}} | 
        
              
                    | 104 | 
           | 
          - | 
        
              
                    | 105 | 
           | 
          -=== Checking the availability of the service === | 
        
              
                    | 106 | 
           | 
          - | 
        
              
                    | 107 | 
           | 
          -In order for this plugin to be able to address the //ClamAV//-daemon service, the service must be listening in the right place - in this case at //127.0.0.1:3310//. This can be checked in the server's terminal. | 
        
              
                    | 108 | 
           | 
          - | 
        
              
                    | 109 | 
           | 
          -Using //netstat// the TCP socket of the //ClamAV//-daemon service can be examined. | 
        
              
                    | 110 | 
           | 
          - | 
        
              
                    | 111 | 
           | 
          -; {{code language="shell"}} sudo netstat -anp | grep -E "(clam)" {{/code}} | 
        
              
                    | 112 | 
           | 
          - | 
        
              
                    | 113 | 
           | 
          -{{lightbox image="en_tcp_test.png"/}} | 
        
              
                    | 114 | 
           | 
          - | 
        
              
                    | 115 | 
           | 
          -If no line starting with //tcp// is seen or a different //host:port// combination is seen as //127.0.0.1:3310//, the configuration has to be checked again. | 
        
              
                    | 116 | 
           | 
          - | 
        
              
                    | 117 | 
           | 
          -== Example configuration == | 
        
              
                    | 118 | 
           | 
          - | 
        
              
                    | 119 | 
           | 
          -An example configuration with the above default values: | 
        
              
                    | 120 | 
           | 
          - | 
        
              
                    | 121 | 
           | 
          -{{lightbox image="en_plugin.png"/}} | 
        
              
                    | 122 | 
           | 
          - | 
        
              
                    | 123 | 
           | 
          -== Usage == | 
        
              
                    | 124 | 
           | 
          - | 
        
              
                    | 125 | 
           | 
          -As soon as a virus signature has been detected, the following message is displayed: | 
        
              
                    | 126 | 
           | 
          - | 
        
              
                    | 127 | 
           | 
          -{{lightbox image="en_virus_found.png"/}} | 
        
              
                    | 128 | 
           | 
          - | 
        
              
                    | 129 | 
           | 
          -=== Test file === | 
        
              
                    | 130 | 
           | 
          - | 
        
              
                    | 131 | 
           | 
          -A common method for checking virus scanners is the //eicar.com// file. | 
        
              
                    | 132 | 
           | 
          -At any point this test file can be uploaded and after successful configuration the message shown above should be seen. | 
        
              
                    | 133 | 
           | 
          - | 
        
              
                    | 134 | 
           | 
          -; [[**Wikipedia**>>https://de.wikipedia.org/wiki/EICAR-Testdatei]] | 
        
              
                    | 135 | 
           | 
          -; [[**Download**>>https://www.eicar.org/download-anti-malware-testfile/]] | 
        
              
                    | 136 | 
           | 
          - | 
        
              
                    | 137 | 
           | 
          -=== Logging === | 
        
              
                    | 138 | 
           | 
          - | 
        
              
                    | 139 | 
           | 
          -//ClamAV// creates logs which can be found under // /var/log/clamav/clamav.log //. | 
        
              
                    | 140 | 
           | 
          - | 
        
              
                    | 141 | 
           | 
          -For example, after uploading the //eicar.com// test file, the following entry can be seen in //clamav.log //: | 
        
              
                    | 142 | 
           | 
          - | 
        
              
                    | 143 | 
           | 
          -; {{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}} | 
        
              
                    | 144 | 
           | 
          - | 
        
              
                    | 145 | 
           | 
          -{{formcycle/}} logs can be found for this at // /formcycle-data/formcycle7/logs //. | 
        
              
                    | 146 | 
           | 
          - | 
        
              
                    | 147 | 
           | 
          -After uploading the //eicar.com// test file, for example, the following entry can be seen in //formcycle-errors-log //: | 
        
              
                    | 148 | 
           | 
          - | 
        
              
                    | 149 | 
           | 
          -; {{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}} | 
        
              
                    | 150 | 
           | 
          -; {{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}} | 
        
              
                    | 151 | 
           | 
          - | 
        
              
                    | 152 | 
           | 
          -== Version history == | 
        
              
                    | 153 | 
           | 
          - | 
        
              
                    | 154 | 
           | 
          -**Version 1.0.1** | 
        
              
                    | 155 | 
           | 
          - | 
        
              
                    | 156 | 
           | 
          -* Optimisations for installation on server clusters | 
        
              
                    | 157 | 
           | 
          - | 
        
              
                    | 158 | 
           | 
          -**Version 1.0.0** | 
        
              
                    | 159 | 
           | 
          - | 
        
              
                    | 160 | 
           | 
          -* Initial release | 
        
              
                     | 
          1 | 
          +ClamAV |