Skip to content

Commit 06ff268

Browse files
Merge pull request #2952 from bunkerity/dev
Merge branch "dev" into branch "staging"
2 parents 88c2dc7 + 78345a9 commit 06ff268

156 files changed

Lines changed: 3282 additions & 1842 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,17 @@
55
- [FEATURE] Refactor logging setup across multiple modules to be able to send logs to a syslog server and have multiple handlers at the same time
66
- [FEATURE] Allow configuration of whether Base64 decoding should be applied to DNS credentials via the new `LETS_ENCRYPT_DNS_CREDENTIAL_DECODE_BASE64` setting in the `Let's Encrypt` plugin (default is `yes`)
77
- [FEATURE] Add new `ACCESS_LOG` and `ERROR_LOG` settings to configure access and error log destinations for BunkerWeb's instance
8+
- [FEATURE] Refactor `Auth Basic` plugin so Lua now hashes credentials with salted scrypt (CSPRNG-only) and verifies them in constant time.
9+
- [FEATURE] Updated `Bad Behavior` plugin to automatically apply bans made by the default server globally across all services, enhancing security by ensuring that IPs exhibiting bad behavior are consistently blocked.
10+
- [FEATURE] Add the possibility to have **draft** custom configurations that are not applied to the service until they are explicitly published. Draft custom configurations are indicated in the web UI and can be toggled between draft and online status.
11+
- [FEATURE] Add new `SSL_SESSION_CACHE_SIZE` setting to the SSL plugin to allow configuration of the size of the SSL session cache (e.g., `10m`, `512k`). Setting it to `off` or `none` disables session caching (default is `10m`).
12+
- [FEATURE] Enhance the Antibot plugin to better handle redirection back to the original request path after a successful challenge by checking the `Referer` header, ensuring users are redirected to meaningful content rather than static files or other unintended destinations
813
- [BUGFIX] Fix issues with the Ingress controller regarding reverse proxy settings when using multiple paths per rule and a template by adjusting the indexing logic to be configurable via the new `KUBERNETES_REVERSE_PROXY_SUFFIX_START` setting (default is `1` to keep backward compatibility)
914
- [BUGFIX] Escape percentage signs in `DATABASE_URI` for Alembic when using the SQLAlchemy URL configuration to prevent formatting errors during migrations
15+
- [UI] Enhance service configuration handling during edits and renames to ensure consistency and prevent data loss
1016
- [DOCS] Add documentation about the new logging settings and how to configure them
17+
- [DEPS] Update lua-resty-session version to v4.1.5
18+
- [DEPS] Update coreruleset-v4 version to v4.21.0
1119

1220
## v1.6.6 - 2025/11/24
1321

docs/de/features.md

Lines changed: 86 additions & 18 deletions
Large diffs are not rendered by default.

docs/de/integrations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Nach dem Abonnement von BunkerWeb Cloud erhalten Sie:
6666
- **URL für BunkerWeb-UI-Zugriff**: Schnittstelle zur Konfiguration Ihrer Dienste
6767
- **Load Balancer-Endpunkt**: Eindeutige URL im Format `http://[ID].bunkerweb.cloud`
6868
- **Grafana-Zugang**: Überwachungsschnittstelle und Visualisierung von Metriken
69-
- **Zugewiesene Ressourcen**: 2 Instanzen mit je 16 GB RAM und 4 CPUs
69+
- **Zugewiesene Ressourcen**: 2 Instanzen mit je 8 GB RAM und 2 CPUs
7070

7171
#### 2. Erste Verbindung
7272

docs/es/features.md

Lines changed: 36 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -595,13 +595,13 @@ Siga estos pasos para habilitar y configurar la autenticación básica:
595595

596596
### Ajustes de configuración
597597

