Änderungen von Dokument ClamAV


Von Version 18.1
bearbeitet von fse
am 25.05.2022, 10:26
Ä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 -== Konfiguration ==
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,56 +39,134 @@
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 wichtige Konfigurationsschritte 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 -Da das eigentliche Virusscanning losgelöst von {{formcycle/}} stattfindet, sollte auf eine aktulle Virensignatur-Datenbank geachtet werden via //freshclam//.
49 +=== Installation ===
52 52  
53 -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.
51 +Um //ClamAV// auf einem Server zu installieren, sollten folgende Befehle auf dem Server eingegeben werden.
54 54  
55 -Folgende Parameter müssen der Datei hinzugefügt werden:
53 +//ClamAV// ist das Programm, welches Dateien auf Viren scannen kann und wird r die Verwendung von //ClamAV//-Daemon benötigt.
56 56  
57 -; TCPAddr (Erforderlich)
58 -: Soll hinzugefügt und mit dem Wert //127.0.0.1// angegeben werden.
59 -; TCPSocket (Erforderlich)
60 -: Soll hinzugefügt und mit dem Wert //3310// angegeben werden oder abweichend, falls der Port anderweitig genutzt werden soll.
61 -; User
62 -: Ist standardmäßig //clamav// und muss zu //root// geändert werden, um dem //ClamAV//-Daemon Service root Rechte zu geben.
55 +; Aktualisieren der package list:
56 +; {{code language="shell"}} sudo apt-get update {{/code}}
63 63  
64 -{{figure image="de_tcp_test.png"}}
65 - Mithilfe von //netstat// kann der TCP Socket vom //ClamAV//-Daemon Service untersucht werden.
66 -{{/figure}}
58 +; Installiere //ClamAV// und //ClamAV//-Daemon:
59 +; {{code language="shell"}} sudo apt-get install clamav clamav-daemon -y {{/code}}
67 67  
68 -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:
61 +=== Aktualisieren der Virensignatur-Datenbank ===
69 69  
70 -{{code language="shell"}}
71 -sudo netstat -anp | grep -E "(clam)"
72 -{{/code}}
63 +//freshclam// wird mit //ClamAV// automatisch installiert und wird zum aktualisieren der Virensignatur Datenbank genutzt.
73 73  
65 +; Beenden des automatischen //freshclam// Prozess:
66 +; {{code language="shell"}} sudo systemctl stop clamav-freshclam {{/code}}
67 +
68 +; Manuelles aktualisieren der Virensignatur Datenbank:
69 +; {{code language="shell"}} sudo freshclam {{/code}}
70 +
71 +=== Konfiguration //ClamAV//-Daemon ===
72 +
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 +
75 +Dafür soll die Konfigurationsdatei unter: // /etc/clamav/clamd.conf // angepasst werden.
76 +
77 +; Öffnen der Konfigurationsdatei:
78 +; {{code language="shell"}} sudo nano /etc/clamav/clamd.conf {{/code}}
79 +
80 +Mit den Pfeiltasten kann an das Ende der Datei navigiert werden.
81 +
82 +; Hinzufügen von //TCPAddr 127.0.0.1 //
83 +; Hinzufügen von //TCPSocket 3310 //
84 +
85 +{{lightbox image="en_clamd.conf.png"/}}
86 +
87 +; //ClamAV//-Daemon root Rechte geben
88 +: dafür muss in dieser Datei der Eintrag //User clamav// in //User root// geändert werden.
89 +
90 +Nun kann mit //Strg + X// gespeichert und beendet werden. Mit //Y// und der Enter-Taste bestätigen.
91 +
92 +=== Starten der //ClamAV//-Daemon Service ===
93 +
94 +Nun kann der Service gestartet werden.
95 +
96 +: Starten des //ClamAV//-Daemon Service:
97 +; {{code language="shell"}} sudo systemctl start clamav-daemon.service {{/code}}
98 +
99 +=== Prüfen der Verfügbarkeit des Service ===
100 +
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 +
74 74  == Beispielkonfiguration ==
75 75  
76 76  Ein beispielhafte Konfiguration mit den oben genannten Standardwerten:
77 77  
78 -{{lightbox image="de_plugin.png" /}}
114 +{{lightbox image="de_plugin.png"/}}
79 79  
80 80  == Verwendung ==
81 81  
82 82  Sobald eine Virensignatur erkannt wurde, ist folgende Meldung zu sehen:
83 83  
84 -{{lightbox image="de_virus_found.png" /}}
120 +{{lightbox image="de_virus_found.png"/}}
85 85  
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 +
86 86  == Versionshistorie ==
87 87  
88 -**Version 1.0.1**
145 +=== Version 1.0.6 ===
89 89  
90 -* 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
91 91  
92 -**Version 1.0.0**
150 +=== Version 1.0.5 ===
93 93  
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 +
94 94  * Initialer Release