LastLogon, LastLogonTimeStamp, LastLogonDate. Utilizzo degli attributi per la rilevazione di oggetti “Stale” in AD PS CMD-LET Search-ADAccount

Ognuno degli attributi presenti è utile per la rilevazione di quelli che sono gli oggetti scaduti o Stale all’interno di un’infrastruttura AD.

Sono utili quindi per determinare se un utente o un computer hanno effettuato un logon al dominio e nel caso basarsi su questo valore temporale per eventualmente eliminare i vari oggetti utente o computer non più utilizzati e che possono essere fonte di brecce nella sicurezza di un’infrastruttura AD.

Gli oggetti utente e computer hanno diversi attributi che riportano informazioni relative ad eventi di logon/logoff

LastLogon

Prima della versione 2003 di Windows Server era disponibile l’attributo LastLogon per determinare il reale evento di logon di un utente o macchina.

Il valore era aggiornato solo nel Domain Controller che effettivamente validava la richiesta di accesso.

L’attributo, che è ancora presente nelle versioni successive, non è replicato, quindi per effettuare una verifica basandosi su questo è necessario effettuare una query su ogni DC del dominio e considerando il più recente come valido.

Con le successive versioni di Sistema Operativo il significato ed il meccanismo di replica di questo attributo non è stato modificato.

In buona sostanza il valore contenuto in LastLogon si può considerare come assoluto soltanto se si dispone di un dominio con un solo Domain Controller.

1 attributo LastLogon su ambiente con più di un DC ed autenticazione non avvenuta sul DC interessato dalla query

LastLognTimeStamp

Nelle versioni di Windows Server dalla 2003 in poi è disponibile un nuovo attributo che è replicato tra tutti i DC, questo riporta in modo univoco il valore temporale espresso in FILETime, ossia il numero di intervalli di 100 nanosecondi che intercorrono tra il “momento” attuale ed il 1° gennaio 1601 riferito ad UTC.

2 attributo LastLogonTimeStamp sul medesimo DC e per lo stesso evento di Logon

Troveremo quindi un valore numerico all’interno di una variabile di tipo INT64, tale valore dovrà poi essere elaborato per poter essere letto nel formato data/ora classico.

È possibile con il comando w32tm /ntte eseguire una rapida conversione del valore contenuto nell’attributo

Fatte le considerazioni precedenti, in relazione alla differenza tra i due attributi, è possibile verificare tramite l’utility Repadmin, l’effettiva replica su tutti i DC degli attributi visti prima.

repadmin /showattr * “CN=Utente Test,OU=Test,DC=dominio,DC=loc /attrs:lastLogontimeStamp”

3 replica dell’attributo lastLogonTimeStamp

Questo attributo è replicato sui vari DC e popolato con lo stesso valore

mentre il valore dell’attributo LastLogon rilevato sempre con Repadmin riporterà esclusivamente il DC che ha effettuato l’autenticazione dell’oggetto.

Questo attributo può riportare informazioni non attuali, infatti è replicato secondo il valore impostato in un ulteriore attributo

ms-DS-Logon-Time-Sync-Interval attributo espresso in giorni da 1 a
100.000

This attribute controls the granularity, in days, with which the last logon time for a user or computer, recorded in the lastLogonTimestamp attribute, is replicated to all DCs in a domain.

Di default questo non è impostato e per valore predefinito è considerato pari a 14 giorni, l’aggiornamento del dato avviene in caso di logon e se questo valore è precedente alla data/ora attuale diminuita del valore in msDS-LogonTimeSyncInterval,

La sincronizzazione iniziale dopo l’elevazione del livello funzionale del dominio è calcolata come 14 giorni diminuita di un valore percentuale casuale di 5 giorni

4 stato dell’attributo LastLogon su tutti i DC

(è da notare che l’utente scelto per questa dimostrazione è stato creato ex novo ed ha eseguito un solo accesso)

Tramite ADUC è possibile visualizzare il valore convertito di questo attributo

Per attivare la visualizzazione degli attributi è necessario attivare la funzionalità di visualizzazione avanzata all’interno di ADUC

 

 

 

 

 

 

ADUC riporta la conversione del valore numerico in formato data/ora mentre la visualizzazione diretta del contenuto evidenzia il valore numerico

LastLogonDate

Un ulteriore attributo messo a disposizione per rilevare le attività di accesso di un oggetto macchina oppure utente è LastLogonDate, che è un valore calcolato localmente in relazione alla replica dell’attributo LastLogonTimeStamp.

Viene cioè convertito in data/ora il valore numerico dell’attributo LastLogonTimeStamp localmente ad ogni server e salvato nell’attributo LastLogonDate, risulta quindi utile in quanto permette di calcolare direttamente le differenze data senza la conversione necessaria con LastLogonTimeStamp.

Ad esempio risulta più semplice rilevare con un calcolo dinamico rispetto alla data odierna gli utenti che non eseguono accesso da più di n giorni

get-aduser -filter -properties Name,LastLogonDate |
Where-Object {$_.LastLogonDate -ge (get-date).adddays(-400)}

Search-ADAccount Powershell Cmd-Let

Finora abbiamo visto come una serie di attributi ed i valori in essi contenuti ci possono aiutare per la rilevazione in AD di alcune anomalie, come ad esempio oggetti non utilizzati.

In questo contesto powershell ci ha permesso di interrogare gli attributi interessati e di rilevarne il valore per poi determinare le nostre azioni.

In modo più strutturato, in PS è disponibile un cmd-let che è in grado di rilevare agevolmente quelli che sono gli Stale-Object.

Il command-let Search-ADAccount è utile per rilevare le informazioni di scadenza, blocco etc. relative ad un oggetto che effettua attività di logon al dominio Utenti, Computer o Service Account

Esempi:

Rilevazione di oggetti computer non attivi da più di 90 giorni

Search-ADAccount -ComputersOnly -AccountInactive | ? { $_.LastLogonDate -lt (get-date).AddDays(-90) } | Select-Object Name,LastLogonDate,DistinguishedName

Rilevazione di oggetti utente non attivi per più di 90 giorni

Search-ADAccount -AccountInactive -UsersOnly | ? { $_.LastLogonDate -lt (get-date).AddDays(-90) } | Select-Object Name,SAMAccountName,LastLogonDate,Enabled,LockedOut,PasswordExpired

Riferimenti

Microsoft Virtual Academy considerazioni sugli oggetti scaduti

Attributo LasLogonTimeStamp

Attributo LastLogon

Articolo Technet

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...