¿Posible? Servidor OpenVPN que requiere un inicio de sesión basado en certificado Y contraseña (a través del firmware del enrutador Tomato)

¿Posible? Servidor OpenVPN que requiere un inicio de sesión basado en certificado Y contraseña (a través del firmware del enrutador Tomato)

He estado usando la versión Tomato de Shibby (versión NVRAM de 64k) en mi enrutador Asus N66U para ejecutar un servidor OpenVPN.

Tengo curiosidad por saber si es posible configurar este servidor OpenVPN para que requiera un certificadoYun nombre de usuario/contraseña antes de que se le permita el acceso a un usuario.

Noté que hay una entrada de "desafío de contraseña" al completar los detalles del certificado, pero todos dicen que la deje en blanco "o si no"; No tengo idea de por qué y no encuentro una explicación. Además, busqué en Google este problema y noté que la gente hablaba de un módulo PAM para OpenVPN para autenticarse mediante nombre de usuario/contraseña, pero esoaparecióser una opción entre uno u otro; en otras palabras, puedo forzar la autenticación mediante nombre de usuario/contraseñaOcertificado. Quiero exigir ambos.

es posible? ¿Si es así, cómo?

Respuesta1

La función OpenVPN que está buscando, que permitirá al servidor autenticar clientes en función deambossu certificado y una credencial, es auth-user-pass-verify. Esta característica permite al servidor pasar el nombre de usuario/contraseña proporcionada por el usuario remoto a un script que realiza la autenticación. En ese punto, puede validar las credenciales con cualquier cosa que desee: PAM, RADIUS, LDAP, señales de humo, etc.

No sé nada sobre los firmwares "Tomato", así que ni siquiera intentaré explicarte el paso a paso aquí. Hice una búsqueda rápida y sospecho que podrías usar la opción "Configuración personalizada" de OpenVPN para incluir una auth-user-pass-verifyreferencia. Necesitará un script para realizar la autenticación.

Busque un poco y sospecho que encontrará referencias específicas de "Tomate".

Respuesta2

auth-user-pass-verify es lo correcto. Además, puede forzar que el nombre de usuario del usuario de autenticación sea el CN ​​certificado. También puede forzar a openvpn a realizar solo una conexión con cada certificado a la vez.

De esa manera, un "imitador" debe tener el usuario correcto en comparación con el CN ​​certificado y el pase correcto, y debe iniciar sesión en un momento en que el propietario real no lo haga.

Además, puede pensar en un IDS; dependiendo de cuál elija, puede incluso limitarlo, como rangos de IP externos permitidos, tiempos de inicio de sesión, etc.

Cualquier certificado expuesto debe revocarse inmediatamente. El servidor de firma debe estar fuera de la red (transfiera la clave por USB), entonces tendrá un acceso seguro y realmente estricto.

y no, no debes contraseña un certificado.

  1. Fácil de aplicar fuerza bruta.
  2. No puede bloquear a un usuario (el pase de certificado solo está fuera de línea).
  3. La gente pierde sus contraseñas todo el tiempo, lo que le obliga a revocar y recrear un certificado cada vez; es un gran riesgo tener muchos certificados en los que a veces puede olvidarse de revocar.

Pero si realmente lo desea, puede usar el usuario de autenticación y la contraseña del certificado al mismo tiempo, no habrá respaldo o algo así.

Primero, openvpn usará la contraseña del certificado para descifrar la clave privada y establecer una conexión; luego, el usuario de autenticación se activa en el servidor; si las credenciales son incorrectas, quedará fuera.

Sin embargo, si un atacante obtiene las credenciales habituales, ya tendrá problemas y es muy probable que también obtenga la contraseña del certificado.

Así que no veo ningún beneficio real aquí, sólo muchas desventajas y una sensación errónea de mayor seguridad.

Respuesta3

Seguí este tutorial (con TomatoUSB Shibby 1.28 en mi Asus N66U): http://www.dd-wrt.com/wiki/index.php/OpenVPN Esto puede ayudarte mucho.

información relacionada