Abilitare la configurazione LDAP con Active Directory su Apache 2.4 e PHP 7.4 installato su Sistema Windows

by | Dic 21, 2020

Questo tutorial spiega come configurare il PHP per testare la connettività con un server LDAP e illustra la configurazione da fare su Apache per permettere l’autenticazione integrata di utenti di Active Directory.

PRE-REQUISITI

Sistemi operativi supportati:

Windows 10/Windows Server 2012 R2/Windows Server 2016/ Windows Server 2019
Versione Server Apache installata: Apache/2.4.46 (Win64)
Versione di PHP installata: 7.4.11

Verificare la versione di Apache e di PHP installata su un PC o Server con Microsoft Windows

ABILITAZIONE DEL MODULO LDAP IN APACHE

Prima di tutto scaricare le tre DLL e copiarle all’interno della cartella PHP nella root.

libeay32.dll
libsasl.dll
ssleay32.dll

Aprire il file httpd.conf all’interno della cartella C:\Apache24\conf

Abilitare le seguenti righe

Salvare e chiudere il file.

Sotto riporto la configurazione del file httpd.conf relativo ai moduli

ABILITAZIONE DELL’ESTENSIONE LDAP IN PHP

Abilitare l’estensione ldap anche nel PHP editando il file C:\php\php.ini

Andare nella sezione delle estensioni ed abilitare extension=php_ldap come mostrato nell’immagine sovrastante.

NOTA BENE: è possibile abilitare l’estensione semplicemente togliendo il simbolo # dall’inizio della riga oppure è possibile mettere il path della DLL per esteso come mostrato sotto

CONFIGURAZIONE E TEST DEL BIND LDAP IN PHP – METODO 1

Dopo aver verificato la presenza delle DLL editare il file C:\Apache24\htdocs\index.php

Aggiungere nella sezione PHP le seguenti righe di codice

Salvare e chiudere il file di configurazione.

PARAMETRI DA SOSTITUIRE

cn=utente-per-lettura-ldap,dc=dominio,dc=com: inserire il CN dell’utente con il quale leggeremo l’LDAP

password: inserire la password dell’utente con il quale leggeremo l’LDAP

ldap.dominio.com: inserire il nome FQDN oppure l’IP del domain controller

A questo punto per verificare che il Bind su Active Directory funzioni richiamare da un browser il link del nostro server Apache http://IP_SERVER/index.php

Se il Bind funziona dovremmo vedere una schermata come quella sovrastante con il messaggio Bind successful!

CONFIGURAZIONE E TEST DEL BIND LDAP IN PHP – METODO 2

Creare un File nella root di Apache chiamato testldap.php e inserire le seguenti righe di codice

Salvare e chiudere il file di configurazione.

PARAMETRI DA SOSTITUIRE

CN=ServiceUserLDAP,OU=User,OU=Service,DC=dominio,DC=com: inserire il CN dell’utente con il quale leggeremo l’LDAP

password: inserire la password dell’utente con il quale leggeremo l’LDAP

ldap://server-active-directory: inserire il nome FQDN oppure l’IP del domain controller

A questo punto per verificare che il Bind su Active Directory funzioni richiamare da un browser il link del nostro server Apache http://IP_SERVER/testldap.php

Se il Bind funziona dovremmo vedere una schermata come quella sovrastante con il messaggio Successful LDAP bind.

CONFIGURAZIONE E TEST PER LA RICERCA DEGLI UTENTI LDAP IN PHP

A questo punto editare il file C:\Apache24\htdocs\index.php

Sostituire il contenuto editato in precedenza con il seguente:

Per verificare che la ricerca utenti su Active Directory funzioni richiamare da un browser il link del nostro server Apache http://IP_SERVER/index.php

Se è tutto corretto dovremmo vedere una schermata con il path Active Directory dell’utente cercato.

CONFIGURAZIONE GENERALE APACHE

Prima di procedere con le configurazioni specifiche di Apache bisogna apportare le seguenti modifiche.

Cercare nel file httpd.conf la sezione Directory che contiene le seguenti righe di codice

Commentare come mostrato di seguito

Salvare e chiudere il file di configurazione.

CONFIGURAZIONE DI APACHE CON LDAP – AUTENTICAZIONE TRAMITE APPARTENENZA AD UN GRUPPO DI ACTIVE DIRECTORY

A questo punto, dopo aver verificato il corretto funzionamento del Bind su Active Directory, possiamo procedere con la configurazuione di Apache in modo da permettere l’autenticazione solo agli utenti facenti parte di un determinato gruppo di Active Directory.

Le direttive Require di Apache vengono utilizzate durante la fase di autorizzazione per garantire che un utente sia autorizzato ad accedere a una risorsa.

