SeenSecure Help

Upload-Schutz

Blockiert bösartige Dateien bevor sie den Server erreichen: gefährliche Erweiterungen, ungültige MIME-Typen, Doppelerweiterung, Null-Byte-Injektion und Inhaltsanalyse.

📤 Upload-Schutz Übersicht

Der Reiter Uploads schützt Ihr WordPress vor einem der kritischsten Angriffsvektoren: dem Hochladen bösartiger Dateien. Ein Angreifer, der eine PHP-Datei hochlädt, kann beliebigen Code ausführen, Backdoors installieren, Daten stehlen oder die vollständige Kontrolle über die Site übernehmen.

🚨 Welche Angriffsarten werden verhindert? Remote-PHP-Ausführung, persistente Backdoors, Datendiebstahl (wp-config, Benutzer), Server-Missbrauch (Cryptomining, Spam), Website-Verunstaltung und Rechteausweitung.

🎯 Was blockiert wird

  • PHP .php-, .phtml-, .php5-, .php7-, .pht-Dateien
  • AUSFÜHRBAR .exe, .bat, .cmd, .sh, .bin, .msi
  • SKRIPTE .js, .vbs, .jsp, .asp, .aspx, .shtml
  • DOPPELT bild.jpg.php, datei.pdf.exe
  • NULL-BYTES datei.php%00.jpg
  • GRÖSSE Dateien über dem konfigurierten Limit

🔍 Echte Angriffsbeispiele

# Subir un shell PHP para tomar el control shell.php → acceso remoto al servidor
# Ocultar PHP en una imagen subida al avatar avatar.php (con cabecera GIF) → backdoor persistente
# Doble extensión para engañar a WordPress imagen.jpg.php → se ejecuta como PHP
# Null byte injection para truncar la extensión shell.php%00.jpg → el servidor ignora .jpg

📋 Blockierte Erweiterungen & MIME-Typen

Die Firewall führt standardmäßig eine Liste von über 30 gefährlichen blockierten Erweiterungen. Es ist ein frei editierbares, kommagetrenntes Textfeld: Sie können Erweiterungen je nach den Anforderungen Ihrer Site hinzufügen oder entfernen. Sie können auch maximale Dateigrößenlimits konfigurieren und die Liste der blockierten MIME-Typen anpassen.

Kategorie Standardmäßig blockierte Erweiterungen
PHP .php .php3 .php4 .php5 .php7 .phtml .pht .phps .phar .pgif
AUSFÜHRBAR .exe .bat .cmd .com .pif .scr .msi .app .deb .rpm
SKRIPTE .js .ws .wsh .vbs .ps1 .sh .shtml .cgi .pl .py .jar
💡 Anpassbare Liste: Dies sind die werkseitig blockierten Erweiterungen. Sie können weitere hinzufügen, die Sie ausdrücklich blockieren möchten (z. B. .htaccess, .sql oder .svg), oder eine entfernen, die Ihre Site regulär hochladen muss — es ist ein Freitextfeld, das Sie selbst bearbeiten.

📏 Maximale Dateigröße

Legen Sie das Limit in MB fest (standardmäßig 10 MB). Bei 0 wird stattdessen das allgemeine Upload-Limit Ihres WordPress/Hostings verwendet, geregelt durch upload_max_filesize und post_max_size in php.ini.

🚫 Blockierte MIME-Typen

Bearbeitbare Liste von MIME-Typen, die automatisch abgelehnt werden. Standardmäßig enthalten: application/x-php, application/x-httpd-php, text/php, application/x-executable, text/x-php. Sie können bei Bedarf weitere Typen hinzufügen.

💡 Anpassung: Wenn Ihre Site legitime Dateitypen hochlädt, die blockiert werden (z.B. .svg-Dateien für Symbole), können Sie diese Erweiterung aus der Liste entfernen. Überprüfen Sie jedoch zuerst die Sicherheitsrisiken.

🔬 Erweiterter Schutz

Die drei erweiterten Optionen bieten zusätzliche Analyseebenen, die gängige Umgehungstechniken erkennen, mit denen Angreifer Erweiterungslisten umgehen.

🔍 Dateiinhalt scannen

Überprüft den tatsächlichen Dateiinhalt auf Signaturen von bösartigem Code. Erkennt PHP, das in Bildern versteckt ist (bösartiges GIF), eingebettete Skripte, Verschleierung und andere Tarnungstechniken. Es verlässt sich nicht nur auf die Erweiterung oder den deklarierten MIME-Typ — es untersucht die tatsächlichen Bytes.

🔗 Doppelerweiterung erkennen

Erkennt Dateien mit mehreren Erweiterungen wie bild.jpg.php oder dokument.pdf.exe. Angreifer nutzen diese Technik, weil einige Systeme nur die letzte Erweiterung validieren (grundlegende Prüfungen werden getäuscht), der Server aber die erste gefährliche Erweiterung ausführt. Erkennt auch Varianten wie file.php;.jpg oder file.php..jpg.

💉 Null-Byte-Injektion erkennen

The attacker adds a null byte character (%00) in the filename to truncate the extension at the filesystem level. For example, shell.php%00.jpg — the system sees .jpg and allows it, but the server saves shell.php because the filesystem truncates at the null byte.

