Funktionen

Was WardPane 2.0 kann

WardPane 2.0 hostet statische, PHP- und Node.js-Websites mit automatischen Zertifikaten und Cloudflare-Unterstützung. Schutz und Traffic-Steuerung laufen pro Website im Webserver. Bei den meisten der acht Panels auf der Vergleichsseite kommen sie aus ModSecurity oder einem kostenpflichtigen Add-on.

Für Einsteiger und für erfahrene Admins

Einsteiger bekommen einen Befehl zur Installation, Zertifikate, die sich selbst ausstellen, Websites in Sandboxes und Einstellungen, die in einfachen Worten erklärt sind. Erfahrene Admins bekommen jede Option, ein Terminal im Browser, PM2 pro Eigentümer, .htaccess, Regeln pro Website in bekannter Reihenfolge, die Cloudflare API, Export und Import, Prüfsummen der Releases und den Quellcode.

Hosting

Websites liegen in einer Struktur wie bei ISPmanager, gehören einem Linux-Benutzer und werden von WardPane selbst auf den Ports 80 und 443 ausgeliefert.

Websites und Aliase
Eine Website ist eine Domain plus bis zu 99 Aliase (ein Let's-Encrypt-Zertifikat umfasst höchstens 100 Namen). Ein Alias liefert die Hauptwebsite aus oder, wenn er einen eigenen Ordner hat, diesen Ordner. Websites können einen Anzeigenamen haben.
Eigentümerstruktur
Dateien liegen in /var/www/<owner>/data/www/<domain>, Protokolle und temporäre Dateien daneben. Der Standardeigentümer ist www-root, ein Linux-Benutzer, den WardPane anlegt. Websites aus 1.x behalten ihre alten Ordner.
Drei Handler
Kein Handler (statisches Hosting), PHP oder Node.js, pro Website gewählt und jederzeit umschaltbar. Die Einstellungen der anderen Handler bleiben erhalten, ein Zurückwechseln stellt sie wieder her.
Statische Dateien
SPA-Modus (unbekannte Pfade gehen an index.html), Ihre eigene 404.html, starke ETags mit fortsetzbaren Downloads, Weiterleitung von HTTP auf HTTPS und symbolische Links, die den Website-Ordner nie verlassen können.
Laufzeitumgebungen
Das Panel listet die auf dem Server installierten PHP-Versionen und die unterstützten Node.js-Hauptversionen: 20, 22, 24 und 26, standardmäßig 24 (der Support für 20 endete im April 2026). Node.js-Builds kommen von nodejs.org und werden mit den veröffentlichten SHA256-Summen geprüft.
Ein Menü an jeder Website
Jede Zeile der Website-Tabelle hat ein Menü mit allen Aktionen für diese Website, und ein Schalter schaltet eine Website aus und wieder ein, ohne etwas zu löschen.
Shell im Browser
Ein Terminal direkt im Panel: eine root-Shell in einer root-Sitzung oder die Shell des Website-Eigentümers im Ordner der Website. pm2 list und pm2 restart funktionieren dort für Node.js-Websites.
Export und Import
Jede Website mit jeder Einstellung plus die globale Sperrliste kommt in eine JSON-Datei. Der Import führt zusammen oder ersetzt, prüft zuerst die ganze Datei und rührt Dateien in /var/www nie an.
Die Website-Tabelle mit Handlern, Zertifikatslaufzeiten und aktivem Schutz

PHP und Node.js

Jede dynamische Website läuft als eigener Linux-Benutzer in einer systemd-Sandbox. Eine defekte oder gehackte Website kann ihre Nachbarn nicht lesen.

Ein php-fpm-Pool pro Website
Kein gemeinsamer Pool, kein gemeinsamer opcache und keine gemeinsamen Sessions. Der Code ist für PHP schreibgeschützt; PHP kann nur in tmp/, logs/, data/ und die von Ihnen angegebenen Ordner schreiben, und PHP wird aus diesen Ordnern nie ausgeführt.
Eine strenge PHP-Sandbox
Das gesamte Dateisystem ist schreibgeschützt und noexec außer php-fpm selbst, open_basedir ist gesetzt, exec, system, shell_exec, proc_open, popen und putenv sind deaktiviert, und Systemaufrufe werden gefiltert.
.htaccess ohne Apache
Rewrite-Regeln, Weiterleitungen, Zugriffsregeln, Basic auth, Header und Caching aus echten Websites funktionieren unverändert: WordPress, Laravel und die üblichen HTTPS- und www-Weiterleitungen. Zeilen, die es nicht anwenden kann, werden angezeigt, nie geraten.
Node.js mit PM2
Wählen Sie eine Node.js-Hauptversion, ein npm-Skript oder eine Einstiegsdatei, Umgebungsvariablen und Limits. Ein PM2-Daemon pro Eigentümer betreibt die Apps, sodass pm2 in der Shell des Eigentümers funktioniert.
Der Proxy vor der App
Dateien in public/ werden auf Wunsch direkt ausgeliefert, der Rest geht an die App, mit der echten Besucher-IP in X-Forwarded-For und X-Real-IP. WebSockets passieren nach denselben Schutzprüfungen.
Neustart, npm install und Protokolle
Der Tab „Handler“ hat Schaltflächen für Neustart und npm install (npm ci, wenn eine Lockdatei vorhanden ist), die Ausgabe-, Fehler- und Installationsprotokolle und die Skripte aus package.json zur Auswahl.
Der Reiter Handler einer Website: Node.js-Version, Startskript, Umgebungsvariablen und Limits

Zertifikate und Cloudflare

Zertifikate werden ohne manuelle Schritte ausgestellt und verlängert, auch für Websites hinter Cloudflare.

Let's Encrypt, vollautomatisch
Ein Zertifikat pro Website mit allen Aliasen, verlängert, wenn noch ein Drittel der Laufzeit übrig ist. Namen, deren DNS nicht auf den Server zeigt, werden übersprungen und hinzugefügt, sobald es stimmt, und das Panel zeigt den Grund.
Auch IPv6 geprüft
Let's Encrypt versucht zuerst IPv6, daher muss jeder AAAA-Eintrag auf den Server zeigen. WardPane prüft sie, bevor es ein Zertifikat bestellt.
Ein Zertifikat für die IP
Die Server-IP erhält ein kurzlebiges Zertifikat, das alle paar Tage verlängert wird. Das Panel unter https://<ip>:1500 öffnet sich ohne Warnung.
Rate Limits von Let's Encrypt
Das Panel bestellt kein doppeltes Zertifikat, meldet alle fehlgeschlagenen Namen einer Bestellung auf einmal, wartet nach jedem Fehler länger und ersetzt ein deaktiviertes ACME-Konto.
Ein Cloudflare-Token mit einem Klick
Die Schaltfläche Cloudflare-Token erstellen öffnet Cloudflare mit den richtigen, bereits ausgefüllten Berechtigungen. Fügen Sie das Token wieder ein, und das Panel kann die Zonen Ihrer Websites prüfen und korrigieren.

Schutz

Jede Website hat eigene Prüfungen, und sie laufen im Webserver, bevor PHP oder Node.js die Anfrage sehen. Eine Adresse wird nur bei einem eindeutigen Angriff gesperrt.

Geo-Regeln: Ländergruppen, Ausnahmen und die resultierende Länderliste
Bot-Fight-Einstellungen: Bot-Kategorien, per IP verifizierte Crawler, öffentliche IP-Feeds, Erkennung von Sondierungen, Payloads und Scans
Ratenbegrenzung und Sperren
Standardmäßig darf jede Adresse 150 Anfragen in 10 Sekunden senden. Über dem Limit bekommt sie eine 404 und eine Sperre für die eingestellten Minuten. IPv6-Besucher werden nach ihrem /64 gezählt und gesperrt, ein Adresswechsel hilft also nicht. Jede Website hat eine Positivliste.
Bot Fight
Blockiert KI-Crawler, SEO-Crawler, Schwachstellenscanner, Skripte und Headless-Browser, leere User-Agents und Ihre eigene Liste. Suchmaschinen und Linkvorschauen nur, wenn Sie es wählen. Monitoring und RSS-Reader bleiben unbehelligt.
Sondierungen und Payloads
Anfragen nach /.env, /.git, /wp-login.php und ähnlichen Namen, die auf der Website nicht existieren, sperren die Adresse. Eindeutige SQL-Injection-, XSS-, Path-Traversal- und Log4Shell-Payloads in der URL führen zur Sperre; mehrdeutige weisen nur diese Anfrage ab.
Scan-Erkennung
Viele Fehltreffer in Folge (standardmäßig 25 in 60 Sekunden) sehen aus wie gobuster oder ffuf und sperren die Adresse. Ein fehlendes Bild zählt als ein Zehntel Fehltreffer, eine alte Seite mit defekten Bildern ist also kein Scan.
Verifizierte Crawler
Google, Bing, DuckDuckGo, Apple, OpenAI, Anthropic, Perplexity und Ahrefs veröffentlichen ihre IP-Bereiche. WardPane lädt sie täglich herunter und sperrt jeden, der sich von einer anderen Adresse aus als einer von ihnen ausgibt. Sie können diese Crawler auch per IP blockieren, selbst wenn sie sich hinter einem Browser-User-Agent verstecken.
Öffentliche IP-Feeds
Spamhaus DROP, FireHOL level 1 und blocklist.de, täglich aktualisiert, pro Website mit einem Schalter angewendet.
Geo mit Gruppen
Erlauben oder verweigern Sie Länder einzeln oder als Gruppen: ehemalige UdSSR, GUS, EAWU, EU, EWR, Schengen, NATO, G7, G20, OECD, BRICS, SOZ, ASEAN, Arabische Liga, Mercosur, Kontinente und mehr. Fügen Sie Ausnahmen hinzu und sehen Sie die endgültige Länderliste.
Hosting-Netze und AS numbers
Blockieren Sie Anfragen aus AWS, Azure, Google Cloud, Hetzner, OVH, DigitalOcean, Vultr und anderen Clouds, aus denen die meiste Automatisierung kommt, oder aus jeder AS number, die Sie angeben.
Sprachfilter
Erlauben oder verweigern nach Browsersprache, mit einem eigenen Schalter für Anfragen, die gar keine Sprache senden. Ein nützliches zusätzliches Signal neben dem Land, zum Beispiel hinter einem VPN.
Geräte
Nur Windows, macOS, Linux, Android, iOS oder andere zulassen, als Filter für gewöhnliche Browser.
Nur per Link
Pflicht-URL-Parameter: Die Website öffnet sich nur für Personen, die mit Ihrem Link kamen, zum Beispiel ?ref=metaads aus einer Anzeige. Ein signiertes Cookie und optional die Besucher-IP halten sie drin. Pfade für Webhooks und Zahlungs-Callbacks bleiben offen.
Passwort
HTTP-Basic-Anmeldung für Entwürfe und Testkopien einer Website. Passwörter werden als scrypt-Hashes gespeichert und außerhalb des Haupt-Threads geprüft, nach allen anderen Filtern.
Hotlink-Schutz
Andere Websites können Ihre Bilder und Dateien nicht einbetten. Wählen Sie die Dateiendungen, erlaubte Websites (Platzhalter funktionieren) und was mit Anfragen ohne Referer geschehen soll.
Sicherheits-Header
X-Frame-Options, Referrer-Policy, HSTS mit includeSubDomains und preload, Content-Security-Policy und Permissions-Policy pro Website.
Honeypot
Ein Pfad, den robots.txt verbietet. Ein Mensch öffnet ihn nie, also wird jeder, der ihn anfragt, sofort gesperrt.
Eigene Sperrseiten
Ihre eigene Seite und Ihr eigener Statuscode (404, 403 oder 200) für Sperren nach Gerät, Bot, Geo und Link, ausgeliefert mit no-store.
Globale Sperrliste
Adressen und Netze, die auf allen Websites gesperrt sind, auf der Festplatte gespeichert und über Neustarts hinweg erhalten. Sie gilt auch dort, wo bei einer Website der Schutz aus ist.

Traffic-Steuerung

Entscheiden Sie, wer welche Website erreicht, in welcher Reihenfolge die Regeln gelten und was ein gesperrter Besucher sieht.

Die Reihenfolge der Prüfungen bei jeder Anfrage

  1. Cloudflare: echte Besucher-IP, nur über Cloudflare
  2. Globale Sperrliste, dann die Positivliste der Website
  3. Ratenbegrenzung und aktive Sperren
  4. Bot Fight: User-Agents, verifizierte Crawler, IP-Feeds, Sondierungen, Payloads, Scans, Honeypot
  5. Geo: Länder und Gruppen, Hosting-Netze, AS numbers, Browsersprache
  6. Geräte
  7. Sicherheits-Header und Hotlink-Schutz
  8. Nur per Link
  9. Passwort
  10. .htaccess-Regeln, dann der Handler: Dateien, PHP oder Node.js
Cloudflare-bewusste echte IP
Die Besucheradresse wird nur dann aus CF-Connecting-IP übernommen, wenn die Verbindung wirklich von Cloudflare kommt. Die Netzliste wird täglich von cloudflare.com aktualisiert.
Nur über Cloudflare
Direkte Anfragen an die Server-IP erhalten eine 404, sodass niemand das CDN und seine Regeln umgehen kann.
Wenn der Schalter aus ist
Eine Website hinter Cloudflare, die nicht als solche markiert ist, sperrt nie Cloudflare-Adressen und erhält pro Cloudflare-Server ein zehnmal höheres Limit. Das Protokoll schlägt die Korrektur vor.
Cloudflare Workers
Anfragen von einem Worker werden nach seiner Zone mit normalen Limits und Sperren gezählt; der Worker Ihrer eigenen Zone wird wie Cloudflare behandelt.
Codes für Sperrseiten
Nehmen Sie 404, damit die Adresse leer aussieht, 403, um die Anfrage ausdrücklich abzulehnen, oder 200 mit Ihrer eigenen Seite. Begrenzte und gesperrte Clients erhalten immer eine einfache 404.
Cache-sichere Antworten
Antworten, die von einer Link-Freigabe abhängen, erhalten Cache-Control: private und Vary: Cookie, sodass ein CDN sie nie an jemanden ohne den Link weitergibt.

Panel-Sicherheit

Das Panel läuft als nicht privilegierter Benutzer wardpane, und seine Anmeldeseite hat eigene Limits gegen Brute Force.

Anmeldung als root
Optional melden Sie sich als root mit dem root-Passwort des Servers an. Es wird von unix_chkpwd über einen kleinen root-Helfer an einem Socket geprüft, den nur das Panel öffnen kann. Standardmäßig aus.
Limits gegen Brute Force
5 Fehlversuche sperren eine Adresse (bei IPv6 ihr /64) für 15 Minuten, und 50 Fehlversuche sperren ihr /48. Eine Welle von Fehlversuchen aus vielen Adressen schließt die Anmeldung für unbekannte Adressen für 5 Minuten. Adressen, die sich in den letzten 30 Tagen angemeldet haben, funktionieren weiter.
IP-Positivliste
Wenn PANEL_ALLOW_IPS gesetzt ist, antwortet das Panel anderen Adressen überhaupt nicht. Es lehnt eine Liste ab, die die Adresse aussperren würde, die Sie gerade verwenden.
Isolierter root-Helfer
Das Panel schreibt den gewünschten Zustand; ein von systemd gestarteter root-Helfer prüft jeden Wert erneut, bevor er Benutzer, Ordner und Units anlegt.
PHP und Node.js in der Sandbox
Linux-Benutzer pro Website, schreibgeschütztes System, privates /tmp, keine neuen Rechte, Speicher- und CPU-Limits und optional keine ausgehenden Verbindungen.
Prüfsummen der Releases
Jedes Archiv wird mit seiner SHA-256-Prüfsumme veröffentlicht und enthält den vollständigen Quellcode. Das Installationsprogramm lädt es über HTTPS herunter und prüft die SHA-256, bevor es irgendetwas ausführt.
Updates, die sich rückgängig machen lassen
Jedes Update legt eine Sicherung mit einem Wiederherstellungsskript an, prüft, ob die neue Version startet, und rollt von selbst zurück, wenn nicht.
Zugang wiederherstellen
Wenn Sie sich ausgesperrt haben, setzt ein Befehl auf dem Server die Panel-Anmeldung und die IP-Freigabeliste zurück und hebt Anmeldesperren auf.
Der Bereich Sicherheit: globale Sperrliste, IP-Listen der Crawler mit Aktualisierungsdatum, IP-Abfrage

Als Nächstes

Diese Funktionen sind für die Versionen nach 2.0 geplant und nicht in 2.0 enthalten.

Zur vollständigen Roadmap
  1. 2.1Datenbanken und die Konfigurationsdatei der WebsiteMySQL und MariaDB: Datenbanken, Benutzer und Rechte · Eine Konfigurationsdatei pro Website in nginx-ähnlicher Syntax, synchron mit den Formularen · gzip und brotli, Zugriffsprotokolle mit Rotation, location-Blöcke
  2. 2.2BenutzerAnmeldung mit dem Betriebssystem-Passwort · Benutzer, die nur ihre eigenen Websites sehen · Rechte, die root festlegt, und Anmeldung als Benutzer, um zu helfen
  3. 2.3Für EinsteigerEin Einrichtungsassistent bei der ersten Anmeldung · Einfacher Modus und Expertenmodus · Schutzvorlagen mit einem Klick · Zustandsprüfungen mit Beheben-Schaltfläche und ein ausführlicheres Dashboard
  4. 2.4Zertifikate und DNSEin Bereich für SSL-Zertifikate · Ein eigener DNS-Server und eigene Nameserver · DNS-Synchronisierung mit Cloudflare · Anmeldung mit Cloudflare
  5. 2.5MailMail-Domains, Postfächer und Aliase · Postfix, Dovecot, Rspamd und DKIM · Roundcube-Webmail

Probieren Sie es auf einem freien Server aus

Die Installation dauert auf einem frischen Ubuntu 24.04 wenige Minuten.