Files
2026-11-01 11:18:05 +00:00

3.9 KiB

VirusTotal-Anhangsprüfung für DeskHub

Jeder Anhang eines Tickets wird zurückgehalten, bis VirusTotal ihn geprüft hat. Erst danach ist er für Mitarbeiter herunterladbar.

Der Unterschied zum Plugin Anhänge-Virenscan: Der Virenscan prüft sofort lokal und fragt VirusTotal (optional) erst nachträglich; die Datei ist in der Zwischenzeit schon verfügbar. Dieses Plugin sperrt zuerst und gibt erst nach der Antwort von VirusTotal frei. Beide laufen nebeneinander (der Virenscan prüft eine Datei erst, wenn sie hier freigegeben ist).

Ablauf

  1. Neue Anhänge (Ticket anlegen, Antwort, E-Mail-Abruf) werden sofort zurückgehalten: Die Datei wandert in den Ordner uploads/vt-pruefung/ (nicht von außen erreichbar), der Anhang heißt [IN PRÜFUNG] … und lässt sich nicht herunterladen. Im Ticket steht ein interner Hinweis.
  2. Der Hintergrunddienst fragt bei VirusTotal den SHA-256-Fingerabdruck der Datei ab (nicht die Datei).
  3. Ergebnis:
    • Bekannt und sauber (weniger als Schwelle Scanner melden etwas, Standard 3): freigegeben, alles wie vorher.
    • Schadsoftware (mindestens Schwelle Scanner): bleibt gesperrt ([GESPERRT] …), Tag „Virus-Verdacht“, Hinweis im Ticket, Mail an den Administrator.
    • Unbekannt: Standard ist, die Datei zurückzuhalten, bis ein Administrator sie prüft und freigibt oder löscht. Einstellbar: freigeben, oder (nur wenn ausdrücklich eingeschaltet) zur Analyse hochladen.
    • VirusTotal nicht erreichbar: mehrere Versuche mit wachsendem Abstand, danach zurückhalten (oder freigeben, einstellbar).

Einrichtung

  1. Plugin hochladen und aktivieren (Berechtigungen hooks.tickets, hooks.cron, ui.menu, db.migrations).
  2. Auf virustotal.com ein (kostenloses) Konto anlegen und im Profil den API Key kopieren (64 Zeichen).
  3. Im Adminportal unter VirusTotal den Schlüssel eintragen, speichern und Schlüssel testen.

Ohne Schlüssel werden keine Anhänge zurückgehalten. Anhänge, die vor dem Einschalten da waren, bleiben unberührt.

Datenschutz (wichtig)

  • Standard: Keine Datei verlässt den Server. Es wird nur der Fingerabdruck abgefragt.
  • „Unbekannte Dateien hochladen“ (aus, bis zu 32 MB) sendet die Datei an VirusTotal. Dort wird sie gespeichert und steht Sicherheitsfirmen und zahlenden Kunden zur Verfügung. Ticket-Anhänge können persönliche Inhalte enthalten (Ausweise, Bilder, Dokumente). Nur einschalten, wenn das für eure Nutzer in Ordnung ist und in der Datenschutzerklärung steht.

Limits und Verhalten

  • Kostenloser Schlüssel: 4 Abfragen pro Minute, 500 pro Tag. Das Plugin hält sich daran (4 pro Lauf, höchstens 480 pro Tag). Bei vielen Anhängen entsteht eine Warteschlange; ist das Tageslimit erreicht, stehen die Dateien bis zum nächsten Tag an. Ein bezahlter Schlüssel hebt die Grenzen auf; die Zahl im Plugin bleibt konservativ.
  • Die Abfragen laufen im Hintergrunddienst von DeskHub (jede Minute, wenn der echte Cronjob eingerichtet ist, sonst alle 5 Minuten bzw. bei Seitenaufrufen). Mit Cronjob (Einstellungen → Cron-Jobs → „Jetzt installieren“) sind Anhänge nach etwa einer Minute frei.
  • Bis zum Ergebnis erscheint der Anhang im Ticket als [IN PRÜFUNG] und lässt sich nicht herunterladen (auch nicht vom Kunden, falls er seine Anhänge sieht).
  • Der Virenscan-Schutz bleibt wichtig: VirusTotal kennt neue, gezielte Schadsoftware oft nicht. Unbekannt heißt nicht sauber; darum ist „zurückhalten“ der Standard.

Grenzen

  • Geprüft werden Dateien bis 32 MB per Upload; die Abfrage des Fingerabdrucks funktioniert für jede Größe.
  • Es wird nur der Fingerabdruck bewertet (kein Entpacken von Archiven, kein Lesen des Inhalts); dafür gibt es den Virenscan.
  • Bereits freigegebene Dateien werden nicht erneut geprüft.

Tests

tests/plugin_virustotal.php im DeskHub-Projekt (VirusTotal wird dort durch eine Funktion ersetzt; es gibt keine Verbindung zu VirusTotal).