Die Upload-Überwachung WordPress des Plugins CSDN merkt sich, wer Dateien auf deine Website hochlädt, auch außerhalb der Mediathek. Die Integritätsprüfung dagegen kontrolliert, ob die Plugin-Dateien nicht angerührt wurden. Es sind zwei verschiedene Abwehrmaßnahmen, aber beide suchen dasselbe Szenario: eine bösartige Datei, die dort eindringt, wo sie nicht hingehört.

Wo du es findest
Achtung auf die Stelle: Das Formular steht nicht im Reiter „Hardening / IDS“. Öffne Einstellungen > Cisilino Site Defense Network (Punkt 1), bleib im Reiter Allgemein (Punkt 2) und scroll bis ganz nach unten. Nach der Whitelist findest du den Abschnitt „Überwachung der Datei-Uploads“ (Punkt 3). Die Integritätsprüfung liest du dagegen im Reiter Test, erklärt im Kapitel Reiter Test.
Wozu die Upload-Überwachung WordPress dient
Der Abschnitt sagt: „Zeichnet die auf der Website hochgeladenen Dateien auf, auch jene, die nicht über die Mediathek laufen: Plugin-Formulare, admin-ajax-Endpunkte, beliebige Uploads eines Themes.“ Von dort dringt die meiste Webshell ein. Ein Protokoll, das nur die Mediathek betrachtet, sieht sie nicht.
Wie man es benutzt
- Öffne den Reiter Allgemein und scroll zu „Überwachung der Datei-Uploads“.
- Kontrolliere die Zeile „Überwachung“: „Datei-Uploads protokollieren“.
- Kontrolliere die Zeile „Blockade ausführbarer Dateien“: „Uploads mit ausführbarer Erweiterung ablehnen (.php, .phtml, .phar, .sh, .htaccess…)“.
- Klicke auf „Upload-Überwachung speichern“.
- Lies den Hinweis: „Einstellungen der Upload-Überwachung gespeichert.“.
Datei-Uploads protokollieren
Diese Option ist standardmäßig aktiv. Die Ereignisse landen in der Gruppe „Datei-Uploads“ des Aktivitätsprotokolls. Bei einer Anfrage ohne Datei ist der Aufwand null. Das Plugin notiert jede Anfrage, die eine Datei enthält, mit dem Feld und der Adresse, die sie empfangen hat. Die Aktionen, die du im Protokoll siehst, sind:
- „Datei in einer POST-Anfrage empfangen“.
- „Datei hochgeladen“.
- „ACHTUNG: potenziell ausführbare Datei hochgeladen“.
- „Upload BLOCKIERT“.
Das lokale Protokoll hält höchstens 500 Zeilen, falls du die Obergrenze in den Einstellungen des Aktivitätsprotokolls nicht änderst. Wie man es liest, erklärt das Kapitel Aktivitätsprotokoll.
Blockade ausführbarer Dateien
Diese Option ist standardmäßig ausgeschaltet. Sie funktioniert nur, wenn auch „Datei-Uploads protokollieren“ aktiv ist: Bei ausgeschalteter Überwachung tut die Blockade nichts, auch wenn das Kästchen angekreuzt ist. Schaltest du sie ein, lehnt WordPress die Datei mit der Meldung ab: „Dateityp auf dieser Website nicht erlaubt (Cisilino Site Defense Network: Upload ausführbarer Dateien blockiert).“ Die Prüfung erkennt auch doppelte Erweiterungen, wie bild.php.jpg.
Als gefährlich gelten die Erweiterungen: php, php3, php4, php5, php7, php8, phtml, phps, phar, pht, shtml, cgi, pl, py, rb, sh, bash, htaccess, htpasswd, jsp, asp, aspx, exe, so, dll, ini, svg und svgz.
Achtung: Die Liste blockiert auch .svg, also lassen sich Logos im SVG-Format nicht mehr hochladen. Sie blockiert auch .ini, .py, .exe und .dll, die in Anhängen und Paketen vorkommen. Das Plugin betrachtet alle Teile nach dem ersten Punkt. Ein Name wie archiv.pl.zip wird deshalb abgelehnt. Die Blockade gilt nur für von WordPress verwaltete Uploads (Filter wp_handle_upload_prefilter). Ein Plugin, das die Datei selbst speichert, wird protokolliert („Datei in einer POST-Anfrage empfangen“), aber nicht gestoppt. Wer direkt auf die Festplatte schreibt, ohne eine Anfrage mit Datei, hinterlässt in diesem Protokoll keine Spur.
Die Integritätsprüfung
Anders als bei der Upload-Überwachung WordPress betrachtest du hier nicht neue Uploads, sondern bereits vorhandene Dateien. Das Plugin vergleicht die MD5-Hashes seiner .php-Dateien mit den erwarteten. Es sucht geänderte, fehlende oder hinzugefügte Dateien. Es schließt die Ordner tests und dist aus. Dateien, die kein PHP sind, werden nicht geprüft.
Die Prüfung läuft einmal täglich, über das Planungssystem von WordPress. Hat die Website wenige Besuche, kann sie sich verschieben. Die Referenz ist die Datei checksums.json im Plugin-Ordner, falls vorhanden. Andernfalls nutzt das Plugin eine bei der Aktivierung und bei jedem Versionswechsel erstellte Momentaufnahme der Dateien.
Wie man das Ergebnis liest
Du findest es im Reiter Test, im Kasten „Integrität der Plugin-Dateien“, wo auch die Schaltfläche „Jetzt prüfen“ ist, um die Prüfung sofort zu starten. Es gibt vier Fälle:
- „Noch keine Prüfung durchgeführt.“, wenn sie nie gestartet ist.
- Grüner Kasten: „Alle N geprüften Dateien stimmen überein. Letzte Prüfung: Datum.“.
- Gelber Kasten: „Keine Referenz verfügbar: Prüfung nicht möglich. Aktiviere das Plugin erneut, um eine neue Datei-Momentaufnahme zu erstellen.“.
- Roter Kasten: „ACHTUNG: Die Plugin-Dateien stimmen nicht mit den erwarteten überein.“, mit drei Listen: „Geändert“, „Fehlend“, „Unerwartet“.
In der Liste erscheinen höchstens 15 Namen. Siehst du Rot und hast die Dateien nicht selbst angefasst, sagt dir das Plugin, die Website als potenziell kompromittiert zu behandeln. Installiere das Plugin aus einer zuverlässigen Kopie neu und prüfe den Rest der Installation.
Ist die Referenz die Momentaufnahme, schreibt der grüne Kasten das. Dieser Vergleich findet spätere Änderungen, nicht ein bei der Installation schon kompromittiertes Plugin.
Achtung: Die Integrität ist ein Detektor, keine Barriere. Wer schon auf die Dateien schreiben kann, kann auch die Hashes neu schreiben oder die Prüfung ausschalten. Von Hand gemachte Änderungen oder ein halb abgeschlossener Upload erzeugen einen roten Alarm.
Was im Hintergrund passiert
Die Upload-Überwachung WordPress und die Integrität nutzen dasselbe Protokoll. Die tägliche Prüfung schreibt nur in zwei Fällen ins Aktivitätsprotokoll: wenn sie ein Problem findet und wenn nach einem Problem wieder alles in Ordnung ist. Läuft alles gut, schreibt sie nichts. Das Protokoll wird dann an das Panel gesendet, damit eine Kopie des Alarms außerhalb deines Servers liegt.
Wenn etwas nicht funktioniert
Die Upload-Überwachung WordPress bleibt auch mit ausgeschalteter Blockade nützlich. Hört ein legitimes Plugin auf, Dateien hochzuladen, schalte „Blockade ausführbarer Dateien“ aus und versuch es erneut. Um zu verstehen, welche Uploads auf der Website ankommen, lass die Überwachung aktiv und sieh ins Protokoll. Für die Regeln zu Dateien in uploads sieh auch das Kapitel Hardening / IDS.
Das Risiko, das hier verringert werden soll, beschreibt OWASP: Lies die Seite zum Upload ohne Einschränkungen, nützlich um zu verstehen, warum Uploads eine Schwachstelle sind.
Vorheriges Kapitel: Hardening / IDS: die Regeln für .htaccess. Nächstes Kapitel: Reiter Test: prüfen, ob die Schutzmaßnahmen funktionieren. Verzeichnis: Einführung des Handbuchs.
Schreibe einen Kommentar