Guía de despliegue y administración

Colector Vantage

Equipo autónomo de ingesta de sensores y mapeo de dependencias de red.

Aplica a la versiónv1
Revisión1.0
Actualizado2026-09-07
DespliegueEquipo Docker de un nodo (imagen base Ubuntu 22.04)
Para quiénOperadores de red y seguridad que despliegan, verifican y mantienen el Colector

1Panorama general

El Colector Vantage es un equipo autocontenido que recibe telemetría de flujos desde sensores distribuidos, la convierte en un mapa vivo de dependencias de la red y transforma ese mapa en política de segmentación. Es el flujo de trabajo de observación pasiva de un producto de mapeo de dependencias de aplicaciones (ADM), corriendo sobre hardware que usted ya tiene.

1.1Sobre esta guía

Acá se describe cómo desplegar, configurar, verificar y operar un nodo Colector. Los comandos están escritos para un servidor Linux con Docker Compose. En todo el documento valen estas convenciones:

  • El texto monoespaciado, por ejemplo ADM_INGEST_PORT, corresponde a una variable, un archivo, un puerto o un comando literal.
  • El $ al comienzo de una línea marca el prompt del shell. Las líneas sin ese prefijo son la salida del comando.
  • Los recuadros de Nota, Cuidado y Advertencia contienen información que afecta el resultado o la seguridad.

1.2Qué es y qué no es

El Colector es un producto aparte, no un cliente del portal central de administración (Switchboard). Mantiene su propio login, su propio registro de usuarios, su propio secreto de sesión y su propia base de datos. Lo único que viaja entre ambos es una consulta periódica de máquina a máquina, la sincronización de identidades, que baja al Colector las identidades de los sensores y el paquete de confianza de la flota. El Colector nunca firma certificados y nunca abre una sesión contra el portal.

Nota

El enrolamiento de sensores y la firma de certificados se hacen en Switchboard, que es donde vive la autoridad certificadora de la flota. El Colector solo valida los certificados de los sensores durante la ingesta: se entera de cuáles son válidos a través de la sincronización de identidades.

Si el Colector se despliega sin Switchboard, vea el capítulo 7.3: puede actuar como su propia CA y firmar sus sensores, o confiar en una CA que usted aporte.

1.3Capacidades de un vistazo

Ingesta

Flujos por mTLS

Los sensores entregan lotes de flujos por un puerto mTLS dedicado. El certificado de cliente es la identidad del sensor.

Ingesta

IPFIX y NetFlow

Colector opcional para IPFIX, NetFlow v9 y v5, de modo que switches que ya están instalados alimenten el mapa sin desplegar ningún sensor.

Mapa

Mapa de dependencias

Agregación por pares ordenados, ranking por capa, supresión de nodos concentradores y top-N, para que una red de 10.000 aristas siga siendo legible.

Análisis

Línea base y anomalías

Las líneas base congeladas detectan qué dejó de conversar. Los z-scores móviles marcan aristas que se comportan distinto de sí mismas.

Política

Listas de permitido

Las dependencias observadas se convierten en una lista de permitido bajo deniega por omisión, exportable a nftables o iptables.

Profundidad

Rescate de paquetes

Los nodos Vantage Deep toman trabajos de captura y suben el pcap correspondiente para analizarlo en Wireshark.

2Arquitectura

2.1Componentes

Un despliegue se compone del nodo Colector, uno o más sensores, y el portal central Switchboard, dueño de la autoridad certificadora. El Colector corre un solo contenedor que expone dos puertos de escucha: uno para los administradores (login y tablero) y otro para sensores (ingesta mTLS).

Dos tipos de sensor alimentan al Colector. El sensor Vantage es la fuente principal de telemetría. El nodo Vantage Deep es un acompañante opcional para rescatar paquetes. El equipamiento de red que ya está instalado también puede exportar flujos directamente, sin instalar ningún sensor.

