OpenVPN - Autenticación de contraseña solamente

11

Cuando uso el cliente OpenVPN para Windows, puedo iniciar sesión en el servidor OpenVPN con solo un nombre de usuario y contraseña. No puedo entender cómo hacer que ocurra lo mismo en Ubuntu. Parece que se requiere algún tipo de certificado.

¿Alguna idea de cómo autenticarse con un servidor OpenVPN con solo un nombre de usuario y contraseña?

kbuilds
fuente

Respuestas:

5

Puede autenticarse utilizando un nombre de usuario / contraseña perfectamente bien sin un servidor / certificado de CA. Sin embargo, recomiendo configurarlo para verificarlo con su certificado de CA para evitar ataques Man-in-the-Middle.

Sin ninguna verificación del servidor, cualquiera puede hacerse pasar por su servidor OpenVPN y simplemente aceptar su nombre de usuario / contraseña. Resultados:

  • El atacante puede interceptar todo el tráfico. Como no verifica el servidor al que se está conectando, cualquiera puede afirmar que es su servidor en una red pública (o red privada controlada por el atacante).
  • El atacante conoce su combinación de nombre de usuario / contraseña. Muy, muy malo en caso de que reutilices la misma contraseña para otras cosas también.

En Network Manager, funciona bien sin CA Cert como se muestra a continuación, ¡pero no lo use así! Si no utiliza ningún certificado de servidor / CA en Windows, es realmente vulnerable a los ataques anteriores.

ingrese la descripción de la imagen aquí

gertvdijk
fuente
No funciona en Ubuntu 16.04. El botón 'Guardar' está deshabilitado hasta que seleccione un certificado
leo
1
@leo Oh, esas son muy buenas noticias. ¡Previene un caso más de configuraciones inseguras entonces! :-)
gertvdijk
3

He encontrado la respuesta aquí: http://openvpn.net/index.php/open-source/documentation/howto.html#auth

Recuerde, aún necesita tener un certificado de servidor

Usar la autenticación de nombre de usuario / contraseña como la única forma de autenticación del cliente

De forma predeterminada, el uso de auth-user-pass-verificar o un complemento de verificación de nombre de usuario / contraseña en el servidor habilitará la autenticación dual, lo que requiere que tanto la autenticación de certificado de usuario como la de nombre de usuario / contraseña tengan éxito para que el cliente se autentique.

Si bien se desaconseja desde una perspectiva de seguridad, también es posible deshabilitar el uso de certificados de cliente y forzar solo la autenticación de nombre de usuario / contraseña. En el servidor:

client-cert-not-required Por lo general, estas configuraciones también deberían establecer:

username-as-common-name, que le indicará al servidor que use el nombre de usuario para fines de indexación, ya que usaría el nombre común de un cliente que se autenticaba mediante un certificado de cliente.

Tenga en cuenta que client-cert-not-required no obviará la necesidad de un certificado de servidor, por lo que un cliente que se conecta a un servidor que usa client-cert-not-required puede eliminar las directivas cert y key del archivo de configuración del cliente, pero no la directiva ca, porque es necesario que el cliente verifique el certificado del servidor.

ruX
fuente