Autenticación contra LDAP desde MediaWiki

De Apuntes
Saltar a: navegación, buscar

MediaWiki es un software para Wikis, tiene manejo de usuarios y es posible, además de autenticación local, autenticar contra LDAP. En este caso el sistema creará una cuenta local asociada, la cual se podrá gestionar en el sistema como cualquier otra cuenta.

Existen varios métodos para la autenticación contra el LDAP institucional.

Instalación de la extensión

Para habilitar la funcionalidad, se requiere de la extensión LDAP_Authentication[1].

  1. Descargue la última versión estable desde: https://www.mediawiki.org/wiki/Special:ExtensionDistributor/LdapAuthentication
  2. Descomprima en el directorio extensions
  3. Edite el archivo de configuración de MediaWiki, LocalSettings.php, y añada las líneas:
## LDAP
# Domain, server and connection
require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
$wgLDAPDomainNames = array(
  'LDAP2-UCR'
);
$wgLDAPServerNames = array(
  'LDAP2-UCR' => 'ldap2.ucr.ac.cr'
);
$wgLDAPUseLocal = true;
$wgLDAPEncryptionType = array(
  'LDAP2-UCR' => 'ssl'
);
$wgLDAPPort = array(
  'LDAP2-UCR' => 636
);

Configuración de la extensión

Método 1: Utilizando las credenciales del usuario que se está autenticando

Si bien se puede configurar una cuenta, previamente generada, para hacer las consultas, también es posible utilizar las credenciales del usuario por autenticar.

Para ello, edite el archivo LocalSettings.php y añada las líneas:

# Binding
$wgLDAPSearchStrings = array(
  'LDAP2-UCR' => 'uid=USER-NAME,cn=users,cn=accounts,dc=ucr,dc=ac,dc=cr'
);
$wgLDAPBaseDNs = array(
   'LDAP2-UCR' => 'dc=ucr,dc=ac,dc=cr'
);
$wgLDAPUserBaseDNs = array(
   'LDAP2-UCR' => 'cn=users,cn=accounts,dc=ucr,dc=ac,dc=cr'
);

USER-NAME será reemplazado en tiempo de ejecución por el nombre del usuario a autenticar.

Método 2: Utilizando un usuario de consultas previamente generado

Por hacer

Bitácoras para debugging

Si tiene problemas con la configuración puede habilitar las bitácoras (logs) para obtener más información del proceso de autenticación. Para ello edite el archivo de configuración LocalSettings.php y añada las siguientes líneas:

# Logs
$wgLDAPDebug = 3;
$wgDebugLogGroups['ldap'] = 'debug.log';

De esta manera se generará un archivo llamado debug.log en el directorio de MediaWiki, también puede indicar otra ruta.

Para leer la bitácora en tiempo real ejecute el siguiente comando:

tail -f debug.log

Una vez corregidos los errores puede eliminar o comentar esas líneas, o bien bajar el nivel de 3 a 1 para evitar registrar información sensible.

Referencias

  1. https://www.mediawiki.org/wiki/Extension:LDAP_Authentication