RolNombre internoPlataformaQué aporta
Sensor Vantageflow-probeRaspberry Pi 4/5, SPAN pasivoMetadatos de flujo: las aristas de dependencia con que se arma el mapa. Es la fuente de datos central.
Vantage Deeppcap-nodeServidor Ubuntu, anillo de captura completaRescate de paquetes bajo demanda, para examinar a nivel de paquete una dependencia marcada.
Exportador existenteipfix:<ip>Cualquier switch o router que exporteFlujos IPFIX o NetFlow, etiquetados por exportador. No requiere sensor.

Un sensor Vantage le dice que una dependencia existe. Un nodo Vantage Deep guarda los paquetes, así que responde la pregunta que un mapa de flujos por sí solo no puede: muéstreme qué cruzó realmente por el cable.

          # plano de control y CA (servidor aparte)
          Switchboard :8443  ──────────────┐  sincronizacion de identidades
                                           │  (consulta, cron, cada 5 min)
                                           │  { ca_bundle_pem, probes, probe_certs }
                                           ▼
  Sensores ──mTLS :8843──►  ┌───────────────────────────────────────────┐
  (sensor Vantage,          │        Colector Vantage                   │
   nodo Vantage Deep,       │  :443   login y tablero (administradores) │
   equipos IPFIX/NetFlow)   │  :8843  ingesta mTLS de flujos            │
  Operador ──HTTPS :443──►  │  SQLite (WAL)  data/adm/adm.db            │
                            └───────────────────────────────────────────┘

2.2Camino de los datos

Los flujos en bruto nunca se guardan. En la ingesta, cada lote se pliega en aristas de dependencia, una fila por cada tupla ordenada (origen, destino, puerto, protocolo), y los flujos individuales se descartan. Eso reduce el volumen en unos cuatro órdenes de magnitud y responde derechamente lo que preguntan los operadores: qué habla con qué, por qué puerto, desde cuándo. El detalle a nivel de paquete se sirve por separado, desde el anillo de captura de un nodo Vantage Deep.

Nota

Todas las escrituras a la base pasan por un único hilo escritor. Es deliberado: SQLite en modo WAL admite muchos lectores simultáneos pero un solo escritor, y dejar que cada petición de ingesta compitiera por el candado de escritura fue la causa original de los database is locked con varios sensores en línea.

2.3Modelo de confianza

Dos puertos de escucha, dos modelos de autenticación:

EscuchaPuertoSe autentica conOtorga
Tablero y API443Cookie de sesión firmada (usuario local, contraseña con bcrypt)Acceso de operador o administrador a la interfaz y la API
Ingesta de flujos8843Certificado de cliente firmado por la CA de la flota (mTLS)La identidad del propio sensor, solo para ingesta
IPFIX / NetFlow4739Nada. UDP sin autenticar (apagado por omisión)Flujos etiquetados por IP del exportador, para dejar constancia del origen

3Requisitos previos

3.1El servidor

  • Un servidor Linux con Docker Engine y el complemento Compose.
  • Dimensionamiento chico (hasta unos 8 sensores): 4 vCPU y 8 GB de RAM. El contenedor queda topado en 6 GB.
  • Disco dimensionado para el histórico de aristas en data/adm/adm.db (WAL). Por omisión se conservan 30 días de baldes horarios.
  • Salida hacia Switchboard para la sincronización de identidades, y entrada desde los sensores en el puerto de ingesta.

3.2Puertos y protocolos

PuertoProtoSentidoPara qué
443TCP/TLSOperador → ColectorLogin, tablero y API REST
8843TCP/mTLSSensor → ColectorIngesta de flujos, RTT, JA3, latidos y pcap
4739UDPExportador → ColectorIPFIX y NetFlow (apagado salvo que se habilite)
8443TCP/TLSColector → SwitchboardSincronización de identidades (saliente)

3.3Certificados y paquete de confianza

El Colector necesita un par de certificado y llave de servidor para ambas escuchas, montado en solo lectura, y el paquete de CA de la flota para validar los certificados de cliente de los sensores. Ese paquete lo deja la sincronización de identidades en data/fleet-ca-bundle.pem y se referencia con la variable ADM_CA_BUNDLE_FILE.

