Änderungen von Dokument ClamAV


Von Version 21.1
bearbeitet von fse
am 25.05.2022, 11:39
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 34.6
bearbeitet von jdr
am 23.11.2023, 14:33
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.fse
1 +XWiki.jdr
Inhalt
... ... @@ -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. 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.
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.
26 26  {{/info}}
27 27  
28 28  == Konfiguration Plugin ==
29 29  
30 -//ClamAV// ist dafür gedacht, auf Linux basierten Servern zu laufen. Deswegen kann eine anderweitige Unterstützung unserseits nicht garantiert werden.
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 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,23 +39,23 @@
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 +; os (Optional)
43 +: Standardwert: //JVM_PLATFORM//. Betriebssystem, auf dem der ClamAV-Daemon-Dienst läuft. Dieser Wert ist nur relevant, wenn das Betriebssystem von formcycle und das des ClamAV-Daemon-Dienstes unterschiedlich sind. Für Linux oder MacOS geben Sie //UNIX// ein, r Windows //WINDOWS//. Wenn beide auf dem gleichen Betriebssystem laufen, können Sie diesen Wert leer lassen oder //JVM_PLATFORM// verwenden.
44 44  
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 -
47 47  == Konfiguration //ClamAV// ==
48 48  
49 -Im folgenden Abschnitt wird auf Installation und Konfiguration von //ClamAV//-Daemon eingegangen. Unser empfohlenes Szenario ist {{formcycle/}} und den //ClamAV//-Daemon Service auf dem selben Server zu installieren.
47 +Im folgenden Abschnitt wird auf Installation und Konfiguration von //ClamAV// auf einem UNIX-System eingegangen. Unser empfohlenes Szenario ist {{formcycle/}} und den //ClamAV//-Daemon Service auf dem selben Server zu installieren.
50 50  
51 51  === Installation ===
52 52  
53 -Um //ClamAV//-Daemon auf einem Server zu installieren, sollten folgende Befehle auf dem Server eingegeben werden.
51 +Um //ClamAV// auf einem Server zu installieren, sollten folgende Befehle auf dem Server eingegeben werden.
54 54  
55 -: Aktualisieren der package list:
53 +//ClamAV// ist das Programm, welches Dateien auf Viren scannen kann und wird für die Verwendung von //ClamAV//-Daemon benötigt.
54 +
55 +; Aktualisieren der package list:
56 56  ; {{code language="shell"}} sudo apt-get update {{/code}}
57 57  
58 -: Installiere //ClamAV// und //ClamAV//-Daemon:
58 +; Installiere //ClamAV// und //ClamAV//-Daemon:
59 59  ; {{code language="shell"}} sudo apt-get install clamav clamav-daemon -y {{/code}}
60 60  
61 61  === Aktualisieren der Virensignatur-Datenbank ===
... ... @@ -62,67 +62,111 @@
62 62  
63 63  //freshclam// wird mit //ClamAV// automatisch installiert und wird zum aktualisieren der Virensignatur Datenbank genutzt.
64 64  
65 -: Beenden des automatischen //freshclam// Prozess:
65 +; Beenden des automatischen //freshclam// Prozess:
66 66  ; {{code language="shell"}} sudo systemctl stop clamav-freshclam {{/code}}
67 67  
68 -: Manuelles aktualisieren der Virensignatur Datenabank:
68 +; Manuelles aktualisieren der Virensignatur Datenbank:
69 69  ; {{code language="shell"}} sudo freshclam {{/code}}
70 70  
71 -=== Konfiguration //ClamAV//-Daemon
71 +=== Konfiguration //ClamAV//-Daemon ===
72 72  
73 73  //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.
74 74  
75 75  Dafür soll die Konfigurationsdatei unter: // /etc/clamav/clamd.conf // angepasst werden.
76 76  
77 -: Öffnen der Konfigurationsdatei:
77 +; Öffnen der Konfigurationsdatei:
78 78  ; {{code language="shell"}} sudo nano /etc/clamav/clamd.conf {{/code}}
79 79  
80 -: Hinzufügen von //TCPAddr 127.0.0.1 //
81 -: Hinzufügen von //TCPSocket 3310 //
80 +Mit den Pfeiltasten kann an das Ende der Datei navigiert werden.
82 82  
83 -{{lightbox image="en_clamd.conf.png" /}}
82 +; Hinzufügen von //TCPAddr 127.0.0.1 //
83 +; Hinzufügen von //TCPSocket 3310 //
84 84  
85 -Da das eigentliche Virusscanning losgelöst von {{formcycle/}} stattfindet, sollte auf eine aktulle Virensignatur-Datenbank geachtet werden via //freshclam//.
85 +{{lightbox image="en_clamd.conf.png"/}}
86 86  
87 -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.
87 +; //ClamAV//-Daemon root Rechte geben
88 +: dafür muss in dieser Datei der Eintrag //User clamav// in //User root// geändert werden.
88 88  
89 -Folgende Parameter ssen der Datei hinzugefügt werden:
90 +Nun kann mit //Strg + X// gespeichert und beendet werden. Mit //Y// und der Enter-Taste bestätigen.
90 90  
91 -; TCPAddr (Erforderlich)
92 -: Soll hinzugefügt und mit dem Wert //127.0.0.1// angegeben werden.
93 -; TCPSocket (Erforderlich)
94 -: Soll hinzugefügt und mit dem Wert //3310// angegeben werden oder abweichend, falls der Port anderweitig genutzt werden soll.
95 -; User
96 -: Ist standardmäßig //clamav// und muss zu //root// geändert werden, um dem //ClamAV//-Daemon Service root Rechte zu geben.
92 +=== Starten der //ClamAV//-Daemon Service ===
97 97  
98 -{{figure image="de_tcp_test.png"}}
99 - Mithilfe von //netstat// kann der TCP Socket vom //ClamAV//-Daemon Service untersucht werden.
100 -{{/figure}}
94 +Nun kann der Service gestartet werden.
101 101  
102 -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:
96 +: Starten des //ClamAV//-Daemon Service:
97 +; {{code language="shell"}} sudo systemctl start clamav-daemon.service {{/code}}
103 103  
104 -{{code language="shell"}}
105 -sudo netstat -anp | grep -E "(clam)"
106 -{{/code}}
99 +=== Prüfen der Verfügbarkeit des Service ===
107 107  
101 +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.
102 +
103 +; Mithilfe von //netstat// kann der TCP Socket vom //ClamAV//-Daemon Service untersucht werden.
104 +; {{code language="shell"}} sudo netstat -anp | grep -E "(clam)" {{/code}}
105 +
106 +{{lightbox image="de_tcp_test.png"/}}
107 +
108 +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.
109 +
108 108  == Beispielkonfiguration ==
109 109  
110 110  Ein beispielhafte Konfiguration mit den oben genannten Standardwerten:
111 111  
112 -{{lightbox image="de_plugin.png" /}}
114 +{{lightbox image="de_plugin.png"/}}
113 113  
114 114  == Verwendung ==
115 115  
116 116  Sobald eine Virensignatur erkannt wurde, ist folgende Meldung zu sehen:
117 117  
118 -{{lightbox image="de_virus_found.png" /}}
120 +{{lightbox image="de_virus_found.png"/}}
119 119  
122 +=== Testdatei ===
123 +
124 +Eine gängige Methode zur Überprüfung von Virenscannern ist die //eicar.com// Datei.
125 +An beliebiger Stelle kann diese Tastdatei hochgeladen werden und nach erfolgreicher Konfiguration ist die oben dargestellte Meldung zu sehen.
126 +
127 +; [[**Wikipedia**>>https://de.wikipedia.org/wiki/EICAR-Testdatei]]
128 +; [[**Download**>>https://www.eicar.org/download-anti-malware-testfile/]]
129 +
130 +=== Logging ===
131 +
132 +//ClamAV// erstellt logs, welche unter // /var/log/clamav/clamav.log // zu finden sind.
133 +
134 +: Nach dem hochladen der //eicar.com// Testdatei ist zum Beispiel folgender Eintrag in //clamav.log //zu sehen:
135 +; {{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}}
136 +
137 +{{formcycle/}} logs sind hierfür unter // /formcycle-data/formcycle7/logs zu finden.//
138 +
139 +: Nach dem hochladen der //eicar.com// Testdatei ist zum Beispiel folgender Eintrag in //formcycle-errors-log //zu sehen:
140 +; {{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}}
141 +; {{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}}
142 +
120 120  == Versionshistorie ==
121 121  
122 -**Version 1.0.1**
145 +=== Version 1.0.6 ===
123 123  
124 -* Optimierungen für Installation auf Server-Cluster
147 +* Change: Virenscan über ClamAV ist nun auch für Windows oder JVM Plattformen möglich
148 +* Fix: Fehler bei der Fehlerbehandlung behoben
125 125  
126 -**Version 1.0.0**
150 +=== Version 1.0.5 ===
127 127  
152 +* Verbesserte Fehlermeldung im Log, wenn Clam-AV nicht angesprochen werden konnte
153 +
154 +=== Version 1.0.4 ===
155 +
156 +* Fix: Ein Fehler beim Virenscan auf dem Frontend-Server wurde behoben.
157 +
158 +=== Version 1.0.3 ===
159 +
160 +* 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.
161 +
162 +=== Version 1.0.2 ===
163 +
164 +* Entfernen: Eigenschaft für Pfad-Scanning, nur noch InputStream
165 +
166 +=== Version 1.0.1 ===
167 +
168 +* Fix: Überspringen der Überprüfung, wenn das Betriebssystem nicht UNIX ist, anstatt die Datei als Virus zu erkennen
169 +
170 +=== Version 1.0.0 ===
171 +
128 128  * Initialer Release