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.
Una única dependencia saliente
Sección titulada «Una única dependencia saliente»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.
| Propiedad | Valor |
|---|---|
| Sentido | Solo 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 |
| Destino | app.openlatch.ai, en TCP 443 |
| Transporte | HTTPS. 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 proxy | Sí: 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 permitidas | No compatible. No hay ningún rango de direcciones estático: permite por nombre de dominio completo y por SNI |
| Certificados | OpenLatch no emite ninguno ni te exige ninguno |
Tráfico saliente requerido
Sección titulada «Tráfico saliente requerido»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.
| Destino | Puerto | Sentido | Protocolo | Uso | Cómo permitirlo |
|---|---|---|---|---|---|
app.openlatch.ai | TCP 443 | Saliente | HTTPS | Políticas, registros de decisiones, autenticación, y la telemetría de producto y los informes de fallos opcionales | Por 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 espejo | TCP 443 | Saliente | HTTPS | Instalar el cliente y descargar una actualización cuando la permitas | Por nombre, o por el nombre de tu espejo interno. Solo necesario durante una instalación o una actualización |
openlatch.ai | TCP 443 | Saliente | HTTPS | Descargar el script de instalación, install.sh o install.ps1, y el informe de instalación que envía | Por nombre. Solo necesario al instalar con un script |
challenges.cloudflare.com, desde el navegador de cualquier persona que inicie sesión en la consola | TCP 443 | Saliente | HTTPS | La comprobación que hace el paso de correo al iniciar sesión | Por nombre, solo para navegadores. Ninguna máquina que ejecuta el cliente lo contacta |
El navegador del administrador
Sección titulada «El navegador del administrador»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.
El tráfico propio de tus agentes
Sección titulada «El tráfico propio de tus agentes»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.
Matriz de compatibilidad de proxies
Sección titulada «Matriz de compatibilidad de proxies»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 red | Compatible | Cómo se gestiona | Notas |
|---|---|---|---|
| Proxy HTTP o HTTPS CONNECT sin autenticación | Sí | Se descubre en la instalación, o se le proporciona a la instalación | La forma habitual en las empresas. La ruta que funciona se registra en la máquina |
| Autenticación Basic | Sí | La credencial se pide ante un desafío y se guarda en el almacén de credenciales del sistema operativo | Nunca se escribe en texto claro en un archivo |
| Kerberos (Negotiate) | Sí | Usa la identidad de la sesión iniciada, mediante el mecanismo del sistema operativo | El 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 |
| NTLM | No | No compatible, por diseño | Microsoft 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 macOS | La URL se entrega al resolvedor del sistema operativo | Se rechaza en Linux, donde el cliente no dispone de un resolvedor de configuración automática. Define la ruta explícitamente allí |
| SOCKS5 | Sí | Una ruta socks5:// o socks5h:// | La resolución de nombres sigue siendo local con socks5 y pasa al proxy con socks5h |
| Proxy transparente | Sí | Sin configuración en la máquina; el tráfico se intercepta en el camino | Combí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 corporativa | Sí | 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ón | El 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 proxy | No | — | 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 OpenLatch | No | — | No hay ningún rango de direcciones estático. Permite app.openlatch.ai por nombre y SNI |
Configurar la ruta
Sección titulada «Configurar la ruta»Cómo se encuentra la ruta
Sección titulada «Cómo se encuentra la ruta»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.
Proporcionar la ruta a la instalación
Sección titulada «Proporcionar la ruta a la instalación»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:
export OPENLATCH_NO_INIT=1curl -LsSf https://openlatch.ai/install.sh | sh~/.local/bin/openlatch init --proxy http://proxy.corp:8080 --ca-bundle /etc/ssl/corp-root.pemEn Windows:
$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.pemEn una máquina que ya tiene Node.js, npx @openlatch/client init acepta las mismas opciones en un solo paso:
npx @openlatch/client init --proxy http://proxy.corp:8080 --ca-bundle /etc/ssl/corp-root.pemSe 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.
Gestión de credenciales
Sección titulada «Gestión de credenciales»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.
Inspección TLS
Sección titulada «Inspección TLS»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.
Comportamiento sin conexión y degradado
Sección titulada «Comportamiento sin conexión y degradado»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ón | Qué hace la máquina | Qué ves |
|---|---|---|
| La consola no es accesible | Sigue aplicando las políticas que tiene y reintenta en segundo plano. Los registros se guardan en la máquina | La 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 tiempo | Sigue aplicándolas. Las políticas no caducan | Un 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 rechaza | Deja de obtener actualizaciones, sigue aplicando lo que tiene y se reanuda sola en cuanto hay una credencial válida | Un 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ítica | Mantiene vigente lo que ya tiene | La máquina figura como conectada, sin nada que obtener |
| Llega una actualización dañada o en una forma que la máquina no reconoce | La rechaza y conserva las políticas anteriores. Una actualización dañada nunca entra en vigor | Un 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áquina | La descarta. La máquina funciona sin política hasta la siguiente actualización correcta | Cada 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áquina | Devuelve Allow: una máquina nunca bloquea sin política | Cada veredicto se marca como decidido sin política |
| El cliente no se está ejecutando | La acción continúa y no se retiene | openlatch status indica que el cliente no se ejecuta, y la consola no muestra actividad reciente de la máquina |
| Los registros no se pueden entregar | Reintenta, luego los guarda en la máquina y los envía cuando la consola vuelve a ser accesible | Un 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 consola | Cada máquina aplica el cambio en su siguiente actualización y registra lo que habría hecho | El cambio, en la consola, sin necesidad de acceder a ninguna máquina. Las decisiones se siguen registrando |
Verificar la ruta
Sección titulada «Verificar la ruta»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.
openlatch statusopenlatch doctoropenlatch system proxy test| Comando | Qué demuestra |
|---|---|
openlatch status | Si 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 doctor | La 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 test | La 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.
En resumen
Sección titulada «En resumen»- Aprueba una única entrada para las máquinas:
app.openlatch.aien TCP 443, saliente. Sin puertos entrantes. - Los navegadores que inician sesión en la consola también necesitan
challenges.cloudflare.comen 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.