Skip to content
Esta página se tradujo con IA y puede contener imprecisiones. Ayuda a mejorarla en GitHub.

Gately v0.6.5.5 publicado ​

11 de noviembre de 2026

Descargar v0.6.5.5 · GitHub Release

Port Knocking (#80) ​

El nuevo módulo Port Knocking (en el grupo «Red») ofrece autorización de paquete único (SPA) compatible con el cliente fwknop: los puertos protegidos no aceptan conexiones desde fuera, el cliente envía primero un paquete de llamada cifrado y autenticado y, cuando se acepta, solo esa dirección de origen puede entrar durante un tiempo limitado. Es útil para proteger el acceso SSH directo, de modo que scp, el desarrollo remoto desde un IDE y otros usos que el terminal web no cubre pueden conectarse con seguridad desde internet.

  • Seguridad: los paquetes se cifran con AES y se autentican con HMAC, y el HMAC se valida antes de descifrar; cada paquete solo puede usarse una vez (protección contra repetición) y se rechazan los paquetes con una marca de tiempo fuera del periodo de validez (120 segundos por defecto); una regla puede limitar el nombre de usuario y exigir que el paquete indique la dirección que se debe abrir;
  • Bloqueo en el cortafuegos: los paquetes de llamada se reciben por defecto en UDP 62201; una regla puede escribir los puertos protegidos en el cortafuegos del sistema (nftables, o iptables + ipset si el kernel no tiene nf_tables), y una dirección que ha llamado con éxito puede abrir conexiones nuevas durante el tiempo de apertura (30 segundos por defecto); las conexiones ya establecidas no se ven afectadas;
  • Sin quedarse fuera: «Red interna sin llamada» está activada por defecto, de modo que las direcciones privadas y los prefijos IPv6 públicos de las interfaces locales no necesitan llamada (el rango de NAT de operador 100.64.0.0/10 no está incluido), y se puede añadir una lista de direcciones exentas;
  • Entradas de Gately abiertas por llamada: el control de acceso por IP de Reenvío de puertos, Enrutamiento por protocolo y el reenvío integrado de STUN puede elegir «Requerir llamada»; lo decide Gately por sí mismo, sin permisos de cortafuegos, así que también funciona en Windows, macOS y en contenedores sin NET_ADMIN;
  • Un solo puerto abierto: el Enrutamiento por protocolo puede exigir la llamada por ruta y añade una ruta «Port Knocking» (protocolo spa) que recibe paquetes de llamada por TCP (fwknop -P tcp), de modo que el mismo puerto recibe la llamada y después deja pasar SSH y otras rutas;
  • Prevención de intrusiones: las llamadas rechazadas pueden usarse como fuente de eventos, y la plantilla integrada «Fallos de Port Knocking» bloquea durante un día tras 5 fallos en 10 minutos por defecto; los paquetes UDP que no superan la autenticación HMAC solo se cuentan y no se usan, porque su origen puede falsificarse; las llamadas correctas y rechazadas se pueden suscribir en el Centro de notificaciones;
  • Configuración del cliente: «Cliente» en la tarjeta de la regla genera la línea de comandos de fwknop y una sección de ~/.fwknoprc, con las claves en el mismo formato que fwknop -k.

Consulte Port Knocking.

Wake-on-LAN: apagado remoto mediante un agente ​

El apagado remoto añade el método «Agente»: instale un agente en Windows, Linux, macOS u OpenWrt (como tarea programada, o como servicio systemd / OpenRC, launchd o procd). El agente consulta a Gately por sondeo largo para recibir órdenes, de modo que el equipo no necesita puertos abiertos y Gately no guarda credenciales de inicio de sesión del equipo.

  • El agente solo ejecuta tres acciones fijas: apagar, reiniciar y suspender; la API POST /api/wol/devices/{key}/shutdown acepta {"action": "reboot"} o {"action": "sleep"} para reiniciar o suspender;
  • Una orden es válida durante 10 segundos tras enviarse: el agente la confirma primero y solo la ejecuta cuando Gately responde; si el agente está desconectado, la petición falla al momento y nunca queda en cola para la próxima conexión;
  • El comando de instalación comprueba primero el SHA-256 del script y se detiene si no coincide; las credenciales viajan en el cuerpo de la petición y en variables de entorno y nunca aparecen en URL ni en argumentos de la línea de comandos;
  • La tarjeta del equipo muestra si el agente está en línea, con el nombre de host, el sistema y la dirección de origen que informa; al regenerar la credencial, el agente anterior se desconecta de inmediato.

También hay un nuevo método «Petición HTTP» para Home Assistant, enchufes inteligentes y otros servicios con API HTTP: indique la URL, el método, las cabeceras y el cuerpo; un código de estado 2xx cuenta como éxito. Consulte Wake-on-LAN · Agente.

Servicio web: confiar en usuarios autenticados (#81) ​

Los sitios añaden la opción «Confiar en usuarios autenticados»: los visitantes autenticados por la autenticación de Gately de este sitio omiten el WAF y sus solicitudes no cuentan en el sondeo de rutas web de Prevención de intrusiones, para los casos en que el WAF o las reglas de rutas señuelo bloquean a sus propios usuarios. Se confía en las sesiones de autenticación web, las identidades de inicio de sesión de terceros enumeradas una a una en la lista de permitidos, el inicio de sesión único de los usuarios compartidos y la autenticación básica verificada; las identidades permitidas mediante un comodín proveedor:* como github:* no son de confianza. Los bloqueos, el control de acceso por IP y país y los límites de tasa se siguen aplicando. Consulte Cortafuegos WAF.

Reparto por usuario en más tipos de sitio (#79) ​

Los sitios de redirección, archivos estáticos, panel de navegación y texto fijo también pueden repartir por usuario autenticado: los usuarios que coinciden con una regla pasan por proxy inverso al backend de esa regla y el resto de visitantes se atiende según el tipo de sitio, por ejemplo los administradores entran en el panel de administración y los demás usuarios con sesión se redirigen a una página informativa. Consulte Servicio web · Repartir por usuario.

Las solicitudes de administradores omiten el WAF del sitio ​

Cuando se accede a la interfaz de administración a través de un sitio con WAF, las solicitudes con una sesión de administrador válida de esta instancia omiten el WAF del sitio, así que guardar configuración que contiene rutas de archivos, HTML o scripts ya no se bloquea con 403 por reglas CRS. Las cuentas de solo lectura, los visitantes y las solicitudes de administración de otras instancias se siguen comprobando.

Correcciones ​

  • Paquetes de OpenWrt (#82): el apk de OpenWrt 25.12 sustituye los archivos aunque falle la comprobación de arquitectura, así que un paquete arm64 mezclado en la carpeta sin conexión al integrar paquetes en una imagen de firmware hacía que el programa fallara en bucle tras flashear. Ahora, cuando apk instala un paquete de otra arquitectura, se conserva el programa gately en ejecución y un mensaje lo indica. Al integrar paquetes en el firmware o instalar sin conexión, deje en la carpeta solo el paquete gately que corresponde a la arquitectura del dispositivo; consulte Instalación · OpenWrt.

Otras mejoras ​

  • La documentación de la API enumera los endpoints de módulos sin inicio de sesión (como el sondeo, la confirmación y la descarga de scripts del agente de Wake-on-LAN), indica que usan las credenciales propias del módulo y añade los campos de Port Knocking.

Notas de actualización ​

  • Docker: descargue la nueva imagen y vuelva a crear el contenedor. OpenWrt: instale el nuevo .apk / .ipk sobre el anterior e instale también luci-app-gately de la misma versión si quiere la página de LuCI. fnOS: instale manualmente el nuevo .fpk en el Centro de aplicaciones. El resto de instalaciones puede actualizarse en línea desde «Ajustes del sistema».
  • El bloqueo en el cortafuegos de Port Knocking necesita root o CAP_NET_ADMIN; en Docker se necesita la red host y cap_add: NET_ADMIN.

Publicado bajo la licencia Apache-2.0.