Cuidado

Si el paquete de CA falta o está vacío, la escucha mTLS de ingesta no parte y los sensores no pueden entregar flujos. Confirme que la sincronización de identidades corrió al menos una vez antes de poner sensores en producción (ver el capítulo 6).

4Puesta en marcha

4.1Procedimiento

  1. Dejar los certificados y la configuración

    Deje el certificado y la llave de servidor bajo certs/ e ingest-certs/. Cree sync_config.json con la URL de Switchboard y el token de sincronización.

    # sync_config.json (solo root: mantiene el token fuera de docker inspect)
    {"switchboard_url": "https://switchboard.ejemplo.net:8443", "token": "<token-de-sincronizacion>"}
  2. Construir y levantar el contenedor
    $ docker compose build
    $ docker compose up -d
  3. Programar la sincronización en el servidor

    Corra el script de sincronización desde el cron del servidor, no dentro del contenedor, para que escriba en el directorio data/ que está montado.

    # /etc/cron.d: cada 5 minutos
    */5 * * * * cd /opt/vantage-collector && /usr/bin/python3 sync_identity.py >> /var/log/vantage-sync.log 2>&1
  4. Crear el primer administrador
    $ docker compose exec collector python -m backend.auth add admin '<contraseña>' admin

4.2Qué pasa en el primer arranque

En el primer arranque el contenedor genera un secreto de firma de sesión propio del despliegue y lo guarda en collector_secret.key, con permisos 0600. Ese valor es único del nodo y nunca se comparte con Switchboard, así que una cookie de sesión de uno jamás es válida en el otro.

Nota

El secreto se genera de nuevo cuando el archivo de llave falta o está vacío. Un archivo de cero bytes, por ejemplo de un montaje que quedó colgado, se trata como ausente y se reemplaza. Así el secreto de sesión nunca puede terminar siendo una cadena vacía sin que nadie se dé cuenta.

Cuidado

El código de la aplicación va horneado en la imagen, no montado desde el disco. Después de cambiar cualquier cosa bajo backend/ o frontend_collector/ hay que reconstruir y recrear el contenedor (docker compose build && docker compose up -d) para que el cambio tenga efecto.

5Referencia de configuración

5.1Variables de entorno

Toda la configuración de ejecución se entrega por variables de entorno en el archivo de Compose. Los valores por omisión están pensados para un despliegue chico de un solo nodo.

VariablePor omisiónQué hace
ADM_DATA_DIR/app/data/admBase SQLite y directorio de pcap
ADM_CA_BUNDLE_FILEsin valorPaquete de CA de la flota para verificar los certificados de sensor
ADM_INGEST_CERT_DIR/app/certsCertificado y llave de servidor para la escucha mTLS
ADM_INGEST_MTLS1Habilita la escucha mTLS de ingesta de flujos
ADM_INGEST_PORT8843Puerto de escucha de la ingesta mTLS
ADM_IPFIX0Habilita el colector IPFIX/NetFlow (sin autenticación)
ADM_IPFIX_PORT4739Puerto UDP de IPFIX/NetFlow
ADM_IPFIX_BIND0.0.0.0Dirección de escucha de IPFIX. Conviene acotarla a una interfaz de confianza
ADM_RETENTION_DAYS30Retención de baldes horarios antes de consolidar y podar
COLLECTOR_SESSION_MINUTES480Duración de la sesión del tablero
COLLECTOR_SECRET_FILEcollector_secret.keyRuta del secreto de firma de sesión

5.2Cuentas de usuario

Los usuarios se guardan localmente, con la contraseña cifrada con bcrypt. Hay dos roles: admin, con acceso completo, y operator. Las cuentas se administran desde el tablero, o por línea de comandos:

$ python -m backend.auth add <usuario> <contraseña> [admin|operator]

5.3Configuración del sensor

Un solo esquema es la fuente de verdad de todo lo que se le puede configurar a un sensor. El formulario del tablero, el instalador y el agente leen ese mismo esquema. La configuración se aplica desde la página del sensor en el tablero, o por API:

