Piazzale Italia

Moodle LDAP vs MS Active Directory

 
Immagine Christian Cuzzoni
Moodle LDAP vs MS Active Directory
 

Buongiorno,

sto incontrando parecchie difficoltà nell'utilizzare l'autenticazione tramite LDAP di Moodle vs AD di Microsoft.

Nella cronologia dei test effettuati durante la fase di sviluppo, la prima operazione che ho effettuato, in attesa di avere un Server Windows sul quale testare LDAP è stato quello di allestire una vm con Ubuntu Server e OpenLDAP.

Questo primo step è andato a buon fine e sono riuscito a connettermi correttamente.

Fiducioso, ho fatto allestire un WIndows Server 2008R2 con un IP pubblico, sul quale è stato creato un dominio test (local), così come appare dall'Administrative Center di Windows Server 2008R2 e banalmente un OU (usertest), nel quale sono presenti vari utenti fittizi da poter raggiungere.

Utilizzando il tool ldap.exe, riesco tranquillamente a collegarmi e ad effettuare il bind con l'utente administrator.

Ogni tentativo di configurare invece LDAP su moodle porta sempre al medesimo messaggio di errore:

Il modulo LDAP non si può collegarsi a nessun server: Server: '2.228.36.214', Connection: 'Resource id #86', Bind result: ''

Per questo, a scopo di test ho creato una pagina PHP di prova con un semplice form POST che tenta di collegarsi tramite ldap_connect(). La cosa strana è che anche mettendo come host nomi inventati il risultato è sempre:

Resource id #2

Sono a disposizione per fornire qualsiasi altro tipo di informazione necessaria a chiunque fosse in grado di dare qualche utile suggerimento o trasferire qualche esperienza già avuta in precedenza con il medesimo problema.

Un grazie anticipato,

Chris




 
Media dei voti:  -
Immagine Matteo Scaramuccia
Re: Moodle LDAP vs MS Active Directory
Core developersParticularly helpful MoodlersPlugin developers

Ciao Christian,
quale è la versione di Moodle che stai usando e quale è l'environment su cui gira la tua istanza? Hai già letto attentamente https://docs.moodle.org/29/en/LDAP_authentication e https://docs.moodle.org/29/en/Active_Directory?

Tipicamente il tuo errore significa che l'utente di bind che hai indicato in Moodle non esiste o la sua password è sbagliata (usi administrator?) ma senza conoscere nel dettaglio quale porta usi, se LDAPS, se confermi che la tua istanza Moodle giri su Windows, che differenze ci siano in termini di firewalling con l'openLDAP di test usato con successo, come esprimi ldap_bind_dn (DN o UPN o...) ed in generale i parametri di configurazione usati, è difficile dare qualche indicazioni di più.

HTH,
Matteo

 
Media dei voti: Utile (1)
Immagine Christian Cuzzoni
Re: Moodle LDAP vs MS Active Directory
 

Ciao Matteo,

prima di tutto grazie per la risposta.

La versione di moodle è la: Moodle 2.8.1+ (Build: 20141211)

L'ambiente è una VPS, Ubuntu LTS 14.04 quad core con 16gb di memoria. Ha un dominio registrato ed il DNS configurato. 

Il primo test l'ho effettuato con una VM, Ubuntu LTS 14.04, configurato con OpenLDAP e girava, essendo una VM in locale.

Il server invece che ho allestito per la seconda fase è un WIndows Server 2008 R2, dual core, 4gb di memoria, indirizzo pubblico, Active Directory con un domain test impostato, una sola OU (usertest), che contiene una serie di utenti fittizi da chiamare e testare con Moodle.

Per connettermi con LDAP.exe ed effettuare le prime prove di raggiungibilità (tutte passate senza problemi) utilizzo l'host (indirizzo IP) e la porta standard 389. 

Il bind con LDAP.exe utilizza credenziali administrator/password e domain impostato. 

Le prove invece effettuate con Moodle hanno la seguente parametrizzazione:


Ho provato varie "combinazioni" di parametrizzazione, ma nessuna è risultata effettivamente funzionante.

Spero di essere stato maggiormente esaustivo nella esposizione del problema Matteo, non esitare a chiedere se hai bisogno di ulteriore informazioni.

Anticipatamente grazie,

Chris

Immagine Matteo Scaramuccia
Re: Moodle LDAP vs MS Active Directory
Core developersParticularly helpful MoodlersPlugin developers

Ciao Christian,
dunque il primo pensiero va ad un problema di firewall: sei certo che il tuo AD possa accettare pacchetti sulla 389 dal server su cui è ospitato Moodle?
Io controllerei e imporrei che da quell'IP pubblico su quella porta possano essere accettati SOLO pacchetti dalla tua macchina Ubuntu per evitare che terzi possano usare quel servizio.

Non userei direttamente l'Administrator (comunque controlla bene il DN che hai utilizzato) ma creerei un utente di servizio, non privilegiato quindi giusto un utente "normale", tipo bind.moodle, eventualmente in una OU o in un gruppo (CN) ad hoc (Services?).

Per verificare l'apertura poi farei un brutale telnet 389 e, quando sarai certo che la porta sia raggiungibile, proverei a fare una ldapsearch in binding con l'utente prescelto. Qualcosa del tipo:

$ ldapsearch -H ldap://<IP_AD>:389 -D "<bind.moodle: DN o UPN>" -w <password> -b "DC=Example,DC=com" -x -v

Poi eventualmente configurerei il fatto di usare una secure connection (TCP/636 per LDAP over SSL oppure TCP/3269 per il Global Catalog, sempre via SSL). Configurarla è "menoso" perché oltre a dedicarti alla parte AD devi poi trustare il certificato che avrai scelto di usare, tipicamente self-signed o con CA interna, anche sulla macchina Linux.

HTH,
Matteo

 
Media dei voti: Utile (1)
Immagine Christian Cuzzoni
Re: Moodle LDAP vs MS Active Directory
 

Ciao Matteo,

grazie per la tua puntuale risposta.

Insieme ad un sistemista esperto con AD abbiamo lavorato in parallelo e da quello che è emerso, è una anomalia (non posso ancora definire baco) in un punto dell'LDAP Authentication Plugin. Infatti cablando a codice i parametri di collegamento e di bind tutto poi fila liscio.

Farò seguire maggiori informazioni riguardo al codice.

Grazie per il supporto Matteo.


Chris