Ir al contenido

Requisitos de red

Usa esta página como solicitud de cambio para tu equipo de red. El cliente necesita un único destino saliente, alcanzado a través de tu proxy, y no abre nada de entrada.

El cliente se ejecuta en la máquina que ejecuta el agente, dentro del propio ciclo de vida del agente. Contacta con OpenLatch para tres cosas: obtener las políticas con las que decide, entregar el registro de lo que decidió y autenticarse. Las tres van a un único destino por un único puerto. La telemetría de producto y los informes de fallos, opcionales, van a ese mismo destino, así que OpenLatch no añade ningún otro destino, tanto si los dejas activos como si los desactivas.

PropiedadValor
SentidoSolo saliente. El cliente no abre ningún puerto de escucha en una interfaz de red, y nada de la máquina pasa a ser accesible desde la red
Destinoapp.openlatch.ai, en TCP 443
TransporteHTTPS. TLS se verifica con el almacén de confianza del sistema operativo, más un paquete de certificados opcional combinado encima. La verificación no se puede desactivar
A través de tu proxySí: HTTP y HTTPS CONNECT, SOCKS5 y configuración automática de proxy donde el sistema operativo la admite, con autenticación Basic y Kerberos (Negotiate)
Lista de IP permitidasNo compatible. No hay ningún rango de direcciones estático: permite por nombre de dominio completo y por SNI
CertificadosOpenLatch no emite ninguno ni te exige ninguno
Máquinas detrás de un proxyUn parque de máquinas detrás de un proxy corporativo: un único destino saliente, nada de entrada.MáquinaProxy corporativoMáquinaMáquinaapp.openlatch.ai:443HTTPS
Figura 1. Un parque de máquinas detrás de un proxy corporativo: un único destino saliente, nada de entrada.

Esta es la tabla que hay que pegar en una solicitud de cambio. La primera fila es lo que OpenLatch necesita para funcionar, y es el único destino que una máquina que ejecuta el cliente necesita de OpenLatch. La segunda solo es necesaria mientras instalas o actualizas el cliente; un entorno con un espejo interno de paquetes la apunta a su espejo. La tercera solo es necesaria para instalar con uno de los dos scripts. La cuarta solo afecta a los navegadores.

DestinoPuertoSentidoProtocoloUsoCómo permitirlo
app.openlatch.aiTCP 443SalienteHTTPSPolíticas, registros de decisiones, autenticación, y la telemetría de producto y los informes de fallos opcionalesPor nombre y SNI. No hay ningún rango de direcciones estático
Tu registro de paquetes: registry.npmjs.org, salvo que apuntes el cliente a un espejoTCP 443SalienteHTTPSInstalar el cliente y descargar una actualización cuando la permitasPor nombre, o por el nombre de tu espejo interno. Solo necesario durante una instalación o una actualización
openlatch.aiTCP 443SalienteHTTPSDescargar el script de instalación, install.sh o install.ps1, y el informe de instalación que envíaPor nombre. Solo necesario al instalar con un script
challenges.cloudflare.com, desde el navegador de cualquier persona que inicie sesión en la consolaTCP 443SalienteHTTPSLa comprobación que hace el paso de correo al iniciar sesiónPor nombre, solo para navegadores. Ninguna máquina que ejecuta el cliente lo contacta

El inicio de sesión en la consola empieza con un paso de correo, y ese paso hace en el navegador una breve comprobación de que el visitante es una persona. La comprobación se sirve desde challenges.cloudflare.com, así que los navegadores con los que inician sesión tus administradores deben llegar a ese nombre en TCP 443. Un navegador que no puede llegar falla la comprobación cada vez. Este requisito solo afecta a los navegadores: app.openlatch.ai sigue siendo el único destino que necesita una máquina que ejecuta el cliente.

Tus agentes llegan a sus puntos de acceso de modelos exactamente como antes de instalar OpenLatch. OpenLatch no termina ese tráfico ni lo vuelve a cifrar con otro certificado, y no le añade ningún destino propio. Esos puntos de acceso deben seguir siendo accesibles y quedar exentos del almacenamiento en búfer de respuestas y de la inspección de flujos, para que una respuesta en streaming no se retenga de camino a la persona que la aguarda.

Un dispositivo que almacena la respuesta en búfer, o la analiza como un cuerpo completo, retiene el flujo hasta que termina y luego lo libera de golpe. La petición sigue teniendo éxito; el desarrollador ve un agente que parece atascarse y luego lo imprime todo de una vez.

Para los productos de proxy que dirigen el tráfico por aplicación en lugar de por destino, el nombre del proceso es openlatch en macOS y Linux y openlatch.exe en Windows. Usa ese nombre en una definición de aplicación personalizada.

Responde control por control. Una fila «No» es una decisión de diseño más que una carencia, y cada una indica la vía alternativa.

