Nagis – Checkejant l'estat dels Usuaris en el Directori Actiu

Quan tenim bastants usuaris en la nostra organització, o sobretot, quan són una mica tops, podem intentar i controlar els seus comptes del Directori Actiu, per prevenir i monitoritzar possibles fallades, això és, podrem controlar si els comptes d'usuari estan deshabilitats, han caducat les seves contrasenyes o són a prop de caducar, així com si han arribat a bloquejar-se, entre altres més opcions.

 

Gràcies a Nagios o Centreon entre d'altres, podrem monitoritzar això d'una forma bastant senzilla i obtenir notificacions en temps real en cas que tinguem algun compte d'usuari afectat. Mitjançant NRPE podrem executar un script de PowerShell en qualsevol màquina Windows que checkejarà el Directori Actiu en recerca d'usuaris amb problemes. Si no tens 'check_nrpe’ o necessites saber com instal·lar l'agent necessari, visita aquest document Nagis – Monitoritzant amb NRPE.

Ens basem en l'script 'lotp_check_ad_accounts.ps1', que podrem descarregar d'Exchange Nagios, des d' aquesta mateixa URL: https://exchange.nagios.org/directory/Plugins/Operating-Systems/Windows-NRPE/Check-Active-Directory-Accounts/details

 

Podrem verificar:

  • Comptes deshabilitats –> AccountDisabled
  • Comptes d' usuari caducats –> AccountExpired
  • Comptes d' usuari a punt de caducar –> AccountExpiring
  • Comptes inactives –> AccountInactive
  • Comptes bloquejats –> LockedOut
  • Comptes amb contrasenyes caducades –> PasswordExpired
  • Comptes que mai li caduquen les seves contrasenyes –>PasswordNeverExpires

 

Si volem provar-ho des d'una PowerShell, haurem d' executar el comandament amb el format següent:

[sourcecode]lotp_check_ad_accounts.ps1 AccountDisabled 'dc=openservices,dc = local’ subtree 2 3[/sourcecode]

 

On els arguments anteriors serien, el primer el tipus de checkequeig que es farà, seguit de la cadena de recerca, l' àmbit de la busqueda (podent ser Base/OneLevel/Subtree) i en números, els valors màxims de resultats per a un Warning i Critical.

 

Si modifiquem la següent línia de l' script, podrem fer un output dels usuaris afectats en qüestió,:

[sourcecode]$output =$state +": "+$result. Count +" "+$action +"|"+$action +"="+$result. Count +";"+$maxWarn +";"+$maxCrit[/sourcecode]

 

Per la següent:

[sourcecode]$output =$state +": "+$result. Count +" "+$action +" "+$result +"|"+$action +"="+$result. Count +";"+$maxWarn +";"+$maxCrit[/sourcecode]

 

 

Bo! Comencem! Editem el fitxer nsclient.ini com ja sabem! hem de primer definir l'àlies i després l'script en qüestió que executarà:

 

[sourcecode][/settings/external scripts/scripts]
check_cuentas = cmd /c echo scripts\lotp_check_ad_accounts.ps1 $ARG 1$ "$ARG2" subtree $ARG 3$ $ARG 4$; exit ($lastexticode) | powershell.exe –
[/settings/external scripts/àlies]
check_cuentas = check_cuentas[/sourcecode]

 

Com veiem, li podrem passar 4 arguments, encara que cadascú pot fer com vulgui! Recordar reiniciar el servei NSClient ++ després de la modificació del fitxer de configuració.

 

I després ja n'hi haurà prou amb crear el Servei que monitoritzarà cada checkeig sobre els usuaris del nostre Directori Actiu. Creem aquest servei com és habitual i l'enllaçarem al servidor que executarà l'script de PowerShell, farem servir el comandament chech_nrpe i en el meu cas no tinc definits els arguments per separat, podrem ficar-li el xurro amb tots directament, o definir el comandament check_nrpe perquè admeti arguments. Bo, al tema, en aquest escenari, quedaria així definit el servei que txecarà en aquest cas els Comptes bloquejats, anem a "Configuration" > "Services" > "Add" o clonem un i li indiquem les següents dades almenys:

 

  • Description: El nom amb què li veurem des del monitoratge, definirà el checkeig realitzat, en aquest cas, 'AD – Comptes bloquejats em valdrà'.
  • Template: Normalment, seleccionem 'generic-active-service-custom'.
  • Check Command: Seleccionem de la llista de comandaments, 'check_nrpe'.
  • Args: Hem d'emplenar aquí l'àlies que definim a l'arxiu INI, en aquest document passarem mitjançant NRPE el check 'check_cuentas'. I seguit d'un '-a’ per passar-li arguments, quedaria de la següent manera: check_cuentas -a LockedOut “dc = openservices,dc = local” 2 3

I gravem amb “Save”! Cearem tants serveis com tipus de checkeos volem fer en el nostre entorn!

 

I bo, com sempre, si exportem les dades de Centreon i reiniciem l'any, podrem ja des de "Monitoring" > "Status Details” comprovar cada servei monitoritzat, tindrem ja controlats i monitoritzats els comptes d'usuari del nostre Active Directory amb Nagios o Centreon! Evitarem ensurts indeguts, cert?? Espero us sigui d'utilitat, gràcies a tothom per compartir!

 

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!

Nagstamon

15 de June de 2017

FAN - Fully Automated Nagios

11 de July de 2017