Zum Inhalt

Malware-Scanner

Der Malware-Scanner prüft die Webroots gehosteter Websites auf PHP-Shells, Backdoors und injizierten Code. Er kombiniert Linux Malware Detect (maldet) mit optional ClamAV als zweiter Signatur-Engine und läuft direkt auf dem Server, auf dem die Website liegt.


Funktionsweise

Der Scan läuft asynchron auf dem Server der Website:

  1. Das Panel legt einen Scan-Datensatz an und beauftragt den Agenten.
  2. Der Agent startet maldet im Hintergrund und meldet sofort zurück.
  3. Während des Scans veröffentlicht der Agent einen Live-Fortschritt (geprüfte Dateien, Treffer).
  4. Nach Abschluss meldet der Agent das Ergebnis (geprüfte Dateien + Funde) an das Panel zurück.

Scan-Engines

Primär scannt maldet mit seinen eigenen, auf Web-Malware spezialisierten Signaturen. Ist ClamAV installiert, kommen dessen Signaturen (Cisco Talos, ca. 8 Mio. Signaturen, stündlich aktualisiert über freshclam) hinzu — erweitert um die inoffiziellen Feeds von Sanesecurity, URLhaus und MalwarePatrol. Beide Werkzeuge werden bei Bedarf automatisch installiert (kein Docker, keine manuelle Einrichtung).


Scan-Typen

Typ Umfang Wann verwenden
Vollständiger Scan Das gesamte Webroot rekursiv Erstprüfung, Verdacht auf Kompromittierung, nach Wiederherstellung
Schnell-Scan (inkrementell) Nur Dateien, die in den letzten 7 Tagen geändert wurden Regelmäßige, schnelle Kontrolle

Der Vollständige Scan kann bei großen Websites (100.000+ Dateien) längere Zeit in Anspruch nehmen. Er läuft mit niedriger Priorität, sodass der Webserver-Betrieb nicht beeinträchtigt wird.


Scan starten

Als Administrator

  1. Navigieren Sie zu Malware-Scanner
  2. Die Tabelle listet alle Websites mit Status und letztem Scan
  3. Klicken Sie bei der gewünschten Website auf Jetzt scannen
  4. Über das Dropdown wählen Sie zwischen Schnell-Scan (letzte 7 Tage) und Vollständiger Scan
  5. Nach dem Start öffnet sich das Fortschritts-Fenster

Administratoren können jede Website scannen — unabhängig vom Kundenpaket.

Als Kunde

Kunden mit der Berechtigung Malware-Scan im Paket sehen den Menüpunkt Malware-Scanner und können ihre eigenen Websites scannen. Ein Kunden-Scan ist immer ein Schnell-Scan.

Berechtigung

Der Malware-Scanner wird pro Paket über die Berechtigung Malware-Scan (perm_malware_scan) freigeschaltet. Ohne diese Berechtigung ist das Feature für den Kunden nicht sichtbar und der automatische Scan (siehe unten) überspringt die Websites des Kunden.


Automatische Scans

Ein Hintergrund-Scheduler prüft die Websites selbstständig:

Eigenschaft Wert
Intervall Alle 5 Minuten ein Tick
Scan-Typ Inkrementell (Schnell-Scan)
Pro Tick Genau eine berechtigte Website pro Server
Rhythmus pro Website Höchstens einmal alle ~22 Stunden
Voraussetzung Abonnement aktiv und Paket-Berechtigung Malware-Scan

Priorisierung — welche Website als Nächstes gescannt wird:

  1. Websites mit mindestens einem aktiven Fund zuerst
  2. dann die Website mit dem ältesten abgeschlossenen Scan
  3. dann noch nie gescannte Websites

So verteilt der Scheduler die Last gleichmäßig über den Tag und bevorzugt Websites, die Aufmerksamkeit brauchen.

Parallelität

Pro Server laufen höchstens zwei Scans gleichzeitig; weitere werden in eine Warteschlange gestellt und starten, sobald ein Platz frei wird.


Status-Anzeige

Jede Website zeigt in der Übersicht einen Status:

