Nagios – Checkeando el estado de los Usuarios en el Directorio Activo
Cuando tenemos bastantes usuarios en nuestra organización, edo batez ere, noiz baldin eta pixka bat topo badira, saia gaitezke eta kontrola dezakegu Active Directory-ko kontuak, ahal daitezkeen akatsak saihesteko eta monitorizatzeko, hau da, erabiltzaile kontuak desgaituta dauden kontrola dezakegu, haien pasahitzak iraungi diren edo iraungitzear dauden kontrola dezakegu, hala nola blokeatu badira, beste aukera batzuen artean.
Gracias a Nagios o Centreon entre otros, podremos monitorizar esto de una forma bastante sencilla y obtener notificaciones en tiempo real en caso que tengamos alguna cuenta de usuario afectada. Mediante NRPE podremos ejecutar un script de PowerShell en cualquier máquina Windows que checkeará el Directorio Activo en búsqueda de usuarios con problemas. Si no tienes ‘check_nrpe’ o necesitas saber cómo instalar el agente necesario, visita este documento Nagios – NRPErekin Monitorizatuz.
Nos basamos en el script ‘lotp_check_ad_accounts.ps1’, que podremos descargar de Exchange Nagios, desde esta misma URL: https://exchange.nagios.org/directory/Plugins/Operating-Systems/Windows-NRPE/Check-Active-Directory-Accounts/details
Podremos verificar:
- Cuentas deshabilitadas –> AccountDisabled
- Cuentas de usuario caducadas –> AccountExpired
- Cuentas de usuario a punto de caducar –> AccountExpiring
- Cuentas inactivas –> AccountInactive
- Cuentas bloqueadas –> LockedOut
- Pasahitz iraungituekin kontuak –> PasswordExpired
- Pasahitzak inoiz ez diren iraungiko kontuak –>PasswordNeverExpires
PowerShelf batetik probatu nahi badugu, komandoa hurrengo formatuan exekutatu beharko dugu:
[sourcecode]lotp_check_ad_accounts.ps1 AccountDisabled ‘dc=openservices,dc=local’ subtree 2 3[/sourcecode]
Aurretiko argumentuak honela izango lirateke, lehenengoa egingo den egiaztapen motaa, jarraian bilaketa-katea, bilaketaren esparrua (Base/OneLevel/Subtree izan daitekeena) eta zenbakietan, Warning eta Criticalentzako emaitza-maximoak.
Script-aren hurrengo lerroa aldatzen badugu, galderan dauden erabiltzaileak output dezakegu,:
[sourcecode]$output=$state+": "+$result.Count+" "+$action+"|"+$action+"="+$result.Count+";"+$maxWarn+";"+$maxCrit[/sourcecode]
Honengatik:
[sourcecode]$output=$state+": "+$result.Count+" "+$action+" "+$result+"|"+$action+"="+$result.Count+";"+$maxWarn+";"+$maxCrit[/sourcecode]
Onena! Empezamos! nsclient.ini fitxategia editatzen dugu jadanik dakigun bezala! debemos primero definir el alias y luego el script en cuestión que ejecutará:
[sourcecode][/settings/external scripts/scripts]
check_cuentas = cmd /c echo scripts\\lotp_check_ad_accounts.ps1 $ARG1$ "$ARG2" subtree $ARG 3$ $ARG 4$; exit ($lastexticode) | powershell.exe –
[/settings/external scripts/alias]
check_cuentas = check_cuentas[/sourcecode]
Ikusten dugun bezala, le podremos pasar 4 argumentos, aún que cada uno puede hacer como quiera! Recordar reiniciar el servicio NSClient ++ tras la modificación del fichero de configuración.
Y luego ya bastará con crear el Servicio que monitorizará cada checkeo sobre los usuarios de nuestro Directorio Activo. Creamos este servicio como es habitual y lo enlazaremos al servidor que ejecutará el script de PowerShell, usaremos el comando chech_nrpe y en mi caso no tengo definidos los argumentos por separado, podremos meterle el churro con todos directamente, edo zehaztu check_nrpe komandoa argumentuak onartzeko. Onena, gaian, eszenario honetan, hala definituko litzateke zerbitzuak, kasu honetan Blokeatutako Kontuak egiaztatuko dituena, joango gara ‘Configuration’era > ‘Services’ > ‘Add’ edo bat klonatu eta gutxienez honako datuak emango dizkiogu:
- Deskribapena: Izenarekin, monitoretik ikusiko duguna, egiazta dezakeen egiaztatzea definituko du, kasu honetan, 'AD – Blokeatutako Kontuak nahikoa da niretzat’.
- Txantiloia: Normalmente, seleccionamos 'generic-active-service-custom'.
- Check Command: Seleccionamos de la lista de comandos, 'check_nrpe'.
- Args: Debemos cumplimentar aquí el alias que definimos en el archivo INI, dokumentu honetan NRPE bidez pasatuko dugu 'check_cuentas' egiaztapena. Eta jarraian '-a' batekin’ argumentuak pasatzeko, honela geratuko da: check_cuentas -a LockedOut “dc=openservices,dc=local” 2 3
Eta grabatzen dugu honela “Gorde”! Zerbitzu kopuru bat sortuko dugu gure inguruneko egiaztatze mota bakoitzeko!
Y bueno, como siempre, Centreoneko datuak esportatzen baditugu eta enginea berrabiarazten badugu, podremos ya desde “Monitoring” > “Status Details” comprobar cada servicio monitorizado, tendremos ya controladas y monitorizadas las cuentas de usuario de nuestro Active Directory con Nagios o Centreon! Evitaremos sustos indebidos, cierto?? Espero os sea de utilidad, gracias a todos por compartir!














