598-
| Ajuste | Valor por defecto | Contexto | Múltiple | Descripción |
599-
| --------------------- | ----------------- | --------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
600-
| `USE_AUTH_BASIC` | `no` | multisite | no | **Habilitar autenticación básica:** Establezca en `yes` para habilitar la autenticación básica. |
601-
| `AUTH_BASIC_LOCATION` | `sitewide` | multisite | no | **Ámbito de protección:** Establezca en `sitewide` para proteger todo el sitio, o especifique una ruta de URL (p. ej., `/admin`) para proteger solo áreas específicas. |
602-
| `AUTH_BASIC_USER` | `changeme` | multisite | yes | **Nombre de usuario:** El nombre de usuario requerido para la autenticación. Puede definir múltiples pares de nombre de usuario/contraseña. |
603-
| `AUTH_BASIC_PASSWORD` | `changeme` | multisite | yes | **Contraseña:** La contraseña requerida para la autenticación. Las contraseñas se hash con bcrypt para máxima seguridad. |
604-
| `AUTH_BASIC_TEXT` | `Restricted area` | multisite | no | **Texto de la solicitud:** El mensaje que se muestra en la solicitud de autenticación mostrada a los usuarios. |
598+
| Ajuste | Valor por defecto | Contexto | Múltiple | Descripción |
599+
| --------------------- | ----------------- | --------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
600+
| `USE_AUTH_BASIC` | `no` | multisite | no | **Habilitar autenticación básica:** Establezca en `yes` para habilitar la autenticación básica. |
601+
| `AUTH_BASIC_LOCATION` | `sitewide` | multisite | no | **Ámbito de protección:** Establezca en `sitewide` para proteger todo el sitio, o especifique una ruta de URL (p. ej., `/admin`) para proteger solo áreas específicas. También puede utilizar modificadores de estilo Nginx (`=`, `~`, `~*`, `^~`). |
602+
| `AUTH_BASIC_USER` | `changeme` | multisite | yes | **Nombre de usuario:** El nombre de usuario requerido para la autenticación. Puede definir múltiples pares de nombre de usuario/contraseña. |
603+
| `AUTH_BASIC_PASSWORD` | `changeme` | multisite | yes | **Contraseña:** La contraseña requerida para la autenticación. Las contraseñas se hash con scrypt para máxima seguridad. |
604+
| `AUTH_BASIC_TEXT` | `Restricted area` | multisite | no | **Texto de la solicitud:** El mensaje que se muestra en la solicitud de autenticación mostrada a los usuarios. |
605605

606606
!!! warning "Consideraciones de seguridad"
607607
La autenticación básica HTTP transmite las credenciales codificadas (no cifradas) en Base64. Aunque esto es aceptable cuando se utiliza sobre HTTPS, no debe considerarse seguro sobre HTTP plano. Habilite siempre SSL/TLS cuando utilice la autenticación básica.
@@ -804,7 +804,7 @@ Siga estos pasos para configurar y utilizar la función de Mal Comportamiento:
804804
2. **Configure los códigos de estado:** Defina qué códigos de estado HTTP deben considerarse "malos" utilizando la configuración `BAD_BEHAVIOR_STATUS_CODES`.
805805
3. **Establezca los valores de umbral:** Determine cuántas respuestas "malas" deben desencadenar un bloqueo utilizando la configuración `BAD_BEHAVIOR_THRESHOLD`.
806806
4. **Configure los períodos de tiempo:** Especifique la duración para contar las respuestas malas y la duración del bloqueo utilizando las configuraciones `BAD_BEHAVIOR_COUNT_TIME` y `BAD_BEHAVIOR_BAN_TIME`.
807-
5. **Elija el ámbito del bloqueo:** Decida si los bloqueos deben aplicarse solo al servicio actual o globalmente a todos los servicios utilizando la configuración `BAD_BEHAVIOR_BAN_SCOPE`.
807+
5. **Elija el ámbito del bloqueo:** Decida si los bloqueos deben aplicarse solo al servicio actual o globalmente a todos los servicios utilizando la configuración `BAD_BEHAVIOR_BAN_SCOPE`. Cuando el tráfico llega al servidor predeterminado (nombre de servidor `_`), los bloqueos siempre son globales para que la IP quede bloqueada en todas partes.
808808

809809
!!! tip "Modo Stream"
810810
En **modo stream**, solo el código de estado `444` se considera "malo" y activará este comportamiento.
@@ -818,7 +818,7 @@ Siga estos pasos para configurar y utilizar la función de Mal Comportamiento:
818818
| `BAD_BEHAVIOR_THRESHOLD` | `10` | multisite | no | **Umbral:** El número de códigos de estado "malos" que una IP puede generar dentro del período de conteo antes de ser bloqueada. |
819819
| `BAD_BEHAVIOR_COUNT_TIME` | `60` | multisite | no | **Período de conteo:** La ventana de tiempo (en segundos) durante la cual se cuentan los códigos de estado malos para alcanzar el umbral. |
820820
| `BAD_BEHAVIOR_BAN_TIME` | `86400` | multisite | no | **Duración del bloqueo:** Cuánto tiempo (en segundos) permanecerá bloqueada una IP después de exceder el umbral. El valor por defecto es de 24 horas (86400 segundos). Establezca en `0` para bloqueos permanentes que nunca expiran. |
821-
| `BAD_BEHAVIOR_BAN_SCOPE` | `service` | global | no | **Ámbito del bloqueo:** Determina si los bloqueos se aplican solo al servicio actual (`service`) o a todos los servicios (`global`). |
821+
| `BAD_BEHAVIOR_BAN_SCOPE` | `service` | global | no | **Ámbito del bloqueo:** Determina si los bloqueos se aplican solo al servicio actual (`service`) o a todos los servicios (`global`). En el servidor predeterminado (`_`), los bloqueos son siempre globales. |
822822

