Para unir OpenVPN con un servidor de openLDAP en Linux, debemos modificar tanto el archivo de cliente como el servidor, al que añadiremos varios comandos en el archivo de configuración y un archivo de verificación.
Cliente
En el cliente debemos añadir una línea, es indiferente donde la ponemos:
#LDAP
–auth-user-pass
Con esto simplemente activamos la solicitud de usuario y contraseña, de por si solo no hace nada, necesitamos hacer lo mismo en el servidor.
Servidor
En el archivo de configuración del servidor, añadimos independientemente del lugar, lo siguiente:
script-security 3 execve
auth-user-pass-verify ldap-verify.sh via-env
El primero permite ejecución de scripts de terceros en OpenVPN y el segundo habilita la autenticación, mediante el archivo “ldap-verify.sh” utilizando variables de entorno (via-env).
También tenemos que crear el archivo ldap.verify.sh
#!/bin/bash
#Anadir la direccion completa de donde están localizados los usuarios.
ldap_base=”,ou=usuarios,dc=test,dc=com”
ldap_host=”localhost”# Bind As and Search For Self
ldapwhoami -w ${password} -D uid=${username}${ldap_base} -h ${ldap_host} && exit 0
exit 1
Si utilizamos un servidor de Active Directory debemos habilitar conexión con LDAP (buscar otro tutorial) y sustituir
# Windows
ldap_user=’@windows.local’
ldap_base=”DC=windows,DC=local”
ldap_host=””
ldapsearch -H ldap://${ldap_host}/ -w ${password} -D ${username}${ldap_user} -b ${ldap_base} -LLL sAMAccountName | grep -i ${username} && exit 0
exit 1
De esta forma, en el cliente, debemos poner el usuario y contraseña en Linux:
Enter Auth Username: ****
Enter Auth Password: ********
Fuente: Propia
Si vas a publicar esta guia en tu página web, no olvides hacer un enlace a esta página