Estoy configurando una red informática para ingenieros de software. Actualmente tengo todas las conexiones SSH ejecutadas a través de un host de salto / bastión, con acceso a servidores de producción que requieren el reenvío del agente SSH.
Con el fin de acceder a servicios HTTP potencialmente inseguros y orientados internamente (como un tablero de administración o una notebook IPython), el usuario debe enviar el puerto del servidor de producción a localhost.
Estoy interesado en aprovisionar un servidor OpenVPN para los usuarios, permitiéndoles acceder a servicios internos sin reenvío de puertos. Sin embargo, el acceso a estos servicios (como un portátil IPython) es equivalente al acceso SSH / shell.
Si implemento OpenVPN junto con mi configuración existente de OpenSSH, los usuarios finales tendrían dos métodos para obtener acceso remoto a la shell: la clave SSH y la clave OpenVPN TLS. Me temo que esto complica la autenticación para mis usuarios, aumenta la superficie de ataque de la red y aumenta la dificultad de acceso a la auditoría y la detección de intrusos.
En base a esto, ¿es una buena idea implementar OpenVPN? Si es así, ¿cuáles son algunas formas en que puedo simplificar la administración de claves para mis usuarios? (¿Mis usuarios pueden usar la misma clave RSA para OpenVPN TLS y SSH?) ¿Cómo puedo clasificar el registro en el servidor para proporcionar una experiencia de auditoría idéntica para el acceso VPN y SSH?