Archivos OVPN desconocidos: riesgo local y confianza remota
Un perfil puede influir en el cliente de tu equipo y elegir al operador que ve tu tráfico. Revisa ambas decisiones antes de importar el archivo.
Trata un archivo OVPN como una entrada para un programa, no como un certificado de que su contenido sea inofensivo. Comprobar la dirección del servidor solo responde a dónde quiere conectarse el perfil y nada más. Dentro de ese archivo hay dos decisiones de confianza separadas: qué puede hacer el cliente en tu equipo y qué operador recibe el tráfico. Un nombre de protocolo conocido no resuelve ninguna de las dos.
Dos decisiones se esconden en un archivo
La primera decisión es local. El perfil es un lenguaje de configuración, y el cliente que lo lee puede admitir directivas que cargan un complemento, ejecutan un script o cambian cómo se aplican el enrutamiento y el DNS. La segunda decisión es remota. Sea lo que sea que contenga el archivo, el operador de salida ve el tráfico que le llega.
Confundir ambas produce malos consejos en las dos direcciones: un perfil de aspecto limpio de un operador desconocido, o el perfil de un operador conocido con un gancho que nadie leyó. Un perfil seguro localmente todavía puede entregar tu tráfico a alguien que no elegirías.
Lee el perfil antes que cualquier cliente
Lee el archivo como texto antes de que ningún cliente lo procese. Busca directivas que apunten fuera del archivo, hagan referencia a ejecutables o cambien privilegios, y compara esa lista con el soporte documentado del cliente. Una búsqueda corta no es una auditoría de seguridad, pero te dice si el perfil es una lista de servidores o algo más.
grep -nE '^(script-security|up|down|plugin|route-up|ipchange)' untrusted.ovpn
Un resultado vacío es tranquilizador y no concluyente, porque las opciones pueden interactuar o venir de un archivo incluido. Trata la lista filtrada como una razón para seguir leyendo, no como un veredicto.
Las instrucciones que llegan junto al perfil merecen el mismo escrutinio que el perfil. Cuatro peticiones deberían detenerte: activar scripts, instalar un asistente o una biblioteca, ejecutar el cliente como administrador o debilitar una restricción de importación. Cada una mueve la frontera de confianza hacia fuera, y ninguna es parte ordinaria de importar una lista de servidores.
Lee también el archivo completo una vez, porque una sola línea desconocida se juzga mejor en contexto que en una lista filtrada. Si una línea te resulta desconocida, búscala en el manual de tu cliente en lugar de adivinar.
Qué ejecutará realmente el cliente
El manual de 2.6 de Community OpenVPN documenta los niveles de script-security: el nivel 1 es el predeterminado y bloquea los scripts definidos por el usuario, mientras que el nivel 2 los permite. La carga de complementos es un mecanismo aparte con su propia directiva. Por eso el mismo archivo puede significar cosas distintas en clientes distintos. Los clientes móviles y de fabricante pueden aceptar un conjunto más estrecho de directivas, o ninguno de los ganchos.
El método de inicio importa tanto como el cliente. Un perfil iniciado por un asistente privilegiado puede hacer más que uno iniciado en el espacio de usuario, y esa diferencia es una razón para leer el aviso de importación en lugar de descartarlo.
La versión también importa, porque estos niveles se definen por versión y un cliente varias versiones atrás puede no implementar la misma política. Lee el manual que corresponda a la compilación que ejecutas, no el más reciente que encuentres. Si el cliente no muestra ninguna cadena de versión en ningún sitio, eso ya es una razón para ir más despacio.
Compara al operador, no solo la dirección
Compara a los operadores como comparas cualquier otro intermediario. Pregunta quién gestiona la salida, qué registran y cómo llegó el perfil hasta ti. Una página de descarga verificada y una huella coincidente dicen más que un nombre de host conocido. Un servidor accesible solo demuestra que algo respondió.
Las credenciales son la parte que la gente equivoca bajo presión. No escribas la contraseña de una cuenta no relacionada en un perfil descargado porque el nombre del servidor te suene. Un perfil también puede llevar una clave privada en claro, así que publicar el archivo entero en un hilo de revisión entrega esa clave al hilo.
Una sesión HTTPS bien validada sigue ocultando el contenido de la página a cualquiera que solo reenvíe paquetes, así que la salida no ve automáticamente todas las contraseñas. Sí ve qué sitios alcanzas, y esa frontera merece decirse con precisión en lugar de exagerarla.
Cuando el origen del archivo no queda claro, o un privilegio que pide no tiene una explicación que puedas aceptar, sustituye el perfil por uno de una fuente que pueda rendir cuentas. En una conexión de trabajo gestionada, el administrador debería aprobar el cliente y la configuración como una sola decisión, no como dos. Nada de esto exige que demuestres mala intención primero; negar el acceso es una respuesta legítima.