PATCH /api/adm/probes/<probe-id>/config      # se valida antes de guardar
POST  /api/adm/probes/<probe-id>/validate    # en seco: errores, avisos, dimensionamiento

La validación corre primero, así que el tablero no puede guardar una configuración que el agente después se negaría a ejecutar. Use la llamada validate para ver los errores, los avisos y la estimación de dimensionamiento antes de comprometer el cambio.

5.3.1 Modos de captura

Es la forma en que el tráfico espejado llega físicamente al sensor. Elija el modo que soporte su switch:

ModoCómo llega el espejoInterfaz que recibe
spanTramas espejadas en capa 2, por cable directo desde un puerto SPANInterfaz de captura dedicada, en modo promiscuo y sin IP
rspanLo mismo, pero transportado por la red en una VLAN dedicada. Puede llegar etiquetado 802.1QInterfaz de captura dedicada. Hay que fijar capture_vlan
erspanEncapsulado en GRE sobre IP. Lo desencapsula un túnel de kernel que crea el agentePuede compartir la interfaz de gestión (necesita erspan_listen_ip)

5.3.2 Regla de reparto de interfaces

En un sensor Vantage sobre Raspberry Pi los roles vienen fijos: la captura va en la interfaz 1 GbE integrada (eth0 o end0, por el camino nativo del RP1) y la gestión en la interfaz USB (enx<MAC> o eth1). La interfaz de captura corre en promiscuo, no lleva dirección y tiene los offloads apagados. Capturar por la interfaz USB queda rechazado salvo que se defina interfaces_override, que es la salida de emergencia para una placa cuya segunda interfaz integrada simplemente se llama parecido a una USB.

5.3.3 Variables principales

VariablePor omisiónNotas
capture_modespanspan · rspan · erspan
capture_ifeth0La 1 GbE integrada, para span y rspan
mgmt_ifeth1Interfaz USB. Solo lleva metadatos, del orden de kilobytes
capture_snaplen128Solo cabeceras. Súbalo a 600 si va a clasificar con DPI
capture_vlan0Etiqueta de VLAN para RSPAN. 0 significa sin etiquetar
differentiate_vlanstrueSepara un par de equipos por identificador 802.1Q en un espejo troncal o RSPAN
ntp_serverobligatorioSin NTP las marcas de tiempo de la flota se desvían y deforman el grafo
mgmt_modedhcpstatic exige mgmt_ip en formato CIDR
exporterhttpsmTLS hacia el Colector. ipfix es el camino alternativo
collector_port8843La escucha mTLS de ingesta, no el 443 del tablero
dpi_enabledfalseClasificación L7 con nDPI. Cuesta snaplen y CPU
rtt_enabledfalseMuestreo pasivo de RTT sobre el saludo TCP
ja3_enabledfalseHuella JA3 del ClientHello de TLS
pcap_enabledfalseAnillo local para bajar al detalle. pcap_ring_gb lo dimensiona
cert_rotation_days30Renueva el certificado de cliente esta cantidad de días antes de que expire

5.3.4 El espejo del lado del switch (SPAN)

Un sensor Vantage es pasivo: el switch tiene que espejarle el tráfico. Conecte el puerto destino del SPAN a la interfaz de captura integrada del sensor.

Cisco IOS / IOS-XE (Catalyst)

monitor session 1 source interface GigabitEthernet1/0/1 - 24 both
monitor session 1 destination interface GigabitEthernet1/0/48

Cisco NX-OS (Nexus)

monitor session 1
  source interface Ethernet1/1-24 both
  destination interface Ethernet1/48
  no shut

Arista EOS

monitor session VANTAGE source Ethernet1 - 24
monitor session VANTAGE destination Ethernet48
Cuidado

Las dos direcciones del espejo se suman sobre una sola interfaz. Pasado un 90% de la tasa de línea del 1 GbE, la interfaz empieza a botar tramas en silencio. El sensor marca esa condición como degradada y deja las aristas afectadas como parciales. Dimensione el espejo al enlace, o espeje solo un subconjunto de puertos.

