Supervise los pares VPN sin registrar dónde navegan
La disponibilidad necesita cuatro campos, no una captura. Lea los handshakes y los contadores en un intervalo documentado, mantenga las etiquetas estables y fije una regla de retención.
Supervisar un par VPN necesita cuatro hechos, y ninguno de ellos es un destino. Si el túnel está activo, cuándo intercambió tráfico por última vez, qué claves intervienen y cuánto se movió bastan para la disponibilidad. Cualquier cosa más allá de eso es un registro sobre una persona, y debería ser una decisión deliberada en lugar de un efecto secundario de abrir una página de estado. Empiece por la pregunta que debe responder y luego elija la salida más pequeña que la responda.
Decida la pregunta antes que la herramienta
Escriba primero la pregunta operativa: ¿está conectado este par y mueve tráfico? Esa pregunta necesita una vista en vivo, y una vista en vivo no tiene problema de retención. Una segunda pregunta, si el par estaba conectado a las 02:00 del martes pasado, necesita una serie almacenada y, por tanto, una decisión de retención. Separar esas dos es todo el diseño, porque la vista en vivo es barata mientras que la serie almacenada se convierte en una conversación sobre protección de datos.
Mantenga la comprobación de salud separada de la salida de estado. Un handshake reciente demuestra que el túnel negoció, no que la aplicación privada detrás funcione, así que pruebe la aplicación mediante una comprobación autorizada en lugar de inferirlo de los contadores. Cuando la comprobación falla y el handshake es reciente, el problema está más allá del túnel.
Lea los tres campos que la responden
La salida de estado sencilla de WireGuard lleva la interfaz, la clave pública, el punto final, el último handshake y los contadores de transferencia. La presencia necesita la clave pública y el último handshake; si hace falta, añada los contadores de bytes para ver movimiento. El punto final no se necesita para la presencia y es el primer campo que hay que descartar, porque identifica desde dónde se conecta un dispositivo. La página del manual describe cada campo que imprime la herramienta, y es lo bastante corta para leerla una vez:
wg show
wg show wg0 latest-handshakes
Lea esos números como edades en lugar de como booleanos. Un handshake solo es actual respecto al intervalo de renovación de claves del propio protocolo, y un contador que no se ha movido puede significar un par inactivo en lugar de uno roto. Mantenga ambos en la misma vista para que la edad y el movimiento se lean juntos.
Elija un intervalo que pueda defender
Cada muestra de estado es un registro, así que el intervalo es una decisión de retención con etiqueta de supervisión. Una muestra cada diez segundos da detalle fino y multiplica las filas almacenadas, mientras que una muestra cada minuto suele bastar para la disponibilidad a una sexta parte del coste. Elija el intervalo a partir del tiempo de respuesta que prometió y no de lo que la herramienta puede hacer. Luego escriba el número junto al panel.
Para OpenVPN, el servicio de estado escribe un archivo en un intervalo configurado. En la configuración del servidor eso se ve así status /var/log/openvpn-status.log 60, donde el número final son los segundos entre reescrituras, y el archivo se reemplaza en lugar de añadirse. Ese detalle importa: un archivo reemplazado no tiene historial, mientras que un recolector que añade a él crea uno.
Confirme que el recolector también respeta el intervalo. Una herramienta que muestrea cada segundo y guarda una fila por minuto sigue leyendo cada segundo.
Mantenga las etiquetas estables y el mapeo restringido
Una clave pública identifica una relación de dispositivo incluso cuando no hay ningún nombre adjunto, así que trate la clave como dato personal en lugar de como identificador opaco. Etiquete los pares con identificadores internos estables que sobrevivan a las reconexiones, y mantenga el mapeo de identificador a persona en un lugar restringido. Un panel que escribe una serie temporal es un registro almacenado incluso cuando la VPN no guarda ningún archivo propio. Cuando el panel es el único almacén, el panel es donde se aplica la regla de retención.
Revise también la ruta de exportación, porque un CSV copiado sobrevive al sistema que lo produjo. La disponibilidad agregada suele bastar para un informe: la proporción de pares con un handshake dentro de la ventana responde la pregunta operativa sin enumerar quién estaba conectado y cuándo.
Documente qué recoge y qué no
Escriba la descripción de la recogida en lenguaje llano: qué campos, de qué interfaz, con qué intervalo, guardados dónde, conservados cuánto tiempo y quién puede leerlos. Póngala junto al runbook y no en un repositorio de políticas que nadie abre durante un incidente. La descripción también debería decir qué no puede ver la supervisión, porque eso es lo que impide que alguien asuma que la ausencia de datos de navegación significa la ausencia de registros.
Revise la ventana de retención siempre que cambie la supervisión, porque un campo nuevo amplía en silencio lo que se conserva. Luego borre lo que la descripción dice que borra, y verifique que el borrado se produjo de verdad.