Wiki-Quellcode von Microsoft Defender


Verstecke letzte Bearbeiter
jdr 1.3 1 {{info}}
2 {{version major="7" minor="0" patch="13" showInfo="true"}}
3 Dieses Plugin kann nur mit {{formcycle/}} Version 7.0.13 oder höher verwendet werden.
4 {{/version}}
5 {{/info}}
6
7 [[**Plugin-Download**>>https://customer.formcycle.eu/index.php/apps/files/?dir=/FORMCYCLE%20-%20Plugins%20Customer/fc-plugin-malware-scanner/MicrosoftDefender%20(Windows)&fileid=40505]]
8
9 {{content/}}
10
jdr 9.1 11 Mit dem kostenlosen Microsoft Defender-Plugin für {{formcycle/}} besteht die Möglichkeit, hochgeladene Dateien auf Viren zu scannen. Dafür benutzt das Plugin die von Microsoft Defender bereitgestellte //Malware Protection Command Line Utility//.
jdr 1.3 12
jdr 9.1 13 == Funktionalität ==
jdr 12.4 14
jdr 9.1 15 ; Sofortiger Virenscan
16 : Jede Datei wird direkt nachdem sie hochgeladen wurde gescannt.
jdr 1.4 17
jdr 12.9 18 In {{formcycle/}} ist es möglich, bspw. im Formular durch ein Upload-Element oder im Backend von {{formcycle/}}, Dateien hochzuladen. Durch dieses Plugin wird die //Malware Protection Command Line Utility// von Microsoft Defender angesprochen und ein Virenscan wird auf die hochgeladene Datei durchgeführt. Wenn es sich laut Microsoft Defender, um ein Virus handelt, wird eine Fehlermeldung angezeigt und im Vorgangsprotokol wird ein Eintrag hinzugefügt.
jdr 9.1 19
jdr 12.3 20 == Installation ==
21
jdr 12.5 22 Damit das Plugin auch in allen Mandanten und Formularen verfügbar ist, ist eine Installation als System-Plugin empfehlenswert, wodurch eine bessere zentrale Adminstration und Konfiguration möglich ist.
jdr 12.3 23
jdr 17.3 24 {{info}}
25 In bestimmten Fällen befindet sich der Microsoft Defender nicht in dem vom Plugin standardmäßg verwendeten Installationspfad. In diesen Fällen muss zwingend im Konfigurationsparameter //MpCmdRun-path// des Plugins der Ort angegeben werden, an dem der Microsoft Defender installiert ist. In den meisten Fällen liegt er dann unter //C:\ProgramData\Microsoft\Windows Defender\Platform\<Versionsnummer>\MpCmdRun.exe//, wobei hier die höchste vorhandene Version im Plugin angegeben werden sollte.
26 {{/info}}
gru 17.1 27
jdr 12.3 28 == Konfiguration ==
29
30 Folgende Konfigurationsparameter gibt es:
31
32 ; MpCmdRun-path (Erforderlich)
jdr 17.3 33 : Dateipfad zur MpCmdRun.exe bzw. //Malware Protection Command Line Utility// von //Microsoft Defender//. Durch sie kann ein Scan im Dateisystem durch die Befehlszeile stattfinden. Falls dieser Parameter nicht konfiguriert wurde, wird vom Plugin versucht, einen möglichen Dateipfad zu generieren. Dieser ist in der Pluginbeschreibung angegeben. Empfohlen ist jedoch den Pfad zur MpCmdRun.exe bzw. //Malware Protection Command Line Utility// selber anzugeben. Mögliche Dateipfade könnten sein: //C:\Program Files\Windows Defender\MpCmdRun.exe// oder //C:\ProgramData\Microsoft\Windows Defender\Platform\<letzte Version auswählen>\MpCmdRun.exe//. Falls ein Pfad eines Ordners angegeben wurde, wird versucht automatisch den Pfad zur letzten Version der //Malware Protection Command Line Utility// zu generieren. Der derzeitige genutzte Dateipfad zur //Malware Protection Command Line Utility// wird ebenfalls in der Pluginbeschreibung angegeben.
jdr 12.3 34 ; scan-timeout (Erforderlich)
35 : Hiermit kann die Zeit in Sekunden definierten werden, bevor der Scanprozess abgebrochen wird. Nach dem Timeout wird die Datei so behandelt wie eine Datei, bei der ein Virus gefunden wurde. Der Standardwert ist 45 Sekunden.
36
jdr 13.1 37 == Beispielkonfiguration ==
jdr 13.2 38
jdr 13.1 39 Beispiel für die Konfiguration des Plugins:
40
jdr 13.2 41 {{lightbox image="de_ms_defender_plugin.png"/}}
jdr 13.1 42
jdr 12.3 43 == Verwendung ==
44
jdr 15.1 45 Sobald eine Virensignatur erkannt wurde, ist folgende Meldung zu sehen:
46
47 {{lightbox image="de_ms_defender_backend_upload.png"/}}
48
jdr 12.6 49 === Testdatei ===
50
51 Eine gängige Methode zur Überprüfung von Virenscannern ist die //eicar.com// Datei.
jdr 13.2 52 Beispielsweise kann im Backend von {{formcycle/}} diese Testdatei hochgeladen werden und nach erfolgreicher Konfiguration ist eine Fehlermeldung zu sehen.
jdr 12.6 53
54 ; [[**Wikipedia**>>https://de.wikipedia.org/wiki/EICAR-Testdatei]]
55 ; [[**Download**>>https://www.eicar.org/download-anti-malware-testfile/]]
56
57 === Logging ===
58
59 Bei der Ausführung eines Virenscans durch die //Malware Protection Command Line Utility// von Microsoft Defender werden die Ergebnisse in eine MpCmdRun.log Datei geschrieben. Dadurch kann die genau Befehlszeilen Rückgabe des Scan nachvollzogen werden. In der Regel befindet sich diese Log-Datei im lokalen Temp-Verzeichnis. Zum Beispiel: //C:\Users\<UserName>\AppData\Local\Temp\MpCmdRun.log//
jdr 14.1 60
jdr 15.3 61 {{formcycle/}} logs sind hierfür unter // /tomcat9/bin/logs zu finden.//
jdr 15.1 62
jdr 15.3 63 : Nach dem Hochladen der //eicar.com// Testdatei ist zum Beispiel folgender Eintrag in //formcycle-errors-log //zu sehen:
jdr 15.2 64 ; {{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.fc_plugin_malware_scanner_ms_defender.MsDefenderFileScanner@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}}
jdr 15.1 65 ; {{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}}
66
jdr 14.1 67 == Versionshistorie ==
68
jdr 21.2 69 === Version 1.0.4 ===
70
71 * Change: Automatische Ermittlung zur letzten Version von MS Defender (MpCmdRun).
72
jdr 17.3 73 === Version 1.0.3 ===
jdr 14.1 74
awa 16.2 75 * 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.
76
jdr 17.3 77 === Version 1.0.2 ===
awa 16.2 78
jdr 14.1 79 * Automatische Ermittlung des Pfades zur ausführbaren Datei von MS Defender (MpCmdRun), wenn kein Pfad explizit angegeben wird.
80
jdr 17.3 81 === Version 1.0.1 ===
jdr 14.1 82
83 * Benennung von Plugin-Eigenschaften
84
jdr 17.3 85 === Version 1.0.0 ===
jdr 14.1 86
87 * Initialer Release