5.3.5 Vantage Deep (pcap-node)

Un nodo Vantage Deep se configura pensando en retención, no en el reparto del espejo. Las variables que importan son pcapnode_capture_nic, pcapnode_backend (dumpcap es el motor implementado), pcapnode_retention_hours, que por omisión son 6, y pcapnode_link_gbps. No tiene ningún canal de entrada desde el Colector: consulta si hay trabajos de captura cuando manda su latido, y sube de vuelta el pcap que extrajo.

5.4Configuración de exportadores IPFIX y NetFlow

El equipamiento de red que ya exporta registros de flujo puede alimentar el mapa sin instalar ningún sensor. Habilite el colector con ADM_IPFIX=1 (revise el capítulo 9 por las implicancias de seguridad) y apunte los exportadores al UDP 4739. Los flujos quedan atribuidos a ipfix:<ip-del-exportador>, de modo que su procedencia se distingue de la de un sensor de confianza.

Nota

El colector decodifica solo IPFIX (v10), NetFlow v9 y NetFlow v5. No decodifica sFlow. Una plataforma que solo hable sFlow, por ejemplo ArubaOS-CX, o un Arista configurado para sFlow, tiene que usar su modo IPFIX/NetFlow o bien un sensor Vantage.

La plantilla del exportador debe llevar como mínimo la quíntupla (IP de origen y destino, puerto de origen y destino, protocolo), más contadores de bytes y paquetes y las marcas de tiempo del flujo. Los registros que llegan sin protocolo se cuentan y se descartan.

Cisco IOS-XE, Flexible NetFlow (Catalyst)

flow record VANTAGE-REC
 match ipv4 source address
 match ipv4 destination address
 match transport source-port
 match transport destination-port
 match ipv4 protocol
 collect counter bytes long
 collect counter packets long
 collect timestamp sys-uptime first
 collect timestamp sys-uptime last
!
flow exporter VANTAGE-EXP
 destination <ip-del-colector>
 source Loopback0
 transport udp 4739
 export-protocol ipfix            ! o netflow-v9
 template data timeout 60
!
flow monitor VANTAGE-MON
 exporter VANTAGE-EXP
 record VANTAGE-REC
 cache timeout active 60
!
interface GigabitEthernet1/0/1
 ip flow monitor VANTAGE-MON input
 ip flow monitor VANTAGE-MON output

Cisco NX-OS (Nexus)

feature netflow
!
flow record VANTAGE-REC
  match ipv4 source address
  match ipv4 destination address
  match transport source-port
  match transport destination-port
  match ip protocol
  collect counter bytes
  collect counter packets
  collect timestamp sys-uptime first
  collect timestamp sys-uptime last
!
flow exporter VANTAGE-EXP
  destination <ip-del-colector> use-vrf management
  source mgmt0
  transport udp 4739
  version 9
!
flow monitor VANTAGE-MON
  record VANTAGE-REC
  exporter VANTAGE-EXP
!
interface Ethernet1/1
  ip flow monitor VANTAGE-MON input

Arista EOS, seguimiento de flujos por hardware (IPFIX)

flow tracking hardware
   tracker VANTAGE
      exporter VANTAGE-EXP
         collector <ip-del-colector> port 4739
         local interface Management1
         template interval 60000
      record export on inactive timeout 15000
      record export on interval 60000
   no shutdown
!
interface Ethernet1
   flow tracker hardware VANTAGE

Fortinet FortiGate (FortiOS, NetFlow v9)

config system netflow
    set collector-ip <ip-del-colector>
    set collector-port 4739
    set source-ip <ip-de-gestion>
    set active-flow-timeout 60
    set inactive-flow-timeout 15
end
config system interface
    edit "port1"
        set netflow-sampler both
    next
end

HPE Comware, NetStream (FlexNetwork, serie 5900)

ip netstream export version 9
ip netstream export host <ip-del-colector> 4739
ip netstream export source interface M-GigabitEthernet0/0/0
!
interface Ten-GigabitEthernet1/0/1
 ip netstream inbound
 ip netstream outbound