Status Bedeutung
Noch nie gescannt Für diese Website liegt kein Scan vor
Scan läuft… Ein Scan ist gerade aktiv
Sauber Letzter Scan abgeschlossen, keine Bedrohungen
Bedrohungen Letzter Scan hat Funde ergeben
Fehlgeschlagen Der Scan konnte nicht abgeschlossen werden

Der Lebenszyklus eines Scans ist pending → running → completed (bzw. failed). Bleibt ein Scan länger als 45 Minuten hängen (z. B. weil der Agent zwischenzeitlich neu gestartet wurde), wird er automatisch als fehlgeschlagen markiert, damit die Website wieder scanbar ist.


Fortschritt verfolgen und abbrechen

Während ein Scan läuft:

  • Fortschritt anzeigen öffnet ein Fenster mit Live-Zähler (geprüfte Dateien, gefundene Bedrohungen).
  • Das Fenster kann geschlossen werden — der Scan läuft im Hintergrund weiter.
  • Scan abbrechen beendet den laufenden Scan. Bereits gefundene Bedrohungen werden dabei verworfen.

Funde (Findings)

Für jede als schädlich erkannte Datei entsteht ein Fund. Über Funde ansehen öffnet sich eine Detailansicht mit Kennzahlen (Startzeit, Dauer, geprüfte Dateien, Anzahl Bedrohungen) und der Liste der Funde.

Bedrohungstyp

Typ Beschreibung
webshell Web-Shell (z. B. hochgeladenes Angriffsskript)
backdoor Hintertür für dauerhaften Zugriff
injected_code In legitime Dateien eingeschleuster Schadcode
suspicious Verdächtig, aber nicht eindeutig klassifiziert

Schweregrad

Schweregrad Typische Zuordnung
Kritisch Web-Shells, Backdoors
Hoch Trojaner, injizierter Code
Mittel Verdächtige/obfuskierte Muster (z. B. Base64)
Niedrig Sonstige Treffer

Die Detailansicht zeigt eine Aufschlüsselung nach Schweregrad und Status; über die Zähler lässt sich die Fundliste filtern.


Aktionen auf Funde

Jeder Fund hat einen Status: Aktiv, In Quarantäne, Ignoriert oder Behoben. Für aktive Funde stehen zwei Aktionen zur Verfügung:

In Quarantäne verschieben

  • Verschiebt die betroffene Datei in das Verzeichnis .quarantine/ innerhalb des Webroots.
  • Das Quarantäne-Verzeichnis gehört root (Modus 0700) und ist für das Kunden-PHP durch open_basedir nicht erreichbar — die Datei kann von dort nicht mehr ausgeführt oder gelesen werden.
  • Der Dateiname erhält einen Zeitstempel-Präfix, sodass gleichnamige Dateien nicht kollidieren.

Auswirkung auf die Website

Wird eine Datei in Quarantäne verschoben, die die Website tatsächlich benötigt (z. B. eine legitime, aber fälschlich erkannte Datei), kann die Website Fehler zeigen. Prüfen Sie den Fund vor dem Verschieben.

Als Falsch-Positiv markieren

  • Setzt den Fund auf Ignoriert, ohne die Datei anzufassen.
  • Die Datei bleibt unverändert an ihrem Ort.

Voraussetzungen und Installation

Die benötigten Werkzeuge werden automatisch bereitgestellt:

  • maldet wird beim ersten Scan bzw. beim Aktivieren der Malware-Scanner-Extension auf jedem Server installiert (Bezug direkt vom Hersteller rfxn.com, plus Laufzeit-Abhängigkeiten ed und inotify-tools).
  • ClamAV wird als zweite Engine über die Paketquellen installiert; freshclam hält die Signaturen aktuell, ein täglicher Timer aktualisiert die erweiterten Signatur-Feeds.

Ein manuelles Nachinstallieren ist nicht erforderlich.

Nach einer Kompromittierung

Ein Fund bedeutet, dass Schadcode auf dem System liegt. Verschieben Sie die betroffenen Dateien in Quarantäne, prüfen Sie anschließend die Zugangsdaten (FTP, SSH, CMS-Admin) und aktualisieren Sie das CMS samt Erweiterungen. Ziehen Sie bei größerem Befall eine Wiederherstellung aus einem sauberen Backup in Betracht (siehe Backups).