Proxy TCP

Aplicación web clásica: el proxy TCP entre tu aplicación y la base de datos

En una aplicación web, un camino del código, un script de soporte o un ORM mal configurado puede enviar un DELETE sin WHERE a producción. El proxy TCP de Vericto se instala entre el pool de conexiones y Postgres o MySQL y evalúa cada sentencia antes de que llegue a la base, sin cambiar tu código: solo cambia el host del connection string.

Diagrama: aplicación web con el proxy TCP de VerictoLos usuarios llaman a la aplicación web; su pool de conexiones envía el SQL al proxy de Vericto, que corre en tu infraestructura y evalúa cada sentencia. Las permitidas siguen a PostgreSQL o MySQL; una bloqueada vuelve a la aplicación como error SQLSTATE 42501 o ERROR 1142. El proxy recibe las reglas de Vericto Cloud y le envía la telemetría.Tu infraestructurareglas · telemetríabloqueada: SQLSTATE 42501 · ERROR 1142UsuariosAplicación webpool de conexionesProxy de VerictoTCP · puerto 5433Evalúa aquíBase de datosPostgreSQL o MySQLVericto Cloudreglas y audit trailDiagrama: aplicación web con el proxy TCP de VerictoLos usuarios llaman a la aplicación web; su pool de conexiones envía el SQL al proxy de Vericto, que corre en tu infraestructura y evalúa cada sentencia. Las permitidas siguen a PostgreSQL o MySQL; una bloqueada vuelve a la aplicación como error SQLSTATE 42501 o ERROR 1142. El proxy recibe las reglas de Vericto Cloud y le envía la telemetría.Tu infraestructuraSQL, mismas credencialespermitidaUsuariosAplicación webpool de conexionesProxy de VerictoTCP · puerto 5433Evalúa aquíBase de datosPostgreSQL o MySQLVericto Cloudreglas y audit trail
  • Ruta de la sentencia SQL
  • Vericto Cloud: reglas y telemetría
  • Sentencia bloqueada: vuelve un error
  • Donde Vericto evalúa
El proxy corre en tu infraestructura y evalúa en su propio proceso; Vericto Cloud solo le envía las reglas y recibe la telemetría. Tus credenciales no salen de tu red.

Qué protege

Las reglas estándar se aplican a cada sentencia que pasa por el proxy. En una aplicación web, las que más suelen dispararse:

Una sentencia bloqueada no llega a la base: la aplicación recibe el error nativo de su driver, SQLSTATE 42501 en Postgres y ERROR 1142 en MySQL, con la regla que la bloqueó.

Latencia y disponibilidad

El proxy añade un salto de red, de la aplicación al proxy, y el parsing y la evaluación de cada sentencia, que ocurren en su propio proceso, sin llamadas de red en la ruta crítica. Ponlo en la misma red que la aplicación (mismo host, subred o VPC) para que ese salto sea corto.

Para el parsing y la evaluación de reglas, el objetivo de diseño es p99 < 2 ms. Es un objetivo, no una medición: el benchmark de latencia del proxy todavía no está publicado.

La disponibilidad del proxy depende de tu despliegue, porque corre en tu infraestructura. Las reglas se sincronizan cada 5 minutos por defecto (VERICTO_RULES_SYNC_INTERVAL_SECS, mínimo 30 s) y la telemetría nunca retrasa la evaluación: se envía de forma asíncrona, después de decidir.

Cómo implementarlo

  1. Crea un workspace, registra la base de datos con su dialecto (PostgreSQL o MySQL) y copia su Database ID: guía de integración.
  2. Crea una API key con los scopes rules:read y telemetry:write: es lo único que el proxy necesita.
  3. Despliega el contenedor ghcr.io/vericto/vericto-proxy junto a tu aplicación (Docker, Kubernetes o ECS), con UPSTREAM_HOST apuntando a tu base.
  4. Cambia el host y el puerto del connection string al proxy (5433 en Postgres, 3307 en MySQL). Las credenciales no cambian: referencia de configuración.
  5. Empieza en modo observación: revisa en el dashboard lo que se habría bloqueado y luego aplica las reglas.
  6. Antes de cambiar una regla, simúlala contra tu tráfico real (Builder, Team y Enterprise).

Cuándo no usar esta opción

  • Oracle o SQL Server. No hay proxy TCP para esos dialectos: usa la API de runtime antes de ejecutar cada query.
  • No puedes cambiar el host al que se conecta la aplicación. La API de runtime evalúa por HTTP sin tocar la red; tu código ejecuta la query solo si la respuesta no es BLOCKED.
  • TLS opaco de extremo a extremo. El channel binding de SCRAM (SCRAM-SHA-256-PLUS) y la autenticación cert del cliente final no funcionan a través de un proxy que inspecciona el SQL, por diseño.
  • Frenar el SQL antes del merge. Eso es la CLI en CI: ver CI/CD y migraciones. La mayoría de los equipos usan los dos.

Disponibilidad por plan

FunciónFreeBuilderTeamEnterprise
Proxy TCP, API de runtime, CLI y MCPSíSíSíSí
Queries al mes (proxy y API de runtime)500K5M50MIlimitadas
Bases de datos1310A medida
Reglas custom (YAML)—520Ilimitadas
Simulador de reglas—Hasta 30 díasHasta 90 díasSegún contrato (hasta 180 días)
Columnas sensibles y enmascaramiento (VERICTO-085)——SíSí
Despliegue en tu VPC———Sí

Precios y todos los límites en Precios.

Pruébalo con tu propio SQL

El plan Free incluye 500K queries al mes y 1.000 validaciones de CLI y MCP, sin tarjeta de crédito. Para despliegues en tu VPC, SSO y SLA dedicados, habla con ventas.