HPE y Aruba, plataformas basadas en sFlow

Nota

La familia HPE Comware de arriba (FlexNetwork, series 5900 y 5940) exporta NetStream y está soportada. Los switches ArubaOS-CX y los HP ProCurve antiguos, en cambio, están construidos alrededor de sFlow, que este colector no decodifica (ver la nota sobre sFlow al comienzo del capítulo).

Para un equipo que solo hable sFlow hay tres caminos:

  • Habilitar NetFlow o IPFIX si su plataforma y su versión de software lo ofrecen, y usar el patrón de record y exporter que se muestra arriba, con destino UDP 4739 y la quíntupla más los contadores.
  • Desplegar un sensor Vantage sobre un espejo del segmento. Es el camino recomendado cuando solo hay sFlow.
  • Poner un relay de sFlow a IPFIX entre el switch y el colector.

El muestreo por paquete que hace sFlow, además, lo vuelve una fuente más débil para mapear dependencias, que es un trabajo que quiere todos los flujos. Un sensor Vantage sobre un espejo los ve todos.

Cuidado

El soporte y la sintaxis de NetFlow e IPFIX cambian entre plataformas y entre versiones de software. Confirme que el record puede llevar la quíntupla y los contadores en su modelo específico. Donde el equipo exporte por una VRF de gestión, ajuste la interfaz de origen y la VRF del exportador, como se muestra para NX-OS y Comware.

6Verificación

6.1Chequeo de salud

El Colector expone un endpoint de vida sin autenticación. Devuelve HTTP 200 cuando la ingesta está escuchando, o cuando está deshabilitada a propósito, y HTTP 503 cuando la escucha mTLS está habilitada pero no logró partir, que es exactamente la condición que produce un paquete de CA faltante.

$ curl -sk https://localhost:443/healthz
{"ok":true,"ingest":{"enabled":true,"listening":true,"port":8843,
 "client_certs_required":true}}

El servicio de Compose conecta ese endpoint al chequeo de salud del contenedor, así que el runtime reporta el contenedor como unhealthy cada vez que los sensores no pueden entregar flujos:

$ docker inspect --format '{{.State.Health.Status}}' vantage-collector
healthy

6.2Ingesta de sensores

Confirme en el log del contenedor que la escucha partió y que exige certificados de cliente:

$ docker compose logs collector | grep mTLS
[adm_ingest_mtls] INFO ingest mTLS listening on :8843 (client certificates required)

6.3Sincronización de identidades

Una corrida exitosa informa lo que bajó y el tamaño del paquete:

$ tail -n1 /var/log/vantage-sync.log
identity-sync ok: 12 probes, 12 certs, bundle 3805 bytes

7Administración

7.1Respaldo y exportación

Un respaldo captura exactamente lo que este nodo posee: su adm.db, su registro de usuarios y el paquete de confianza que bajó por sincronización. Deja fuera, a propósito, el secreto de sesión y todo el material de llaves privadas: un respaldo robado no sirve para falsificar una sesión ni un certificado. Los respaldos se descargan, o se empujan a un servidor remoto por SCP o TFTP desde la página de respaldo.

7.2Ciclo de vida de un sensor

Los sensores se registran, se enrolan y rotan sus certificados en Switchboard, que es donde está la CA. Las identidades resultantes y el estado de revocación llegan al Colector por la sincronización de identidades. Para dar de baja un sensor, revóquelo en Switchboard: el Colector deja de aceptar su certificado después de la siguiente sincronización.

Nota

La revocación no es instantánea en el punto de ingesta. Como el Colector se entera del estado de revocación por la sincronización periódica, hay que contar con hasta un intervalo completo, cinco minutos por omisión, antes de que un sensor revocado sea rechazado en el puerto 8843.

7.3Dar de alta un sensor sin Switchboard

El enrolamiento y la firma se hacen normalmente en Switchboard (capítulo 1.2). Un Colector desplegado por su cuenta no tiene la CA de Switchboard, pero igual puede dar de alta sensores Vantage de dos maneras, las dos desde la página Onboarding del tablero, o por API. En ambas, la llave privada del sensor nunca sale del sensor: lo único que viaja es un CSR que se firma, o un certificado ya firmado que se registra.