823823
!!! warning "Falsos positivos"
824824
Tenga cuidado al establecer el umbral y el tiempo de conteo. Establecer estos valores demasiado bajos puede bloquear inadvertidamente a usuarios legítimos que encuentren errores mientras navegan por su sitio.
@@ -1416,6 +1416,32 @@ Aquí hay ejemplos de posibles valores para el ajuste `CORS_ALLOW_ORIGIN`, junto
14161416
CORS_DENY_REQUEST: "yes"
14171417
```
14181418

1419+
## Cache <img src='../../assets/img/pro-icon.svg' alt='crow pro icon' height='24px' width='24px' style='transform : translateY(3px);'> (PRO)
1420+
1421+
1422+
Compatibilidad con STREAM :x:
1423+
1424+
Provides caching functionality at the reverse proxy level.
1425+
1426+
| Parámetro | Valor predeterminado | Contexto | Múltiple | Descripción |
1427+
| --------------------------- | --------------------------------- | --------- | -------- | ------------------------------------------------------------------------------ |
1428+
| `CACHE_PATH` | | global || Path and parameters for a cache. |
1429+
| `CACHE_ZONE` | | multisite | no | Name of cache zone to use (specified in a CACHE_PATH setting). |
1430+
| `CACHE_HEADER` | `X-Cache` | multisite | no | Add header about cache status. |
1431+
| `CACHE_BACKGROUND_UPDATE` | `no` | multisite | no | Enable or disable background update of the cache. |
1432+
| `CACHE_BYPASS` | | multisite | no | List of variables to determine if the cache should be bypassed or not. |
1433+
| `CACHE_NO_CACHE` | `$http_pragma$http_authorization` | multisite | no | Disable caching if variables are set. |
1434+
| `CACHE_KEY` | `$scheme$proxy_host$request_uri` | multisite | no | Key used to identify cached elements. |
1435+
| `CACHE_CONVERT_HEAD_TO_GET` | `yes` | multisite | no | Convert HEAD requests to GET when caching. |
1436+
| `CACHE_LOCK` | `no` | multisite | no | Lock concurrent requests when populating the cache. |
1437+
| `CACHE_LOCK_AGE` | `5s` | multisite | no | Pass request to upstream if cache is locked for that time (possible cache). |
1438+
| `CACHE_LOCK_TIMEOUT` | `5s` | multisite | no | Pass request to upstream if cache is locked for that time (no cache). |
1439+
| `CACHE_METHODS` | `GET HEAD` | multisite | no | Only cache response if corresponding method is present. |
1440+
| `CACHE_MIN_USES` | `1` | multisite | no | Number of requests before we put the corresponding response in cache. |
1441+
| `CACHE_REVALIDATE` | `no` | multisite | no | Revalidate expired items using conditional requests to upstream. |
1442+
| `CACHE_USE_STALE` | `off` | multisite | no | Determines the use of staled cache response (proxy_cache_use_stale directive). |
1443+
| `CACHE_VALID` | `10m` | multisite || Defines default caching with optional status code. |
1444+
14191445
## Client cache
14201446

14211447
Compatibilidad con STREAM :x:
@@ -3649,7 +3675,7 @@ Siga estos pasos para configurar y usar ModSecurity:
36493675
Seleccione una versión de CRS que se ajuste mejor a sus necesidades de seguridad:
36503676

36513677
- **`3`**: Estable [v3.3.7](https://github.com/coreruleset/coreruleset/releases/tag/v3.3.7).
3652-
- **`4`**: Estable [v4.20.0](https://github.com/coreruleset/coreruleset/releases/tag/v4.20.0) (**predeterminada**).
3678+
- **`4`**: Estable [v4.21.0](https://github.com/coreruleset/coreruleset/releases/tag/v4.21.0) (**predeterminada**).
36533679
- **`nightly`**: [Compilación nocturna](https://github.com/coreruleset/coreruleset/releases/tag/nightly) que ofrece las últimas actualizaciones de reglas.
36543680

36553681
!!! example "Compilación Nocturna"

docs/es/integrations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Después de suscribirte a BunkerWeb Cloud, recibirás:
6666
- **URL de acceso a la IU de BunkerWeb**: Interfaz para configurar tus servicios
6767
- **Punto final del Load Balancer**: URL única en el formato `http://[ID].bunkerweb.cloud`
6868
- **Acceso a Grafana**: Interfaz de monitorización y visualización de métricas
69-
- **Recursos asignados**: 2 instancias con 16 GB de RAM y 4 CPU cada una
69+
- **Recursos asignados**: 2 instancias con 8 GB de RAM y 2 CPU cada una
7070

7171
#### 2. Primera conexión
7272

0 commit comments

Comments
 (0)