Este perfil se escribió en 2016 y todavía se importa y todavía se conecta. Es exactamente por eso por lo que nadie lo mira. El cliente que alguna vez leía estas directivas desapareció hace mucho, y la compilación actual puede interpretar varias de ellas de forma distinta.

Que un archivo sobreviva no significa que la configuración esté al día. Separar esas dos ideas es la mayor parte del trabajo.

Averigüe qué cliente escribió el perfil

Empiece por el emisor y la versión. El significado de una directiva lo define la implementación que la lee. Una línea que alguna vez elegía un algoritmo puede convertirse en una lista de reserva, una advertencia o un error grave. Qué versión la interpreta decide el resultado.

OpenVPN es el ejemplo más claro. La versión 2.5 introdujo data-ciphers y cambió cómo participa la directiva más antigua cipher en la negociación. Un perfil que solo lleva cipher AES-128-CBC ahora hace una propuesta mucho más estrecha de lo que su autor pretendía.

Lea las notas de la versión para el ajuste que ahora advierte o falla. Una advertencia en el registro es un hecho sobre la compilación actual, y pesa más que el recuerdo de cualquiera sobre por qué se añadió la línea.

Mire qué se negoció realmente

Que la importación funcione demuestra el análisis, no la política. El resultado negociado aparece en el registro del cliente cuando la conexión se levanta. Puede diferir de ambos extremos del archivo de configuración.

# OpenVPN: what did this session agree on?
sudo journalctl -u openvpn-client@office --since '5 min ago' | grep -i 'cipher\|Data Channel'

# which directives does the profile actually carry?
grep -n -E 'cipher|auth|tls-|dh ' office.ovpn

Una importación aceptada que descarta una directiva en silencio deja un perfil que se lee de una manera y se comporta de otra. Esa brecha explica cómo un documento etiquetado como endurecido negocia algo más débil de lo que afirma su propio texto. El registro es el único lugar donde se ve la diferencia. Léalo antes de confiar en el archivo.

Actualice el arreglo, no la línea

Tome el perfil que mantiene el operador en lugar de ensamblar nombres de algoritmos hasta que la importación deje de quejarse. Añadir líneas por prueba y error invierte la dirección de la corrección. Adapta el cliente a un servidor desconocido en lugar de establecer qué admite el servidor.

Puede que el servidor también necesite la actualización coordinada. Un cliente actual no puede crear soporte para una propuesta que la otra parte nunca ofrece. Ninguna opción del lado del cliente sustituye a una pasarela que no se ha actualizado.

Lo que no debe sacrificarse es la verificación. Eliminar las comprobaciones de certificados, desactivar la comprobación del nombre de host o apagar las actualizaciones para mantener vivo un perfil antiguo convierte un problema de compatibilidad en un problema de confianza. Suele ocurrir con una pequeña edición a la vez.

Confirme el resultado y registre la excepción

Después del cambio, inspeccione de nuevo el conjunto negociado y pruebe el recurso para el que existe el túnel. Un perfil que negocia lo que usted pretendía y aun así no llega al servicio tiene un problema de enrutamiento o de identidad. No tiene uno criptográfico.

Guarde la configuración anterior que se sabía buena en un lugar protegido. Solo es posible comparar mientras el archivo antiguo siga existiendo.

Documente cualquier excepción de compatibilidad con un responsable y una fecha de revisión. Un acuerdo temporal que nadie posee se convierte en política permanente. La próxima persona que lea el archivo supondrá que se eligió a propósito.

Artículos relacionados