Opción A: la CA del propio Colector (recomendada)

El Colector actúa como su propia CA y firma los CSR de los sensores directamente, sin ninguna CA externa que operar.

  1. Inicializar la CA, una sola vez

    Queda creada y aceptada en la ingesta de forma automática.

    POST /api/ca/init
  2. Crear el sensor

    En Sensores. Con ADM_STANDALONE=1, que es lo que trae el equipo, los campos que solo aplican a Switchboard no son obligatorios.

  3. Generar el CSR en el sensor
    openssl req -newkey rsa:2048 -nodes -keyout sensor.key \
      -out sensor.csr -subj "/CN=<probe-id>"
  4. Firmar y registrar el CSR
    POST /api/sensors/<probe-id>/issue    {"csr_pem": "<PEM del CSR>"}

    Devuelve el certificado firmado. El sensor presenta sensor.key junto con ese certificado y queda aceptado en la ingesta mTLS.

Opción B: usted aporta la CA

Si ya opera una CA, firme el CSR con ella fuera de línea y registre el resultado.

  1. Instalar el paquete de confianza de la CA
    POST /api/ca-bundle    {"bundle_pem": "<PEM del certificado de su CA>"}
  2. Crear el sensor y registrar el certificado firmado

    Firme el CSR del sensor con su CA fuera de línea, y después:

    POST /api/sensors/<probe-id>/cert    {"cert_pem": "<PEM del certificado firmado>"}

En las dos opciones el número de serie del certificado se normaliza exactamente como lo lee la ingesta, así que ni las mayúsculas ni los ceros a la izquierda pueden provocar un rechazo equivocado.

Rotación y revocación

Los certificados de un sensor se administran desde el panel Onboarding → Manage sensor certificates, o por API:

GET  /api/sensors/<probe-id>/certs                  # lista series, vencimiento y estado
POST /api/sensors/<probe-id>/certs/<serial>/revoke   # revoca un certificado
POST /api/sensors/<probe-id>/revoke                 # revoca el sensor completo
POST /api/sensors/<probe-id>/reactivate             # devuelve al servicio un sensor revocado

Para rotar: emita un certificado nuevo, por la opción A o la B, confirme que el sensor lo está usando y recién entonces revoque la serie antigua. Mientras tanto el viejo y el nuevo son válidos a la vez, así que no hay ventana de corte. Para dar de baja: revoque el sensor completo. Para devolverlo al servicio: reactívelo y emita un certificado nuevo. La reactivación pasa el sensor de revoked a enrolled, pero deja los certificados antiguos revocados a propósito, de modo que un sensor retirado no pueda volver con una credencial vieja. Una serie revocada se rechaza en el siguiente saludo mTLS, y un sensor dado de baja se rechaza por completo. Todo esto opera únicamente sobre los registros de sensores del propio Colector.

Nota

La CA del Colector es una CA de un solo nivel cuyo único usuario es este mismo Colector: no hay punto de distribución de CRL, y la revocación se maneja con la lista de certificados denegados. Su llave privada queda accesible solo para root dentro del directorio de datos y nunca se incluye en un respaldo. Si prefiere no emitir certificados, alimente el mapa desde el equipamiento que ya tiene por IPFIX o NetFlow (capítulo 5.4).

Cuidado

Si además está corriendo la sincronización de identidades, en un despliegue mixto, esa sincronización sobrescribe el archivo del paquete en cada consulta. En un despliegue sin Switchboard, no ponga el cron de sincronización, o apunte ADM_CA_BUNDLE_FILE a un archivo que la sincronización no toque.

8Diagnóstico

