Cambio password in Active Directory

Active Directory pur essendo uno dei prodotti più maturi tra quelli offerti da Microsoft ad oggi soffre di un sistema per il cambio password degli utenti di dominio che non è proprio comodo in alcuni scenari.
In questo articolo spiego come ho cercato di mitigare il problema del cambio password soprattutto per chi è esterno all’organizzazione.

Problema

Nella’organizzazione dove lavoro, tutti i servizi ruotano intorno all’autenticazione in Active Directory, dal wifi in 802.1x alla posta elettronica, alle VPN, ai vari software interni, il proxy autenticato ecc…
Questo fa si che nel momento in cui la password di un utente scade e non ce se ne accorge, TUTTO smette di funzionare.

Soluzione

Quello che ho implementato è uno script in PowerShell su uno dei domain controller che giornalmente invia una mail di riepilogo ai responsabili con l’elenco dei vari utenti a cui stanno scadendo le password con l’indicazione dei giorni rimanenti e una mail all’utente stesso con le istruzioni per il cambio della password.
Per facilitare le operazioni di cambio password anche a chi è esterno all’organizzazione ho creato un mini-portale che serve esclusivamente a cambiare la password di dominio.

Script per la notifica via email

Qui trovate lo script per la notifica via email agli utenti e agli amministratori di sistema delle password in scadenza, dovete schedulare un’operazione pianificata che esegua questo script quotidianamente.
All’interno dello script vanno inseriti i parametri relativi al server SMTP, al nome dell’azienda ecc…

Lo script è disponibile qui: https://github.com/ciamberlini/NotifyPasswordExpirationAD

Lo script è stato preso e tradotto/adattato da qui: http://my.bergersoft.net/2009/05/26/how-to-send-password-expire-alert-to-ad-users-with-powershell/

Portale per il cambio password

Per il cambio password ho creato un sito web molto semplice in PHP disponibile qui: https://github.com/ciamberlini/ADPasswordChangePortal.
Il portale andrebbe pubblicato con un certificato SSL su internet, per consentire ad utenti esterni di cambiare la password da qualsiasi posto.
Il web server che espone questo servizio di cambio password sarebbe meglio che non risieda su un domain controller per motivi di sicurezza.
Vanno cambiati i parametri di accesso LDAP nel file config.php e il file footer.php con i dati della propria organizzazione.

Rispondi