La imagen arranca, el servicio se inicia y los clientes se conectan. Ese es el momento de detenerse y preguntar cuál de dos operaciones muy distintas acaba de ocurrir. O la copia restaura una puerta de enlace lógica que ya existía, o añade una segunda puerta de enlace a la flota. Ambas son legítimas y tienen consecuencias distintas para la identidad y el acceso. Una máquina que arranca limpiamente no demuestra ninguna de las dos.

Tres condiciones deciden la respuesta, y son los tres compartimentos de material que una imagen puede llevar. Ordénelos antes de construir la imagen, no después de haberla desplegado dos veces.

Primero decida cuál de las dos operaciones está realizando

Una restauración conserva una identidad de servicio. La instancia antigua desapareció, el nombre y el certificado permanecen, y los clientes siguen confiando en el mismo punto final. Una adición crea una segunda identidad que los clientes, los registros y la revocación deben distinguir.

La distinción no es cosmética. Si dos hosts activos presentan el mismo certificado de puerta de enlace, un cliente no puede distinguirlos, ni tampoco un rastro de auditoría, y revocar ese certificado elimina ambos a la vez. Puede ser exactamente lo que busca un diseño deliberado de alta disponibilidad, y rara vez es lo que pretende una copia apresurada de una imagen.

Así que la primera decisión es una frase, escrita antes de que la imagen salga del host de construcción: esta copia restaura la puerta de enlace A, o esta copia se convierte en la puerta de enlace B. Todo lo demás es contabilidad frente a esa frase. Si nadie puede escribirla, la copia no está lista para construirse.

Entradas reutilizables, identidad y autoridad, estado de despliegue

El compartimento reutilizable es el fácil: paquetes, configuración revisada que no contiene secretos, plantillas de servicio, ajustes de endurecimiento. Es para lo que una imagen sirve de verdad, y puede reproducirse sin límite.

El compartimento de identidad y autoridad es donde las copias salen mal. La clave privada y el certificado de una puerta de enlace identifican esa puerta de enlace ante cada cliente. La clave de firma de la autoridad de certificación es un objeto distinto con un poder distinto: emite identidades. Confiar en un emisor no significa que cada nueva puerta de enlace necesite la capacidad de emitir, y enviar la clave de firma dentro de una imagen concede esa capacidad a cualquier cosa que pueda leer la imagen.

El compartimento de estado de despliegue es el que la gente olvida porque parece configuración. Las direcciones de escucha, los grupos de direcciones, las rutas empujadas, los ajustes del resolutor y la integración local codifican suposiciones sobre el primer host. Un segundo nodo que las copia puede asignar de un grupo que ya posee otra puerta de enlace, o dirigir a los clientes hacia un recurso que solo existe junto al original.

Qué debe recibir un nodo nuevo, y de quién

Un nodo gestionado de forma independiente debería recibir sus propias credenciales mediante el proceso de alta aprobado, con la operación de firma realizada donde vive la clave de firma y no en el nuevo host. Anote qué identidad puede retirarse sin perturbar a los demás nodos; si la respuesta es "todas", el diseño tiene una identidad que finge ser dos.

Los valores de red merecen el mismo trato. Elija un grupo, una dirección de escucha y un conjunto de rutas empujadas que no colisionen con la puerta de enlace existente, y escríbalos en las entradas de aprovisionamiento en lugar de en la imagen. La entrada es revisable; la imagen no.

Existe un caso intermedio legítimo. Un diseño de recuperación o replicación soportado puede mantener deliberadamente una identidad lógica de servicio entre hosts, con acceso controlado a la copia antigua y un plan de rotación. Es una decisión con un propietario, no un valor por defecto que ocurre porque la imagen resultaba cómoda.

openssl x509 -in /etc/openvpn/server/server.crt -noout -subject -issuer -dates
find /etc/openvpn -name '*.key' -o -name '*.pem' | head -20

El primer comando le dice qué identidad presenta realmente el nodo y quién la firmó. El segundo es un inventario inicial, no una prueba: el material privado puede vivir fuera de ese directorio, dentro de una base de datos de aplicación o en una capa de instantánea que el sistema de archivos en ejecución ya no muestra.

Qué lleva en silencio una copia de la imagen

Borrar un archivo de la revisión más reciente de una imagen no lo elimina de revisiones anteriores, cachés de capas ni instantáneas tomadas mientras existía. Por eso las imágenes que llevan credenciales deben tratarse como objetos sensibles durante toda su vida, y no solo en el momento de construirse.

Compruebe el contenido de la imagen y las entradas de aprovisionamiento como preguntas separadas. La imagen responde "qué hay dentro de este artefacto", mientras que las entradas responden "en qué se convertirá esta instancia en el primer arranque". Una imagen limpia con un script de arranque que obtiene una clave compartida responde bien a la primera pregunta y mal a la segunda.

Mantenga las imágenes de recuperación que contienen secretos legítimamente restringidas a las personas que las necesitan, y anote dónde se guardan. La alternativa, una imagen cómoda porque funciona sin ningún aprovisionamiento, es la misma imagen que otorga la identidad de la puerta de enlace a quien la encuentre. Solo una de esas dos tareas aparece en un registro de construcción.

Comprobaciones de admisión antes de producción

Antes de que el nodo acepte tráfico, confirme cuatro cosas: la identidad que presenta, los clientes que aceptará, los recursos a los que se le permite llegar y la ruta de retorno para las direcciones que reparte.

systemctl status openvpn-server@lab --no-pager
ss -lunp 'sport = :1194'
ip -4 route show table all | grep -F '10.90.'

Luego compruebe el caso negativo, que es el que atrapa los accidentes: tiene el nodo nuevo acceso de administrador o de cliente que estaba pensado para el original? Una configuración copiada puede llevar una entrada extra de cliente, una ruta de gestión heredada o una directiva push que tenía sentido en el primer host.

Si una imagen con secretos activos ya ha pasado más allá de su límite aprobado, sustituya las credenciales y contenga las copias. Quitar el archivo de la última compilación no es lo mismo que retirar la credencial que las copias antiguas aún conservan, y la brecha entre esos dos hechos es exactamente la ventana que necesita un atacante.

Artículos relacionados