SíntomaCausa probableQué hacer
El contenedor queda unhealthy y /healthz devuelve 503La escucha mTLS no partió: falta el paquete de CA o está vacíoConfirme que la sincronización corrió y que data/fleet-ca-bundle.pem no está vacío. Reinicie el contenedor
Los sensores no conectan al 8843Certificado de cliente desconocido, revocado, o todavía no sincronizadoVerifique que el sensor está enrolado en Switchboard y que la sincronización terminó
Un sensor sano parpadea como fuera de líneaLa cola del escritor quedó atrapada detrás de una consulta de enriquecimiento lentaCausa confirmada en incidentes anteriores. El enriquecimiento ya corre fuera del hilo escritor: actualice a la versión vigente
identity-sync failed en el logSwitchboard inalcanzable, token equivocado, o falla de verificación TLSRevise la URL y el token en sync_config.json. Confirme que el paquete de CA encadena con el certificado de Switchboard
Las sesiones del tablero se rechazan después de un redespliegueCambió el secreto de sesiónEs lo esperado si el archivo de llave se regeneró. Los usuarios simplemente vuelven a entrar
El mapa carga lento con ingesta pesadaContención de lectura y escritura sobre el escritor compartido de SQLiteLas construcciones del mapa se cachean 20 s: reabrir una vista se sirve del caché

9Consideraciones de seguridad

  • Integridad de la sesión. Las cookies se firman con un secreto propio del nodo, generado en el primer arranque. El archivo de llave queda en modo 0600 y se excluye de los respaldos.
  • Autenticidad del sensor. La ingesta de flujos exige un certificado de cliente firmado por la CA de la flota. Es el certificado, y no el cuerpo de la petición, lo que establece la identidad del sensor. Un cuerpo que declare ser otro sensor se rechaza.
  • Canal de sincronización. La sincronización verifica el certificado TLS de Switchboard contra el paquete de CA que ya bajó. Solo la primerísima sincronización de un nodo recién instalado, cuando todavía no existe ningún paquete, corre sin verificar: deja una advertencia en el log y queda superada en la corrida siguiente.
  • Procedencia de IPFIX. IPFIX y NetFlow sobre UDP no llevan autenticación. Cuando se habilitan, cada arista que producen queda etiquetada como ipfix:<ip-del-exportador>, para que lo que dijo un exportador nunca se confunda con lo que observó un sensor de confianza.
Advertencia

La política de segmentación que se genera es una lista de permitido bajo deniega por omisión, construida solo con tráfico observado. Cualquier camino que no se haya visto durante la ventana de captura, como un proceso mensual, una ruta de contingencia o una sesión de administración, no está en la política y quedará bloqueado si se aplica. Revísela, agregue los caminos que usted conoce y corra el análisis en seco antes de poner la política en producción.

Cuidado

Deje el colector IPFIX (ADM_IPFIX_BIND) escuchando en una interfaz de gestión alcanzable solo por exportadores de confianza. Nunca debe quedar expuesto a una red no confiable: con UDP falsificado se pueden inyectar flujos al mapa.

10Límites y advertencias

  • Medición pasiva, nada más. Una sonda de flujos observa volumen y extremos. No puede medir latencia, pérdida de paquetes ni jitter, y el mapa reporta únicamente valores que una sonda observó de verdad. Los chequeos sintéticos son la única capacidad activa y se habilitan a pedido.
  • El Colector no tiene autoridad certificadora. El nodo valida certificados, pero nunca los firma. El enrolamiento, la rotación y la revocación son funciones de Switchboard, y esos endpoints no se sirven acá de manera deliberada.
  • La revocación tiene latencia. El estado de revocación se propaga a la velocidad de la sincronización de identidades, que por omisión son cinco minutos.
  • La captura profunda es un rol distinto. Rescatar paquetes exige un nodo Vantage Deep. Un sensor Vantage deja constancia de que una dependencia existe, no de los paquetes que cruzaron el cable.
  • Un solo nodo. Esta guía cubre un equipo autónomo. Los roles de alta disponibilidad degradan de manera ordenada a un nodo único siempre activo.

Colector Vantage · Guía de despliegue y administración · Versión v1 · Revisión 1.0 (2026-09-07). Los valores de configuración corresponden a los que trae el producto; confírmelos contra el archivo de Compose de su despliegue.

← Todas las guías