Gately v0.6.3 publicado
2 de noviembre de 2026
Descargar v0.6.3 · GitHub Release
Supervisión del rendimiento (#59)
El nuevo módulo «Rendimiento» recoge cada 5 segundos la CPU, la memoria, el disco y la carga del host, además de la CPU, la memoria, los descriptores de archivo y las goroutines del proceso de Gately:
- la página muestra tendencias de 60 segundos / 1 hora / 24 horas, junto a las solicitudes en curso, las solicitudes por segundo, la proporción de 5xx, el tiempo hasta el primer byte (P95) y el estado de los backends de los sitios en ejecución; al hacer clic en un sitio se abren sus estadísticas;
- los sitios web miden ahora el tiempo hasta el primer byte (desde que se recibe la solicitud hasta que se envían las cabeceras de la respuesta), las estadísticas de sitio incorporan curvas P50 / P95, Prometheus añade
gately_site_request_duration_secondsy las métricasgately_host_*ygately_process_*, y el panel de Grafana se ha actualizado; - una regla de alerta elige una métrica, una comparación y un umbral, y luego una duración (de 1 a 1440 minutos); solo se dispara cuando la condición se cumple durante toda la duración, y al recuperarse se envía otra notificación. La proporción de 5xx y la latencia admiten un número mínimo de solicitudes, de modo que no se evalúa con muy poco tráfico. Las alertas salen por el Centro de notificaciones, y la página avisa si ninguna regla de notificación las tiene suscritas.
El historial solo se guarda en memoria y empieza de nuevo tras reiniciar. Consulte Rendimiento.
WAF con SafeLine
Una instancia WAF puede enviar las solicitudes a su motor de detección SafeLine Community Edition autoalojado para un análisis semántico, sin añadir otro proxy inverso delante o detrás de Gately:
- introduzca la dirección del detector (
host:port, ounix:más la ruta desnserver.sock); «Probar conexión» envía un latido y una inyección SQL de ejemplo, y muestra el tiempo de ida y vuelta y el ID de evento registrado por SafeLine; - SafeLine se ejecuta antes que los grupos de reglas, que pueden quedar vacíos si solo se usa SafeLine; el modo «Solo detectar» registra las detecciones sin bloquear;
- los bloqueos cuentan en los contadores del WAF, el registro del WAF (con el ID de evento), los registros de acceso, las estadísticas de sitio y la Prevención de intrusiones;
- puede ajustar el tiempo de espera de detección (1 segundo por defecto), el límite del cuerpo inspeccionado (1024 KB por defecto, el resto se reenvía sin cambios) y si las solicitudes se permiten o reciben un 503 cuando el motor no está disponible (se permiten por defecto).
Consulte Cortafuegos WAF · Usar SafeLine.
Operaciones por lotes (#57)
El modo «Ordenar» de las listas pasa a llamarse «Ordenar y lotes»: tras marcar elementos, puede activarlos, desactivarlos y eliminarlos de una vez, y los nombres se listan para confirmar antes de eliminar. Los sitios de Servicios web se pueden marcar entre distintos listeners para añadir o quitar dominios en bloque, reemplazar el sufijo del dominio principal (old.com → new.com también reescribe www.old.com y *.old.com) y cambiar en bloque la compresión, los registros de acceso, CORS, las cabeceras reenviadas, la desconexión al rechazar y las referencias al WAF; las opciones que no se cambian conservan el valor de cada sitio. Todo el lote se valida primero y se guarda de una vez, no se aplica nada si falla un elemento, y solo se recargan los listeners afectados, sin cortar las conexiones existentes. La API consta de los genéricos PUT <ruta>-enable y POST <ruta>-delete, además de POST /api/webservice/sites/batch.
STUN: abrir automáticamente los puertos del cortafuegos
Las reglas STUN incorporan «Abrir puerto en el cortafuegos»: al activarlo, Gately abre el puerto de traversal en el cortafuegos de esta máquina (junto con el puerto interno UPnP / NAT-PMP si está definido) y lo retira cuando la regla se detiene o se elimina. Se admiten nftables (OpenWrt fw4, firewalld) e iptables (fw3, ufw), las reglas se restauran en los 30 segundos posteriores a una recarga del cortafuegos, y la tarjeta de la regla muestra el resultado o el motivo de un fallo. Consulte Traversal STUN.
Corrección: fallos de emisión por CNAME comodín (#61)
Cuando un dominio tiene un comodín como *.example.com que apunta a example.com, _acme-challenge también se resuelve como CNAME, el registro de validación DNS-01 se escribía en @ y la CA informaba de que no encontraba el registro TXT. Ahora Gately lo decide por sí mismo: un CNAME establecido de forma explícita se sigue como antes, lo que permite delegar la validación en otro dominio; un CNAME producido por un comodín se reconoce y el registro se escribe en _acme-challenge.<dominio>. Los certificados incorporan además la opción «No seguir el CNAME de _acme-challenge». Consulte Certificados SSL.
Registros de Servicios web (#62)
- Los registros de acceso anotan el motivo de un bloqueo (bloqueo, lista de IP, país, límite de tasa, WAF), y las solicitudes que llevan una sesión iniciada en la consola de esta instancia anotan el nombre de usuario de la consola;
- la página de registros incorpora «Ocultar orígenes bloqueados» (desactivado por defecto, para que las solicitudes que provocaron un bloqueo sigan visibles en las auditorías) y «Ocultar solicitudes de la consola» (activado por defecto); solo afectan a lo que se muestra, y los registros se guardan como antes;
- el filtro de IP admite exclusiones que empiezan por
!o-, como direcciones, rangos o direcciones parciales.
Otras mejoras
- La topología de red incorpora «Filtrar»: por listener, solo los nodos con problemas y sitios por motivo de bloqueo; el enmascarado incorpora el estilo «Alias», que sustituye las direcciones por números como Visitor-01 y Backend-01 (#54);
- el vídeo de recorrido del README empieza directamente en la tarjeta de introducción;
- dependencias actualizadas: go-jose a v4.1.7 y klauspost/compress a v1.18.7.
Correcciones y refuerzos
- Cuando el backend de un sitio con WAF devuelve un 403 por sí mismo, ya no se trata como un bloqueo del WAF: antes sumaba a los contadores de bloqueo y emitía un evento
waf.blocked, por lo que una regla de Prevención de intrusiones suscrita a los bloqueos del WAF podía bloquear a un visitante normal; - «Ocultar solicitudes de la consola» solo confía en las sesiones de administrador, así que la cookie de inicio de sesión de una cuenta de solo lectura no sirve para marcar solicitudes como de la consola; las solicitudes bloqueadas no llevan marca de consola;
- las operaciones por lotes limitan el número de elementos enviados antes de eliminar duplicados, y se rechaza un lote que establece una instancia WAF inexistente;
- cuando varios Gately se ejecutan en un mismo host, las reglas de cortafuegos abiertas automáticamente se distinguen por instancia y no se eliminan entre sí.
Notas de actualización
- Docker: descargue la nueva imagen y vuelva a crear el contenedor; con el socket de Docker montado, Gately también puede actualizarse a sí mismo desde su página de Docker. OpenWrt: instale el nuevo
.apk/.ipksobre el anterior. fnOS: instale el nuevo.fpkmanualmente en el Centro de aplicaciones. Otros despliegues pueden actualizarse en línea desde Ajustes.