
bunkerweb testing
🛡️ Open-Source und cloud-native Web Application Firewall (WAF)
Das Allgemein-Plugin stellt das zentrale Konfigurations-Framework für BunkerWeb bereit und ermöglicht es Ihnen, wesentliche Einstellungen zu definieren, die steuern, wie Ihre Webdienste geschützt und bereitgestellt werden. Dieses grundlegende Plugin verwaltet fundamentale Aspekte wie Sicherheitsmodi, Server-Standardeinstellungen, Protokollierungsverhalten und kritische Betriebsparameter für das gesamte BunkerWeb-Ökosystem.
So funktioniert es:
- Beim Start von BunkerWeb lädt und wendet das Allgemein-Plugin Ihre zentralen Konfigurationseinstellungen an.
- Sicherheitsmodi werden entweder global oder pro Website festgelegt und bestimmen das angewendete Schutzniveau.
- Standard-Servereinstellungen legen Fallback-Werte für alle nicht spezifizierten Multisite-Konfigurationen fest.
- Protokollierungsparameter steuern, welche Informationen aufgezeichnet und wie sie formatiert werden.
- Diese Einstellungen bilden die Grundlage, auf der alle anderen BunkerWeb-Plugins und -Funktionen aufbauen.
Multisite-Modus {#multisite-mode}
Wenn MULTISITE auf yes gesetzt ist, kann BunkerWeb mehrere Websites hosten und schützen, jede mit ihrer eigenen einzigartigen Konfiguration. Diese Funktion ist besonders nützlich für Szenarien wie:
- Hosten mehrerer Domains mit unterschiedlichen Konfigurationen
- Betreiben mehrerer Anwendungen mit unterschiedlichen Sicherheitsanforderungen
- Anwenden maßgeschneiderter Sicherheitsrichtlinien auf verschiedene Dienste
Im Multisite-Modus wird jede Website durch einen eindeutigen SERVER_NAME identifiziert. Um Einstellungen spezifisch auf eine Website anzuwenden, stellen Sie den primären SERVER_NAME dem Einstellungsnamen voran. Zum Beispiel:
www.example.com_USE_ANTIBOT=captchaaktiviert CAPTCHA fürwww.example.com.myapp.example.com_USE_GZIP=yesaktiviert die GZIP-Komprimierung fürmyapp.example.com.
Dieser Ansatz stellt sicher, dass die Einstellungen in einer Multisite-Umgebung der richtigen Website zugeordnet werden.
Mehrfacheinstellungen {#multiple-settings}
Einige Einstellungen in BunkerWeb unterstützen mehrere Konfigurationen für dieselbe Funktion. Um mehrere Einstellungsgruppen zu definieren, hängen Sie ein numerisches Suffix an den Einstellungsnamen an. Zum Beispiel:
REVERSE_PROXY_URL_1=/subdirundREVERSE_PROXY_HOST_1=http://myhost1konfigurieren den ersten Reverse-Proxy.REVERSE_PROXY_URL_2=/anotherdirundREVERSE_PROXY_HOST_2=http://myhost2konfigurieren den zweiten Reverse-Proxy.
Dieses Muster ermöglicht es Ihnen, mehrere Konfigurationen für Funktionen wie Reverse-Proxys, Ports oder andere Einstellungen zu verwalten, die für unterschiedliche Anwendungsfälle unterschiedliche Werte erfordern.
Ausführungsreihenfolge der Plugins {#plugin-order}
Sie können die Reihenfolge mit durch Leerzeichen getrennten Listen steuern:
- Globale Phasen:
PLUGINS_ORDER_INIT,PLUGINS_ORDER_INIT_WORKER,PLUGINS_ORDER_TIMER. - Seitenspezifische Phasen:
PLUGINS_ORDER_SET,PLUGINS_ORDER_ACCESS,PLUGINS_ORDER_SSL_CERTIFICATE,PLUGINS_ORDER_HEADER,PLUGINS_ORDER_LOG,PLUGINS_ORDER_PREREAD,PLUGINS_ORDER_LOG_STREAM,PLUGINS_ORDER_LOG_DEFAULT. - Semantik: aufgelistete Plugins laufen zuerst in der Phase; alle übrigen laufen danach in ihrer normalen Reihenfolge. IDs nur mit Leerzeichen trennen.
Sicherheitsmodi {#security-modes}
Die Einstellung SECURITY_MODE bestimmt, wie BunkerWeb erkannte Bedrohungen behandelt. Diese flexible Funktion ermöglicht es Ihnen, je nach Ihren spezifischen Bedürfnissen zwischen der Überwachung oder dem aktiven Blockieren verdächtiger Aktivitäten zu wählen:
detect: Protokolliert potenzielle Bedrohungen, ohne den Zugriff zu blockieren. Dieser Modus ist nützlich, um Falsch-Positive auf sichere und unterbrechungsfreie Weise zu identifizieren und zu analysieren.block(Standard): Blockiert aktiv erkannte Bedrohungen und protokolliert Vorfälle, um unbefugten Zugriff zu verhindern und Ihre Anwendung zu schützen.
Das Umschalten in den detect-Modus kann Ihnen helfen, potenzielle Falsch-Positive zu identifizieren und zu beheben, ohne legitime Clients zu stören. Sobald diese Probleme behoben sind, können Sie für vollen Schutz getrost in den block-Modus zurückwechseln.
Konfigurationseinstellungen
=== "Kerneinstellungen"
| Einstellung | Standard | Kontext | Mehrfach | Beschreibung |
| --------------------- | ----------------- | --------- | -------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `SERVER_NAME` | `www.example.com` | multisite | Nein | **Primäre Domain:** Der Hauptdomainname für diese Website. Im Multisite-Modus erforderlich. |
| `BUNKERWEB_INSTANCES` | `127.0.0.1` | global | Nein | **BunkerWeb-Instanzen:** Liste der BunkerWeb-Instanzen, durch Leerzeichen getrennt. |
| `MULTISITE` | `no` | global | Nein | **Mehrere Websites:** Auf `yes` setzen, um das Hosten mehrerer Websites mit unterschiedlichen Konfigurationen zu ermöglichen. |
| `SECURITY_MODE` | `block` | multisite | Nein | **Sicherheitsstufe:** Steuert die Stufe der Sicherheitsdurchsetzung. Optionen: `detect` oder `block`. |
| `SERVER_TYPE` | `http` | multisite | Nein | **Servertyp:** Definiert, ob der Server vom Typ `http` oder `stream` ist. |
=== "API-Einstellungen"
| Einstellung | Standard | Kontext | Mehrfach | Beschreibung |
| ------------------ | ------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------- |
| `USE_API` | `yes` | global | Nein | **API aktivieren:** Aktivieren Sie die API, um BunkerWeb zu steuern. |
| `API_HTTP_PORT` | `5000` | global | Nein | **API-Port:** Lauschportnummer für die API. |
| `API_HTTPS_PORT` | `5443` | global | Nein | **API-HTTPS-Port:** Lauschportnummer (TLS) für die API. |
| `API_LISTEN_HTTP` | `yes` | global | Nein | **API-HTTP-Lauschen:** HTTP-Listener für die API aktivieren. |
| `API_LISTEN_HTTPS` | `no` | global | Nein | **API-HTTPS-Lauschen:** HTTPS (TLS)-Listener für die API aktivieren. |
| `API_LISTEN_IP` | `0.0.0.0` | global | Nein | **API-Lausch-IP:** Lausch-IP-Adresse für die API. |
| `API_SERVER_NAME` | `bwapi` | global | Nein | **API-Servername:** Servername (virtueller Host) für die API. |
| `API_WHITELIST_IP` | `127.0.0.0/8` | global | Nein | **API-Whitelist-IP:** Liste der IP/Netzwerke, die die API kontaktieren dürfen. |
| `API_TOKEN` | | global | Nein | **API-Zugriffstoken (optional):** Wenn gesetzt, müssen alle API-Anfragen `Authorization: Bearer <token>` enthalten. |