Openvpn ignora la configuración del cliente

Openvpn ignora la configuración del cliente

Tengo una configuración en la que emito certificados openvpn a los clientes para redirigir su tráfico a sitios específicos. Es importante restringir los sitios a los que se redirige a cada cliente.

Cada cliente tiene las IP que deben enrutarse en el servidor en client-configs/config-dir/ así: push route 123.123.123.123 255.255.255.255.

Los clientes reciben un archivo ovpn con sus claves y configuraciones para configurar en sus terminales. El problema es que un cliente podría editar su archivo ovpn y enrutar más tráfico a través de la VPN aunque las nuevas rutas no estén en las configuraciones del lado del servidor. Esto les permitiría acceder a sitios que no deberían.

¿Existe alguna solución para restringir este comportamiento o tal vez otra herramienta que pueda usar?

Notas:

  • El servidor OpenVPN tiene solo una IP pública adjunta y reenvía tráfico.
  • Bloquear permisos no es una opción porque se trata de un escenario BYOD.
  • Las restricciones de firewall salientes en el servidor openvpn tampoco son una opción porque cada cliente se enruta a un conjunto diferente de IP.

Respuesta1

Estás en lo correcto. Un cliente puede editar su archivo ovpn local y decirle que ignore las rutas enviadas y luego configurarlo para enrutar todo el tráfico a la puerta de enlace. Tuve que hacer esto un par de veces para realizar pruebas. OpenVPN no tiene forma de restringir eso.

Tienes 2 opciones:

  1. Bloquee los permisos del archivo OVPN del cliente para que no puedan editarlo
  2. Implementar una(s) regla(s) de firewall en el servidor OpenVPN que impida el tráfico saliente excepto para subredes específicas

Si se encuentra en un entorno corporativo, probablemente ya tenga mecanismos para controlar los permisos en las computadoras de los usuarios. La primera opción podría ser bastante sencilla.

Si no tiene control de los permisos de los usuarios sobre el archivo, entonces la regla del firewall es la mejor manera de hacerlo. Ya tenía que configurar reglas para que funcione el reenvío y el enmascaramiento (Ejemplo:https://askubuntu.com/a/578550/283173). Puede insertar reglas de iptables adicionales para permitir solo sus subredes específicas.

Actualizar:Según sus notas revisadas, está aún más claro que su única opción es el firewall en el lado del servidor. Tendrás que pensar mucho acerca de tus filtros de salida. Lo que probablemente tendrás que terminar haciendo es crear tu propio programa que cree reglas de firewall de manera inteligente. Si sabe que cada cliente está siendo enrutado a IP específicas, puede abrir rutas dinámicamente en el firewall cuando el cliente se conecta. Puede conectarse al sistema de OpenVPN cuando los clientes se conectan utilizando la learn-addressdirectiva en la configuración del servidor, para enviar detalles sobre la conexión del cliente a su programa personalizado.

información relacionada