| ... | ... | @@ -4,60 +4,129 @@ | 
              
                    | 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]] | 
              
                    |  | 7 | +[[**Plugin-Download**>>https://customer.formcycle.eu/index.php/apps/files/?dir=/FORMCYCLE%20-%20Plugins%20Customer/fc-plugin-malware-scanner/ClamAV&fileid=40404]] (erfordert Anmeldung) | 
              
                    | 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 |  | - Esist möglich, hochgeladene Elemente im Backend sowie in ausgelieferten Formularen durch ClamAV auf Viren untersuchen zu lassen. Dazu wird dieses Plugin als aktiviertes System-Plugin benötigt sowie ein laufender ClamAV-Daemon Service der über TCP erreichtwerden kann. | 
              
                    |  | 13 | +== Funktionalität == | 
              
                    | 16 | 16 |  | 
              
                    | 17 |  | -Nachdem dieses Plugin installiert wurde, muss es konfiguriert werden. Die Konfiguration besteht daraus, dass angegeben wird, auf welche {{smallcaps}}host:port{{/smallcaps}} Kombination zugegriffen werden soll. Außerdem kann die Übertragung mit einem {{smallcaps}}InputStream{{/smallcaps}} geschehen oder es wird direkt auf dem Pfad gearbeitet. | 
              
                    |  | 15 | +; Sofortiger Virenscan | 
              
                    |  | 16 | +: Jede Datei wird direkt nach Ihrem Upload gescannt. | 
              
                    | 18 | 18 |  | 
              
                    | 19 |  | - ==Konfiguration== | 
              
                    |  | 18 | +Der verwendete //ClamAV//-Daemon Service kann weder durch dieses Plugin konfiguriert noch gestartet werden. | 
              
                    | 20 | 20 |  | 
              
                    | 21 |  | - ClamAVist dafür gedacht, auf Linux basierten Servern zu laufen. Deswegen kann eine anderweitige Unterstützungunserseits nicht garantiert werden. | 
              
                    |  | 20 | +== Installation == | 
              
                    | 22 | 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 | + | 
              
                    |  | 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 | +//ClamAV// ist dafür gedacht, auf Linux basierten Servern zu laufen. Deswegen kann eine anderweitige Unterstützung unserseits nicht garantiert werden. | 
              
                    |  | 31 | + | 
              
                    | 23 | 23 | {{figure image="de_error.png" width="400"}} | 
              
                    | 24 | 24 | Falls keine Verbindung zu dem angegeben Host aufgebaut werden kann, wird diese Meldung ausgegeben. | 
              
                    | 25 | 25 | {{/figure}} | 
              
                    | 26 | 26 |  | 
              
                    | 27 |  | -Folgende Konfigurationparameter gibt es: | 
              
                    |  | 36 | +Folgende Konfigurationsparameter gibt es: | 
              
                    | 28 | 28 |  | 
              
                    | 29 | 29 | ; host (Erforderlich) | 
              
                    | 30 |  | -: Host-Nameoder IP-Adresse desServers auf dem ClamAV-Daemonläuft. Derstandard Host ist{{smallcaps}}127.0.0.1{{/smallcaps}},genaudannwennClamAV 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. | 
              
                    | 31 | 31 | ; port (Erforderlich) | 
              
                    | 32 |  | -: Der Standard PortvonClamAV-Daemon ist{{smallcaps}}3310{{/smallcaps}}.Falls derPort abweichensollte, somuss dieserhierangepasstwerden. | 
              
                    |  | 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 | 
              
                    | 33 | 33 | ; file-source | 
              
                    | 34 |  | -: Standard mäßigwird daszu überprüfendeElementper Javas{{smallcaps}}InputStream{{/smallcaps}}übertragen. Falls hier der Wert{{smallcaps}}path{{/smallcaps}}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. | 
              
                    | 35 | 35 |  | 
              
                    | 36 | 36 | 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. | 
              
                    | 37 | 37 |  | 
              
                    | 38 |  | -== ClamAV Einstellungen == | 
              
                    |  | 47 | +== Konfiguration //ClamAV// == | 
              
                    | 39 | 39 |  | 
              
                    | 40 |  | -Im folgenden Abschnitt wird auf wichtigeKonfigurationsschrittevon ClamAV-Daemoneingegangen. Unser empfohlenes Szenario ist {{formcycle/}} und den ClamAV-Daemon Service auf dem selben Server zu installieren. | 
              
                    |  | 49 | +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. | 
              
                    | 41 | 41 |  | 
              
                    | 42 |  | - Dadas eigentliche Virusscanning losgelöst von {{formcycle/}} stattfindet, sollte auf eineaktulle Virensignatur-Datenbank geachtet werden via {{smallcaps}}freshclam{{/smallcaps}}. | 
              
                    |  | 51 | +=== Installation === | 
              
                    | 43 | 43 |  | 
              
                    | 44 |  | - DiesesPluginüberträgtdie zuuntersuchendenElementeviaTCP, wasstandardmäßig in ClamAV-Daemondeaktiviertist. Zur Aktivierung muss die Konfigurationsdatei unter: {{smallcaps}}/etc/clamav/clamd.conf{{/smallcaps}}bearbeitet werden. | 
              
                    |  | 53 | +Um //ClamAV// auf einem Server zu installieren, sollten folgende Befehle auf dem Server eingegeben werden. | 
              
                    | 45 | 45 |  | 
              
                    |  | 55 | +//ClamAV// ist das Programm, welches Dateien auf Viren scannen kann und wird für die Verwendung von //ClamAV//-Daemon benötigt. | 
              
                    |  | 56 | + | 
              
                    |  | 57 | +: Aktualisieren der package list: | 
              
                    |  | 58 | +; {{code language="shell"}} sudo apt-get update {{/code}} | 
              
                    |  | 59 | + | 
              
                    |  | 60 | +: Installiere //ClamAV// und //ClamAV//-Daemon: | 
              
                    |  | 61 | +; {{code language="shell"}} sudo apt-get install clamav clamav-daemon -y {{/code}} | 
              
                    |  | 62 | + | 
              
                    |  | 63 | +=== Aktualisieren der Virensignatur-Datenbank === | 
              
                    |  | 64 | + | 
              
                    |  | 65 | +//freshclam// wird mit //ClamAV// automatisch installiert und wird zum aktualisieren der Virensignatur Datenbank genutzt. | 
              
                    |  | 66 | + | 
              
                    |  | 67 | +: Beenden des automatischen //freshclam// Prozess: | 
              
                    |  | 68 | +; {{code language="shell"}} sudo systemctl stop clamav-freshclam {{/code}} | 
              
                    |  | 69 | + | 
              
                    |  | 70 | +: Manuelles aktualisieren der Virensignatur Datenabank: | 
              
                    |  | 71 | +; {{code language="shell"}} sudo freshclam {{/code}} | 
              
                    |  | 72 | + | 
              
                    |  | 73 | +=== Konfiguration //ClamAV//-Daemon === | 
              
                    |  | 74 | + | 
              
                    |  | 75 | +//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. | 
              
                    |  | 76 | + | 
              
                    |  | 77 | +Dafür soll die Konfigurationsdatei unter: // /etc/clamav/clamd.conf // angepasst werden. | 
              
                    |  | 78 | + | 
              
                    |  | 79 | +: Öffnen der Konfigurationsdatei: | 
              
                    |  | 80 | +; {{code language="shell"}} sudo nano /etc/clamav/clamd.conf {{/code}} | 
              
                    |  | 81 | + | 
              
                    |  | 82 | +Mit den Pfeiltasten kann an das Ende der Datei navigiert werden. | 
              
                    |  | 83 | + | 
              
                    |  | 84 | +: Hinzufügen von //TCPAddr 127.0.0.1 // | 
              
                    |  | 85 | +: Hinzufügen von //TCPSocket 3310 // | 
              
                    |  | 86 | + | 
              
                    |  | 87 | +{{lightbox image="en_clamd.conf.png"/}} | 
              
                    |  | 88 | + | 
              
                    |  | 89 | +Da das eigentliche Virusscanning losgelöst von {{formcycle/}} stattfindet, sollte auf eine aktulle Virensignatur-Datenbank geachtet werden via //freshclam//. | 
              
                    |  | 90 | + | 
              
                    |  | 91 | +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. | 
              
                    |  | 92 | + | 
              
                    | 46 | 46 | Folgende Parameter müssen der Datei hinzugefügt werden: | 
              
                    | 47 | 47 |  | 
              
                    | 48 | 48 | ; TCPAddr (Erforderlich) | 
              
                    | 49 |  | -: Soll hinzugefügt und mit dem Wert {{smallcaps}}127.0.0.1{{/smallcaps}}angegeben werden. | 
              
                    |  | 96 | +: Soll hinzugefügt und mit dem Wert //127.0.0.1// angegeben werden. | 
              
                    | 50 | 50 | ; TCPSocket (Erforderlich) | 
              
                    | 51 |  | -: Soll hinzugefügt und mit dem Wert {{smallcaps}}3310{{/smallcaps}}angegeben werden oder abweichend, falls der Port anderweitig genutzt werden soll. | 
              
                    |  | 98 | +: Soll hinzugefügt und mit dem Wert //3310// angegeben werden oder abweichend, falls der Port anderweitig genutzt werden soll. | 
              
                    | 52 | 52 | ; User | 
              
                    | 53 |  | -: Ist standardmäßig {{smallcaps}}clamav{{/smallcaps}}und muss zu{{smallcaps}}root{{/smallcaps}}geändert werden um dem ClamAV-Daemon Service root Rechte zu geben. | 
              
                    |  | 100 | +: Ist standardmäßig //clamav// und muss zu //root// geändert werden, um dem //ClamAV//-Daemon Service root Rechte zu geben. | 
              
                    | 54 | 54 |  | 
              
                    | 55 | 55 | {{figure image="de_tcp_test.png"}} | 
              
                    | 56 |  | -  Mithilfe von {{smallcaps}}netstat{{/smallcaps}}kann der TCP Socket vom ClamAV-Daemon Service untersucht werden. | 
              
                    |  | 103 | +  Mithilfe von //netstat// kann der TCP Socket vom //ClamAV//-Daemon Service untersucht werden. | 
              
                    | 57 | 57 | {{/figure}} | 
              
                    | 58 | 58 |  | 
              
                    | 59 |  | -Damit dieses Plugin den ClamAV-Daemon Service ansprechen kann, muss der Service an der richtigen Stelle zuhören - in diesem Fall unter {{smallcaps}}127.0.0.1:3310{{/smallcaps}}. Das kann durch folgenden Befehl im Terminal überprüft werden: | 
              
                    |  | 106 | +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: | 
              
                    | 60 | 60 |  | 
              
                    | 61 | 61 | {{code language="shell"}} | 
              
                    | 62 | 62 | sudo netstat -anp | grep -E "(clam)" | 
              
                    | 63 | 63 | {{/code}} | 
              
                    |  | 111 | + | 
              
                    |  | 112 | +== Beispielkonfiguration == | 
              
                    |  | 113 | + | 
              
                    |  | 114 | +Ein beispielhafte Konfiguration mit den oben genannten Standardwerten: | 
              
                    |  | 115 | + | 
              
                    |  | 116 | +{{lightbox image="de_plugin.png"/}} | 
              
                    |  | 117 | + | 
              
                    |  | 118 | +== Verwendung == | 
              
                    |  | 119 | + | 
              
                    |  | 120 | +Sobald eine Virensignatur erkannt wurde, ist folgende Meldung zu sehen: | 
              
                    |  | 121 | + | 
              
                    |  | 122 | +{{lightbox image="de_virus_found.png"/}} | 
              
                    |  | 123 | + | 
              
                    |  | 124 | +== Versionshistorie == | 
              
                    |  | 125 | + | 
              
                    |  | 126 | +**Version 1.0.1** | 
              
                    |  | 127 | + | 
              
                    |  | 128 | +* Optimierungen für Installation auf Server-Cluster | 
              
                    |  | 129 | + | 
              
                    |  | 130 | +**Version 1.0.0** | 
              
                    |  | 131 | + | 
              
                    |  | 132 | +* Initialer Release |