Control de redCompatibleCómo se gestionaNotas
Proxy HTTP o HTTPS CONNECT sin autenticaciónSíSe descubre en la instalación, o se le proporciona a la instalaciónLa forma habitual en las empresas. La ruta que funciona se registra en la máquina
Autenticación BasicSíLa credencial se pide ante un desafío y se guarda en el almacén de credenciales del sistema operativoNunca se escribe en texto claro en un archivo
Kerberos (Negotiate)SíUsa la identidad de la sesión iniciada, mediante el mecanismo del sistema operativoEl principal de servicio es por defecto el servicio HTTP del host del proxy y se puede sustituir en la instalación. Un ticket ausente o caducado se notifica con su solución
NTLMNoNo compatible, por diseñoMicrosoft dejó obsoleto NTLM, y un cliente que retrocede a él discretamente va en contra de aquello para lo que se desplegó. Usa Negotiate, o una ruta sin autenticación para el cliente
Configuración automática de proxy (PAC o WPAD)Sí, en Windows y macOSLa URL se entrega al resolvedor del sistema operativoSe rechaza en Linux, donde el cliente no dispone de un resolvedor de configuración automática. Define la ruta explícitamente allí
SOCKS5SíUna ruta socks5:// o socks5h://La resolución de nombres sigue siendo local con socks5 y pasa al proxy con socks5h
Proxy transparenteSíSin configuración en la máquina; el tráfico se intercepta en el caminoCombínalo con la fila de inspección TLS si el dispositivo vuelve a firmar la conexión
Inspección TLS con una autoridad de certificación corporativaSíLa raíz de interceptación va en el almacén de confianza del sistema operativo, o se proporciona como paquete PEM en la instalaciónEl paquete se combina encima de las raíces del sistema, nunca las sustituye, y la verificación nunca se desactiva
Certificados de cliente mTLS hacia el proxyNo—El cliente no presenta ningún certificado de cliente. Usa uno de los esquemas de autenticación compatibles
Lista de IP permitidas para el tráfico saliente de OpenLatchNo—No hay ningún rango de direcciones estático. Permite app.openlatch.ai por nombre y SNI

En la mayoría de las máquinas corporativas, la instalación encuentra la ruta sin que se le indique. Sondea lo que ya está configurado y luego recorre los ajustes del sistema operativo, incluida la configuración automática de proxy en Windows y macOS. Solo pregunta si nada de eso llega a la consola, una vez, en un terminal. Una instalación desatendida que no encuentra ruta se detiene con un informe que nombra cada candidato que probó, en lugar de salir en directo sin avisar.

La ruta que permitió la instalación queda registrada en la máquina. Esto importa: el cliente arranca con la sesión del usuario y no hereda las variables del shell de instalación, así que una ruta que solo existía en una variable de entorno se perdería en el siguiente reinicio.

Cuando el descubrimiento no puede funcionar, o una instalación gestionada se ejecuta sin terminal en el que preguntar, proporciona la ruta directamente a la instalación. Proporciona a la vez el paquete de certificados si el sistema operativo aún no confía en la raíz de interceptación.

Retén la inscripción con OPENLATCH_NO_INIT y ejecútala en un segundo paso, para que las opciones lleguen al comando que la realiza. Exporta la variable antes de que se ejecute el script, para que el shell que lee el script también la lleve.

En macOS y Linux:

Ventana de terminal
export OPENLATCH_NO_INIT=1
curl -LsSf https://openlatch.ai/install.sh | sh
~/.local/bin/openlatch init --proxy http://proxy.corp:8080 --ca-bundle /etc/ssl/corp-root.pem

En Windows:

Ventana de terminal
$env:OPENLATCH_NO_INIT = "1"
powershell -ExecutionPolicy Bypass -c "irm https://openlatch.ai/install.ps1 | iex"
& "$env:LOCALAPPDATA\openlatch\bin\openlatch.exe" init --proxy http://proxy.corp:8080 --ca-bundle C:\corp\corp-root.pem

En una máquina que ya tiene Node.js, npx @openlatch/client init acepta las mismas opciones en un solo paso:

Ventana de terminal
npx @openlatch/client init --proxy http://proxy.corp:8080 --ca-bundle /etc/ssl/corp-root.pem

Se puede proporcionar una lista de exclusiones junto con la ruta, con la sintaxis habitual. El tráfico que no sale de la máquina no pasa por el proxy y no necesita exclusión.

Cuando la política prohíbe que una máquina salga sin el proxy, el cliente se puede configurar para rechazar una conexión directa si no se resuelve ninguna ruta. Entonces notifica un fallo de ruta en lugar de saltarse tus controles sin avisar. Configuración del cliente enumera los ajustes.

Una credencial de proxy se guarda en el almacén de credenciales del sistema operativo: el Administrador de credenciales en Windows, el Llavero en macOS, Secret Service en Linux, y un archivo cifrado en un host sin interfaz que no tenga ninguno. Nunca se escribe en texto claro en un archivo de configuración. En todos los lugares donde se muestra o se registra una URL de proxy, aparece como user:*****@host. Se rechaza una URL de proxy que lleve una contraseña en la línea de comandos, porque cualquier proceso de la máquina puede leer una línea de comandos.

