Changes for page ClamAV


From version 23.2
edited by fse
on 25.05.2022, 15:25
Change comment: There is no comment for this version
To version 23.1
edited by fse
on 25.05.2022, 11:55
Change comment: Neues Bild de_plugin.png hochladen

Summary

Details

Page properties
Content
... ... @@ -1,34 +1,19 @@
1 1  {{info}}
2 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.
3 +This plugin can only be used with {{formcycle/}} version 7.0.13 or higher.
4 4  {{/version}}
5 5  {{/info}}
6 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)
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 8  
9 9  {{content/}}
10 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.
11 +Uploaded files can be checked for viruses via the plug-in. For this purpose, this plugin is required as an activated system plugin and a running ClamAV-daemon service that can be accessed via TCP.
12 12  
13 -== Functionality ==
13 +After this plugin has been installed, it must be configured. The configuration consists of specifying which {{smallcaps}}host:port{{/smallcaps}} combination is to be used. Furthermore, the transfer can be done with a {{smallcaps}}InputStream{{/smallcaps}} or working straight on the path.
14 14  
15 -; Immediate virus scan
16 -: Each file is scanned immediately after upload.
15 +== Configuration ==
17 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 32  {{figure image="en_error.png" width="400"}}
33 33   If no connection can be established to the specified host, this message is displayed.
34 34  {{/figure}}
... ... @@ -36,123 +36,39 @@
36 36  The following configuration parameters exist:
37 37  
38 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.
24 +: Host name or IP address of the server running ClamAV-daemon. The standard port is {{smallcaps}}127.0.0.1{{/smallcaps}}, since ClamAV-daemon should be running on the same server as {{formcycle/}}.
40 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.
26 +: The default port of ClamAV-daemon is {{smallcaps}}3310{{/smallcaps}}. If the port is different, it must be specified here.
42 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 //ClamAV//. If the value //path// is entered here, work is done directly on the path - whereby the //ClamAV// daemon service must have root rights for this.
28 +: By default, the element to be checked is transferred via Java's {{smallcaps}}InputStream{{/smallcaps}}. If the value {{smallcaps}}path{{/smallcaps}} is entered here, the path is used directly - whereby the ClamAV-daemon service must have root rights.
44 44  
45 -{{info}}
46 -//ClamAV// is intended to run on Linux-based servers. Therefore, we cannot guarantee any other support.
47 -{{/info}}
30 +After saving, a ping test is automatically executed. If this fails, a corresponding message is displayed. In this case, all uploads in the backend or in the form are marked as faulty - the plugin should first be deactivated and a functioning connection established.
48 48  
32 +== ClamAV settings ==
49 49  
50 -== Configuration //ClamAV// ==
34 +The following section discusses important configuration steps of ClamAV-Daemon. Our recommended scenario is to install {{formcycle/}} and the ClamAV-Daemon service on the same server.
51 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.
36 +Since the actual virus scanning takes place separately from {{formcycle/}}, take care to keep the virus signature database up-to-date via {{smallcaps}}freshclam{{/smallcaps}}.
53 53  
54 -=== Installation ===
38 +This plugin transmits the elements to be examined via TCP, which is deactivated by default in ClamAV-daemon. To enable it, the configuration file: {{smallcaps}}/etc/clamav/clamd.conf{{/smallcaps}} has to be edited.
55 55  
56 -To install //ClamAV// on a server, the following commands should be entered on the server.
40 +The following parameters have to be added to the file:
57 57  
58 -//ClamAV// is the program that can scan files for viruses and is required to use //ClamAV//-Daemon.
42 +; TCPAddr (Required)
43 +: Shall be added and specified with the value {{smallcaps}}127.0.0.1{{/smallcaps}}.
44 +; TCPSocket (Required)
45 +: Shall be added and specified with the value {{smallcaps}}3310{{/smallcaps}} or different, if the port is occupied.
46 +; User
47 +: By default this is {{smallcaps}}clamav{{/smallcaps}} and has to be changed to {{smallcaps}}root{{/smallcaps}} to give root rights to the ClamAV-daemon service.
59 59  
60 -; Update the package list:
61 -; {{code language="shell"}} sudo apt-get update {{/code}}
49 +{{figure image="en_tcp_test.png"}}
50 + With the help of {{smallcaps}}netstat{{/smallcaps}} the TCP socket of the ClamAV-daemon service can be examined.
51 +{{/figure}}
62 62  
63 -; Install //ClamAV// and //ClamAV// daemon:
64 -; {{code language="shell"}} sudo apt-get install clamav clamav-daemon -y {{/code}}
53 +In order for this plugin to address the ClamAV-daemon service, the service has to be listening in the right place - in this case at {{smallcaps}}127.0.0.1:3310{{/smallcaps}}. This can be checked by the following command in the terminal:
65 65  
66 -=== Update the virus signature database ===
55 +{{code language="shell"}}
56 +sudo netstat -anp | grep -E "(clam)"
57 +{{/code}}
67 67  
68 -//freshclam// is automatically installed with //ClamAV// and is used to update the virus signature database.
69 69  
70 -; Terminate the automatic //freshclam// process:
71 -; {{code language="shell"}} sudo systemctl stop clamav-freshclam {{/code}}
72 -
73 -; Manually update virus signature databank:
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 -; {{code language="shell"}} sudo nano /etc/clamav/clamd.conf {{/code}}
84 -
85 -Use the arrow keys to navigate to the end of the file.
86 -
87 -; Add //TCPAddr 127.0.0.1 //
88 -; Adding //TCPSocket 3310 //
89 -
90 -{{lightbox image="en_clamd.conf.png"/}}
91 -
92 -; //ClamAV//-Give root rights to daemon
93 -To do this, the entry //User clamav// must be changed to //User root// in this file.
94 -
95 -Now you can save and exit with //Ctrl + X//. Confirm with //Y// and the Enter key.
96 -
97 -=== Starting the //ClamAV//-Daemon Service ===
98 -
99 -Now the service can be started.
100 -
101 -: Start the //ClamAV//-Daemon Service:
102 -; {{code language="shell"}} sudo systemctl start clamav-daemon.service {{/code}}
103 -
104 -=== Checking the availability of the service ===
105 -
106 -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.
107 -
108 -Using //netstat// the TCP socket of the //ClamAV// daemon service can be examined.
109 -; {{code language="shell"}} sudo netstat -anp | grep -E "(clam)" {{/code}}
110 -
111 -{{lightbox image="en_tcp_test.png"/}}
112 -
113 -If no line starting with //tcp// is seen or a different //host:port// combination is seen as //127.0.0.1:3310//, the configuration must be checked again.
114 -
115 -== Example configuration ==
116 -
117 -An example configuration with the above default values:
118 -
119 -{{lightbox image="en_plugin.png"/}}
120 -
121 -== Usage ==
122 -
123 -As soon as a virus signature has been detected, the following message is displayed:
124 -
125 -{{lightbox image="en_virus_found.png"/}}
126 -
127 -=== Test file ===
128 -
129 -A common method for checking virus scanners is the //eicar.com// file.
130 -At any point this test file can be uploaded and after successful configuration the message shown above can be seen.
131 -
132 -; [[**Wikipedia**>>https://de.wikipedia.org/wiki/EICAR-Testdatei]]
133 -; [[**Download**>>https://www.eicar.org/download-anti-malware-testfile/]]
134 -
135 -=== Logging ===
136 -
137 -//ClamAV// creates logs which can be found under // /var/log/clamav/clamav.log //.
138 -
139 -For example, after uploading the //eicar.com// test file, the following entry can be seen in //clamav.log //:
140 -; {{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}}
141 -
142 -{{formcycle/}} logs can be found for this at // /formcycle-data/formcycle7/logs.//
143 -
144 -After uploading the //eicar.com// test file, for example, the following entry can be seen in //formcycle-errors-log //:
145 -; {{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}}
146 -; {{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}}
147 -
148 -== Version history ==
149 -
150 -**Version 1.0.1**
151 -
152 -* Optimisations for installation on server clusters
153 -
154 -**Version 1.0.0
155 -
156 -* Initial release
157 -
158 -Translated with www.DeepL.com/Translator (free version)