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:
- Das Panel legt einen Scan-Datensatz an und beauftragt den Agenten.
- Der Agent startet maldet im Hintergrund und meldet sofort zurück.
- Während des Scans veröffentlicht der Agent einen Live-Fortschritt (geprüfte Dateien, Treffer).
- 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¶
- Navigieren Sie zu Malware-Scanner
- Die Tabelle listet alle Websites mit Status und letztem Scan
- Klicken Sie bei der gewünschten Website auf Jetzt scannen
- Über das Dropdown wählen Sie zwischen Schnell-Scan (letzte 7 Tage) und Vollständiger Scan
- 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:
- Websites mit mindestens einem aktiven Fund zuerst
- dann die Website mit dem ältesten abgeschlossenen Scan
- 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 durchopen_basedirnicht 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
edundinotify-tools). - ClamAV wird als zweite Engine über die Paketquellen installiert;
freshclamhä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).