La conexión con la consola funciona bajo inspección y no necesita ninguna excepción. El cliente hace llamadas HTTPS normales de petición y respuesta, verifica con el almacén de confianza del sistema operativo y no fija ningún certificado. Coloca la raíz de interceptación en el almacén de confianza donde tu entorno ya lo hace, o proporciona una copia PEM en la instalación. El paquete se combina encima de las raíces del sistema, así que una máquina sigue confiando en todo aquello en lo que ya confiaba.

Los puntos de acceso de modelos de tus agentes son la excepción, y la petición ahí es acotada: exímelos del almacenamiento en búfer de respuestas y de la inspección de flujos, y deja intacto el resto de tu política de inspección.

El cliente actualiza sus políticas desde la consola en segundo plano. Cada decisión se toma en la máquina, con las políticas que ya están allí, así que ninguna llamada de red está en el camino de decisión. Eso es lo que permite que un veredicto sobreviva a una ruta cortada.

Donde la máquina tiene políticas, sigue aplicándolas haga lo que haga la red. Donde no tiene ninguna, permite la acción y marca el registro para indicar que la decisión se tomó sin política. Nada falla en silencio.

SituaciónQué hace la máquinaQué ves
La consola no es accesibleSigue aplicando las políticas que tiene y reintenta en segundo plano. Los registros se guardan en la máquinaLa máquina deja de comunicarse. openlatch status la muestra desconectada, con políticas presentes
Las políticas de la máquina no se actualizan desde hace tiempoSigue aplicándolas. Las políticas no caducanUn aviso de desactualización. La desactualización se notifica, nunca se actúa en consecuencia
La credencial de la oleada se revoca o se renueva, y la consola la rechazaDeja de obtener actualizaciones, sigue aplicando lo que tiene y se reanuda sola en cuanto hay una credencial válidaUn aviso de autenticación en la máquina y ninguna comunicación más en la consola
Tu organización aún no ha publicado ninguna políticaMantiene vigente lo que ya tieneLa máquina figura como conectada, sin nada que obtener
Llega una actualización dañada o en una forma que la máquina no reconoceLa rechaza y conserva las políticas anteriores. Una actualización dañada nunca entra en vigorUn aviso de integridad en la máquina, con las políticas anteriores aún vigentes
La copia local de las políticas se modifica en la máquinaLa descarta. La máquina funciona sin política hasta la siguiente actualización correctaCada veredicto se marca como decidido sin política, y la máquina notifica la pérdida
Ninguna política ha llegado nunca a la máquinaDevuelve Allow: una máquina nunca bloquea sin políticaCada veredicto se marca como decidido sin política
El cliente no se está ejecutandoLa acción continúa y no se retieneopenlatch status indica que el cliente no se ejecuta, y la consola no muestra actividad reciente de la máquina
Los registros no se pueden entregarReintenta, luego los guarda en la máquina y los envía cuando la consola vuelve a ser accesibleUn hueco en la consola que se cierra cuando la máquina se reconecta. La reserva está acotada: por encima de su límite de tamaño se descartan los registros no enviados más antiguos, y el registro del daemon anota un aviso OL-1204
Pasas todas las políticas a Monitor desde la consolaCada máquina aplica el cambio en su siguiente actualización y registra lo que habría hechoEl cambio, en la consola, sin necesidad de acceder a ninguna máquina. Las decisiones se siguen registrando

Ejecuta estos comandos en la primera máquina antes de la oleada, y de nuevo en cualquier máquina que notifique un problema de conexión.

Ventana de terminal
openlatch status
openlatch doctor
openlatch system proxy test
ComandoQué demuestra
openlatch statusSi la máquina está conectada a la consola, si hay políticas presentes y qué agentes están conectados. Responde incluso cuando la ruta está cortada, que es justo cuando lo necesitas
openlatch doctorLa máquina completa, con una causa y una solución para cada problema detectado. Informa del salto por tu proxy por separado de la conexión con la consola, para que un proxy caído y una consola inaccesible nunca parezcan el mismo fallo
openlatch system proxy testLa propia ruta, sondeada salto a salto. Se detiene en el salto que falla y lo nombra

Desplegar el cliente cubre su instalación, y Verificar y desplegar la verificación completa de una máquina.

  • Aprueba una única entrada para las máquinas: app.openlatch.ai en TCP 443, saliente. Sin puertos entrantes.
  • Los navegadores que inician sesión en la consola también necesitan challenges.cloudflare.com en TCP 443. Ninguna máquina que ejecuta el cliente lo contacta.
  • Permite por nombre y SNI, no por dirección. No hay ningún rango de direcciones estático.
  • Tus agentes llegan a sus puntos de acceso de modelos como antes. Mantén esos puntos de acceso accesibles y exentos del almacenamiento en búfer de respuestas y de la inspección de flujos.
  • La inspección TLS no necesita ninguna excepción para la conexión con la consola. Los proxies Basic, Kerberos, SOCKS5, transparentes y de configuración automática son compatibles. NTLM no lo es: prevé una ruta Negotiate o sin autenticación.
  • Una ruta cortada degrada la entrega, no la aplicación. La máquina sigue decidiendo con las políticas que tiene, los registros esperan a que la consola sea accesible, y ambos estados aparecen en openlatch status.