In questo caso si utilizza il modulo mod_authnz_ldap con l’autorizzazione ldap-group

Aprire il file httpd.conf ed incollare al fondo le seguenti righe di codice:

PARAMETRI DA SOSTITUIRE

CN=ServiceUserLDAP,OU=User,OU=Service,DC=dominio,DC=com: inserire il CN dell’utente con il quale leggeremo l’LDAP

password: inserire la password dell’utente con il quale leggeremo l’LDAP

ldap://server-active-directory:389/OU=User,OU=Service,DC=dominio,DC=com: inserire il nome FQDN oppure l’IP del domain controller con la OU dove andremo a ricercare il gruppo di Active Directory

Inserire il nome dell’applicazione: Inserire il nome o la descrizione dell’applciazione da visualizzare sulla schermata di login

CN=Gruppo_Users,OU=Groups,DC=dominio,DC=com: Inserire il CN del gruppo Active Directory

Salvare e chiudere il file di configurazione quindi riavviare il servizio Apache.

Se adesso si prova a richiamare la pagina web ci verrà richiesta l’autenticazione.

Non dovremo far nient’altro che inserire le nostre credenziali di dominio per accedere alla pagina web.

ATTENZIONE: Ogni volta che si aggiunge un utente al gruppo in Active Directory bisogna riavviare il servzio Apache.

CONFIGURAZIONE DI APACHE CON LDAP – AUTENTICAZIONE TRAMITE USER ACCOUNT SPECIFICO

In questo caso possiamo procedere con la configurazuione di Apache in modo da permettere l’autenticazione solo ad una lista di utenti.

Le direttive Require di Apache vengono utilizzate durante la fase di autorizzazione per garantire che un utente sia autorizzato ad accedere a una risorsa.

In questo caso si utilizza il modulo mod_authnz_ldap con l’autorizzazione ldap-user.

Aprire il file httpd.conf ed incollare al fondo le seguenti righe di codice:

Salvare e chiudere il file di configurazione quindi riavviare il servizio Apache.

Se adesso si prova a richiamare la pagina web ci verrà richiesta l’autenticazione.

Non dovremo far nient’altro che inserire le nostre credenziali di dominio per accedere alla pagina web.

SPIEGAZIONE DEI PARAMETRI DI CONFIGURAZIONE

AuthzLDAPAuthoritative

specifica ad Apache che l’autenticazione LDAP / Active Directory deve sostituire qualsiasi altra forma di autenticazione.
AuthLDAPBindDN è il DN utente a cui Apache si collegherà quando si connetterà al server LDAP / Active Directory.
AuthLDAPURL è l’URL LDAP / Active Directory che specifica il server LDAP / Active Directory, la posizione in cui gli utenti sono archiviati all’interno della directory e gli attributi che verranno utilizzati come nome utente durante l’autenticazione.
AuthType è il tipo di autenticazione che verrà utilizzato. Basic ci offre la finestra di dialogo per inserire le nostre credenziali.
AuthName è il testo che apparirà nella finestra di dialogo di accesso. Questo può variare a seconda del browser web.
AuthBasicProvider specifica che useremo LDAP come meccanismo di autenticazione.
AuthLDAPGroupAttributeIsDN quando impostata su ON questa opzione specifica di utilizzare il DN dell’utente durante il controllo delle autorizzazioni di gruppo nel server LDAP / Active Directory. Altrimenti verrà utilizzato il nome utente, in questo esempio sAMAccountName.
AuthLDAPGroupAttribute è l’attributo nel server LDAP / Active Directory che viene utilizzato per verificare l’appartenenza al gruppo.
Require: se impostato su ldap-group indica ad Apache che l’utente deve essere nel gruppo specificato per consentire l’accesso.
Require: Le direttive Require di Apache vengono utilizzate durante la fase di autorizzazione per garantire che un utente sia autorizzato ad accedere a una risorsa. mod_authnz_ldap estende i tipi di autorizzazione con ldap-user, ldap-dn, ldap-group, ldap-attribute e ldap-filter. È possibile utilizzare anche altri tipi di autorizzazione, ma potrebbe essere necessario caricare moduli di autorizzazione aggiuntivi.

Per maggiorni informazioni sull’utilizzo del Modulo mod_authnz_ldap su Apache visitare il sito ufficiale di Apache al seguente link

http://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html

 

Download “Librerie DLL per PHP” Librerie-PHP-per-LDAP.zip – Scaricato 1540 volte – 363,95 KB
Scritto da Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Infrastrutture IT
  • ACT For Cange  Mental Coach
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore Collaboratore

Related Post

0 Comments

Submit a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione