Änderungen von Dokument ClamAV


Von Version 12.3
bearbeitet von fse
am 25.05.2022, 09:44
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 32.1
bearbeitet von fse
am 25.05.2022, 14:40
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -8,20 +8,27 @@
8 8  
9 9  {{content/}}
10 10  
11 -{{figure image="de_plugin.png" width="600"}}
12 - Es muss ein TCP-Verbindung eingerichtet werden, um den ClamAV-Daemon Service zum scannen der hochgeladenen Dateien zu verwenden.
13 -{{/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.
14 14  
15 -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.
16 -
17 17  == Funktionalität ==
18 18  
15 +; Sofortiger Virenscan
16 +: Jede Datei wird direkt nach Ihrem Upload gescannt.
19 19  
18 +Der verwendete //ClamAV//-Daemon Service kann weder durch dieses Plugin konfiguriert noch gestartet werden.
20 20  
21 -== Konfiguration ==
20 +== Installation ==
22 22  
23 -ClamAV ist dafür gedacht, auf Linux basierten Servern zu laufen. Deswegen kann eine anderweitige Unterstützung unserseits nicht garantiert werden.
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.
24 24  
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 +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 +
25 25  {{figure image="de_error.png" width="400"}}
26 26   Falls keine Verbindung zu dem angegeben Host aufgebaut werden kann, wird diese Meldung ausgegeben.
27 27  {{/figure}}
... ... @@ -29,37 +29,120 @@
29 29  Folgende Konfigurationsparameter gibt es:
30 30  
31 31  ; host (Erforderlich)
32 -: Host-Name oder IP-Adresse des Servers auf dem ClamAV-Daemon läuft. Der Standard-Host ist //127.0.0.1//, genau dann wenn ClamAV auf dem gleichen Server wie {{formcycle/}} läuft.
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.
33 33  ; port (Erforderlich)
34 -: Der Standard Port von ClamAV-Daemon ist //3310//. Falls der Port abweichen sollte, so muss dieser hier angepasst werden.
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
35 35  ; file-source
36 -: 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.
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.
37 37  
38 -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.
45 +{{info}}
46 +//ClamAV// ist dafür gedacht, auf Linux basierten Servern zu laufen. Deswegen kann eine anderweitige Unterstützung unserseits nicht garantiert werden.
47 +{{/info}}
39 39  
40 -== ClamAV Einstellungen ==
49 +== Konfiguration //ClamAV// ==
41 41  
42 -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.
51 +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.
43 43  
44 -Da das eigentliche Virusscanning losgelöst von {{formcycle/}} stattfindet, sollte auf eine aktulle Virensignatur-Datenbank geachtet werden via //freshclam//.
53 +=== Installation ===
45 45  
46 -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.
55 +Um //ClamAV// auf einem Server zu installieren, sollten folgende Befehle auf dem Server eingegeben werden.
47 47  
48 -Folgende Parameter müssen der Datei hinzugefügt werden:
57 +//ClamAV// ist das Programm, welches Dateien auf Viren scannen kann und wird r die Verwendung von //ClamAV//-Daemon benötigt.
49 49  
50 -; TCPAddr (Erforderlich)
51 -: Soll hinzugefügt und mit dem Wert //127.0.0.1// angegeben werden.
52 -; TCPSocket (Erforderlich)
53 -: Soll hinzugefügt und mit dem Wert //3310// angegeben werden oder abweichend, falls der Port anderweitig genutzt werden soll.
54 -; User
55 -: Ist standardmäßig //clamav// und muss zu //root// geändert werden, um dem ClamAV-Daemon Service root Rechte zu geben.
59 +; Aktualisieren der package list:
60 +; {{code language="shell"}} sudo apt-get update {{/code}}
56 56  
57 -{{figure image="de_tcp_test.png"}}
58 - Mithilfe von //netstat// kann der TCP Socket vom ClamAV-Daemon Service untersucht werden.
59 -{{/figure}}
62 +; Installiere //ClamAV// und //ClamAV//-Daemon:
63 +; {{code language="shell"}} sudo apt-get install clamav clamav-daemon -y {{/code}}
60 60  
61 -Damit dieses Plugin den ClamAV-Daemon Service ansprechen kann, muss der Service an der richtigen Stelle zuren - in diesem Fall unter //127.0.0.1:3310//. Das kann durch folgenden Befehl im Terminal überprüft werden:
65 +=== Aktualisieren der Virensignatur-Datenbank ===
62 62  
63 -{{code language="shell"}}
64 -sudo netstat -anp | grep -E "(clam)"
65 -{{/code}}
67 +//freshclam// wird mit //ClamAV// automatisch installiert und wird zum aktualisieren der Virensignatur Datenbank genutzt.
68 +
69 +; Beenden des automatischen //freshclam// Prozess:
70 +; {{code language="shell"}} sudo systemctl stop clamav-freshclam {{/code}}
71 +
72 +; Manuelles aktualisieren der Virensignatur Datenabank:
73 +; {{code language="shell"}} sudo freshclam {{/code}}
74 +
75 +=== Konfiguration //ClamAV//-Daemon ===
76 +
77 +//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.
78 +
79 +Dafür soll die Konfigurationsdatei unter: // /etc/clamav/clamd.conf // angepasst werden.
80 +
81 +; Öffnen der Konfigurationsdatei:
82 +; {{code language="shell"}} sudo nano /etc/clamav/clamd.conf {{/code}}
83 +
84 +Mit den Pfeiltasten kann an das Ende der Datei navigiert werden.
85 +
86 +; Hinzufügen von //TCPAddr 127.0.0.1 //
87 +; Hinzufügen von //TCPSocket 3310 //
88 +
89 +{{lightbox image="en_clamd.conf.png"/}}
90 +
91 +; //ClamAV//-Daemon root Rechte geben
92 +: dafür muss in dieser Datei der Eintrag //User clamav// in //User root// geändert werden.
93 +
94 +Nun kann mit //Strg + X// gespeichert und beendet werden. Mit //Y// und der Enter-Taste bestätigen.
95 +
96 +=== Starten der //ClamAV//-Daemon Service ===
97 +
98 +Nun kann der Service gestartet werden.
99 +
100 +: Starten des //ClamAV//-Daemon Service:
101 +; {{code language="shell"}} sudo systemctl start clamav-daemon.service {{/code}}
102 +
103 +=== Prüfen der Verfügbarkeit des Service ===
104 +
105 +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.
106 +
107 +; Mithilfe von //netstat// kann der TCP Socket vom //ClamAV//-Daemon Service untersucht werden.
108 +; {{code language="shell"}} sudo netstat -anp | grep -E "(clam)" {{/code}}
109 +
110 +{{lightbox image="de_tcp_test.png"/}}
111 +
112 +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.
113 +
114 +== Beispielkonfiguration ==
115 +
116 +Ein beispielhafte Konfiguration mit den oben genannten Standardwerten:
117 +
118 +{{lightbox image="de_plugin.png"/}}
119 +
120 +== Verwendung ==
121 +
122 +Sobald eine Virensignatur erkannt wurde, ist folgende Meldung zu sehen:
123 +
124 +{{lightbox image="de_virus_found.png"/}}
125 +
126 +=== Testdatei ===
127 +
128 +Eine gängige Methode zur Überprüfung von Virenscannern ist die //eicar.com// Datei.
129 +An beliebiger Stelle kann diese Tastdatei hochgeladen werden und nach erfolgreicher Konfiguration ist die oben dargestellte Meldung zu sehen.
130 +
131 +; [[**Wikipedia**>>https://de.wikipedia.org/wiki/EICAR-Testdatei]]
132 +; [[**Download**>>https://www.eicar.org/download-anti-malware-testfile/]]
133 +
134 +=== Logging ===
135 +
136 +//ClamAV// erstellt logs, welche unter // /var/log/clamav/clamav.log // zu finden sind.
137 +
138 +: Nach dem hochladen der //eicar.com// Testdatei ist zum Beispiel folgender Eintrag in //clamav.log //zu sehen:
139 +; {{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}}
140 +
141 +{{formcycle/}} logs sind hierfür unter // /formcycle-data/formcycle7/logs zu finden.//
142 +
143 +: Nach dem hochladen der //eicar.com// Testdatei ist zum Beispiel folgender Eintrag in //formcycle-errors-log //zu sehen:
144 +; {{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}}
145 +; {{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}}
146 +
147 +== Versionshistorie ==
148 +
149 +**Version 1.0.1**
150 +
151 +* Optimierungen für Installation auf Server-Cluster
152 +
153 +**Version 1.0.0**
154 +
155 +* Initialer Release