Der Angreifer fügt ein Null-Byte-Zeichen (%00) in den Dateinamen ein, um die Erweiterung auf Dateisystemebene abzuschneiden. Zum Beispiel shell.php%00.jpg — das System sieht .jpg und erlaubt es, aber der Server speichert shell.php, weil das Dateisystem am Null-Byte abschneidet.

✅ Empfehlung: Lassen Sie alle 3 erweiterten Optionen AKTIVIERT. Sie sind leichtgewichtig, beeinträchtigen die Leistung nicht und schließen bekannte Angriffsvektoren. Ohne sie kann ein Angreifer die Erweiterungsliste mit einfachen Techniken umgehen.

⭐ Empfehlungen & Best Practices

Befolgen Sie diese Empfehlungen, um den Upload-Schutz zu maximieren, ohne die Funktionalität Ihrer Site zu beeinträchtigen.

📏 Empfohlene Größengrenzen

🖼️ Bilder

10 MB — Ausreichend für hochauflösende Fotos auf Portfolio-Seiten, Galerien oder WooCommerce. Ein legitimes Bild überschreitet diese Größe selten.

🎥 Videos / PDFs

50 MB — Geeignet für kurze Videos, Präsentationen und große PDF-Dokumente. Wenn Sie mehr benötigen, ziehen Sie externes Streaming in Betracht (YouTube, Vimeo).

📦 Komprimierte Dateien

25 MB — Für .zip-, .rar-, .tar.gz-Dateien. Seien Sie vorsichtig bei sehr großen komprimierten Dateien — sie enthalten oft verpackte bösartige Inhalte.

📋 Goldene Regeln

  1. Lassen Sie alle 3 erweiterten Optionen AKTIVIERT — Inhaltsanalyse, Doppelerweiterung und Null-Byte. Sie sind Ihre letzte Verteidigungslinie gegen Umgehungen.
  2. Entfernen Sie keine Erweiterungen ohne Grund aus der Liste — Jede blockierte Erweiterung ist ein geschlossener Angriffsvektor. Wenn Sie eine benötigen, bewerten Sie das Risiko und ziehen Sie sicherere Alternativen in Betracht.
  3. Überprüfen Sie das Aktivitätsprotokoll regelmäßig — Die letzten 20 blockierten Upload-Versuche erscheinen im Protokoll. Die Überprüfung hilft Ihnen, Angriffsmuster zu erkennen und Einstellungen anzupassen.
  4. Kombinieren Sie es mit Sicherheit auf Serverebene — Der Upload-Schutz arbeitet auf WordPress-Anwendungsebene. Für maximale Sicherheit kombinieren Sie ihn mit Webserver-Regeln (PHP-Ausführung in wp-content/uploads über .htaccess oder Nginx blockieren).

📊 Aktivitätsprotokoll

Das Panel zeigt die letzten 20 blockierten Upload-Versuche, jeder mit den folgenden Spalten:

Spalte Beschreibung
Uhrzeit Zeitstempel des Versuchs
Datei Versuchter Dateiname
Grund Badge mit dem Blockierungsgrund
Aktion Ob der Versuch blockiert wurde (Firewall im Modus Schutz/Strict) oder nur protokolliert wurde (Modus Überwachung)
IP Quell-IP-Adresse des Uploads
Rolle WordPress-Rolle des Benutzers, der den Upload versucht hat

Die Grund-Badges können sein:

Blockierte Erweiterung Blockiertes MIME Größe überschritten Doppelte Erweiterung Null-Byte Bösartiger Inhalt
🔍 Protokoll interpretieren: Wenn Sie viele Blockaden wegen blockierter Erweiterung von derselben IP sehen, handelt es sich wahrscheinlich um einen automatisierten Angriff. Blockaden wegen Größenüberschreitung können legitime Benutzer sein — ziehen Sie eine Anpassung des Limits in Betracht. Blockaden wegen Null-Byte oder bösartigem Inhalt sind fast immer gezielte Angriffe.

🆚 Upload-Schutz vs. Serversicherheit

Es ist wichtig, den Unterschied zwischen beiden Ebenen zu verstehen. Sie schließen sich nicht aus — im Gegenteil, sie ergänzen sich.

Aspekt Upload-Schutz (SeenSecure) Serversicherheit (.htaccess / Nginx)
Ebene WordPress-Anwendung (PHP) Webserver (Apache / Nginx)
Was es schützt Blockiert bösartige Uploads, bevor sie auf dem Server gespeichert werden. Analysiert Erweiterung, MIME, Inhalt, Doppelerweiterung, Null-Byte. Blockiert die Ausführung von Dateien in bestimmten Verzeichnissen. Verhindert nicht den Upload, aber verhindert die Ausführung als PHP.
Vorteil Intelligente Erkennung: Inhalt, Umgehungen. Vom WordPress-Dashboard aus konfigurierbar. Funktioniert auch wenn WordPress kompromittiert ist. Hängt nicht von PHP ab.
Empfehlung Beide verwenden. Der Upload-Schutz blockiert 99% der Angriffe. Die Serversicherheit ist das Sicherheitsnetz, das die restlichen 1% auffängt, wenn etwas fehlschlägt.
📌 Hinweis zu SVG: SVG-Dateien stehen auf der blockierten Liste, da sie Inline-JavaScript enthalten können (<script> oder onload). Wenn Sie SVGs für Symbole hochladen müssen, können Sie sie aus der Liste entfernen, aber erwägen Sie, sie vorher zu bereinigen oder ein Plugin zu verwenden, das SVGs automatisch bereinigt.