Magic Quadrant™ para gerenciamento de acesso privilegiado 2025: Netwrix reconhecida pelo quarto ano consecutivo. Baixe o relatório.

Plataforma
Centro de recursosBlog
Atributos do Active Directory: Último Logon

Atributos do Active Directory: Último Logon

Nov 3, 2022

Active Directory os objetos de usuário possuem uma série de atributos de metadados de logon que são valiosos para relatórios de auditoria e administração do Active Directory. Por exemplo, eles são comumente usados para identificar contas de usuário que estão inativas por um período significativo, ou como contas “obsoletas”.

No entanto, cada atributo de metadados de logon possui alguns comportamentos únicos que precisam ser compreendidos. Caso contrário, as organizações podem acabar com relatórios que são confusos na melhor das hipóteses e imprecisos ou de outra forma enganosos na pior das hipóteses.

Último logon no atributo AD

O atributo Last-Logon contém uma representação Windows FileTime da última vez que um controlador de domínio autenticou o usuário com sucesso. É o precursor dos metadados de logon do usuário, existindo desde a primeira versão do Active Directory.

Usando o comando PowerShell abaixo, você pode recuperar o último horário de logon e outras propriedades do usuário em um controlador de domínio:

      Get-ADUser -Filter * -Properties lastLogon | Select samaccountname, @{Name="lastLogon";Expression={[datetime]::FromFileTime($_.'lastLogon')}}
      

O atributo Last-Logon é atualizado toda vez que um controlador de domínio processa com sucesso uma solicitação de logon, então pode parecer que ele fornece a maneira perfeita para identificar com precisão contas de usuário inativas. No entanto, há uma grande ressalva que precisa ser levada em consideração.

O AD Last-Logon não é um atributo replicado; cada controlador de domínio (DCs) mantém sua própria versão do atributo para um usuário específico. Esse comportamento é intencional — o aumento no tráfego de replicação necessário para manter esse atributo sincronizado entre os controladores de domínio de uma rede teria sido esmagador, especialmente na época de sua introdução há vinte anos. Mas esse comportamento também é a razão pela qual é necessário ter cuidado ao usar esse atributo para relatar sobre contas de usuário inativas.

Porque o Last-Logon não é replicado (os controladores de domínio não trocam essa informação), os valores dos atributos só podem ser interpretados no contexto do controlador de domínio que está sendo consultado. Ou seja, o valor do atributo não é necessariamente a última vez que o usuário fez login, mas sim a última vez que o usuário se autenticou com sucesso através do controlador de domínio que está sendo verificado. Da mesma forma, o atributo ter um valor zero não significa necessariamente que o usuário nunca fez login; pode significar que o controlador de domínio que retornou o valor nunca processou uma solicitação de login desse usuário.

Resumidamente, embora o atributo Last-Logon possa ser utilizado para auditoria relacionada a logins, relatórios precisos exigirão a consulta de cada controlador de domínio capaz de processar solicitações de login para identificar o valor mais recentemente atualizado para qualquer conta de usuário específica. Alternativamente, você pode utilizar uma solução de relatórios de terceiros, conforme discutido mais adiante neste artigo.

Last-Logon-Timestamp

O Last-Logon-Timestamp contém uma representação Windows FileTime de um momento recente em que o usuário fez login em um domínio. Esse atributo de usuário foi introduzido com o Microsoft Windows Server 2003. Diferentemente do antigo atributo Last-Logon, o atributo Last-Logon-Timestamp é um atributo replicado; seu valor para um usuário específico é sincronizado com todos os controladores de domínio. Isso é uma grande melhoria em relação ao atributo Last-Logon. Isso significa que a melhor maneira de identificar contas de usuário inativas é usar o Last-Logon-Timestamp, certo? Bem, usar esse atributo vem com seu próprio aviso.

O problema com o atributo Last-Logon-Timestamp é que ele nem sempre é atualizado quando um controlador de domínio processa com sucesso uma solicitação de logon. Em vez disso, o atributo tem uma frequência de atualização dinâmica que é limitada pelo valor do atributo ms-DS-Logon-Time-Sync-Interval, que por padrão não é definido e é tratado como 14 dias. Não é comum que esse atributo tenha sido alterado, mas se você estiver curioso, pode facilmente identificar seu valor real usando o seguinte script PowerShell:

      $lastLogonReplicationInterval = (Get-ADDomain).LastLogonReplicationInterval
if( $lastLogonReplicationInterval )
{
    Write-Host "ms-DS-Logon-Time-Sync-Interval is set to $($lastLogonReplicationInterval) days"
}
else {
    Write-Host "ms-DS-Logon-Time-Sync-Interval is not set and will be treated as 14 days"
      

Em um domínio com o limite máximo padrão de atualização de 14 dias, o Last-Logon-Timestamp é atualizado apenas quando um controlador de domínio processa com sucesso uma solicitação de logon e o período desde a última atualização do atributo é maior que algo entre 9 e 14 dias. A variação desse período é o resultado de uma porcentagem aleatória que está incluída na lógica que controla a frequência de atualização. Esse comportamento reflete um compromisso entre limitar o tráfego de replicação necessário para manter esse atributo sincronizado entre os controladores de domínio da rede e limitar a probabilidade de ter que replicar um número significativo de usuários que tiveram seu Last-Logon-Timestamp atualizado aproximadamente no mesmo período.

Aqui está um exemplo simplificado da lógica que controla a frequência de atualização do atributo Last-Logon-Timestamp:

      (Current Datetime – Last-Logon-Timestamp) ? (ms-DS-Logon-Time-Sync-Interval – (Random % * 5 days))
      

Na prática, o atributo Last-Logon-Timestamp simplificará a auditoria e o relatório relacionados ao login. O único problema potencial significativo envolve o relatório de usuários inativos. Quando utilizado para identificar usuários inativos, o limiar de obsolescência precisa exceder o valor do intervalo ms-DS-Logon-Time-Sync-Interval do domínio por tempo suficiente para garantir que a replicação tenha sido capaz de propagar quaisquer atualizações significativas.

LastLogonDate (PowerShell)

Aqueles familiarizados com o PowerShell podem reconhecer LastLogonDate, mas você não será capaz de encontrá-lo em nenhum lugar no esquema do global catalog do Active Directory. Isso ocorre porque LastLogonDate é na verdade um valor calculado localmente que exibirá o valor replicado do atributo Last-Logon-Timestamp em um formato amigável ao usuário. Não é surpresa que LastLogonDate tenha todos os benefícios e todas as desvantagens do atributo Last-Logon-Timestamp. No entanto, como não requer conversão do Windows DateTime, é a melhor opção para a maioria dos relatórios de auditoria relacionados ao login do usuário.

Atributo de Último Logon Interativo Bem-sucedido do Active Directory

O atributo ms-DS-Last-Successful-Interactive-Logon-Time foi introduzido no Windows Server 2008, mas muitas pessoas não estão familiarizadas com ele porque está desativado por padrão. Quando ativado, ele contém a data e a hora do último logon interativo bem-sucedido de um usuário. Embora pareça algo incrivelmente útil para habilitar, existem algumas razões convincentes para deixá-lo desativado, as quais abordarei em breve.

Se você tem um ambiente de laboratório e quer experimentar o atributo ms-DS-Last-Successful-Interactive-Logon-Time, você pode habilitar o seguinte: Configuração do Computador ? Políticas ? Modelos Administrativos ? Componentes do Windows ? Opções de Logon do Windows ? Exibir informações sobre logons anteriores durante o logon do usuário GPO. Depois, force uma atualização de Política de Grupo. Não habilite essa configuração em um domínio de produção por diversão; você terá problemas.

O primeiro problema com o atributo ms-DS-Last-Successful-Interactive-Logon-Time é que seu valor é atualizado apenas quando um logon interativo é autenticado (pense em logons “Ctrl-Alt-Del”). Isso significa que atividades importantes de autenticação, como logins em compartilhamentos de rede e autenticações LDAP, não acionarão uma atualização. Consequentemente, se você usar esse atributo para gerar relatórios de auditoria relacionados a logon, é provável que obtenha alguns resultados imprecisos. Por exemplo, relatórios que identificam contas de usuários inativas provavelmente listarão contas de serviço de domínio, que geralmente são muito ativas — apenas de maneiras não interativas. Em resumo, esse atributo torna a geração de relatórios de usuários obsoletos realmente simples e confiável, mas apenas para contas de usuários que são usadas para sessões interativas.

Resumo

Se você precisa gerar Active Directory login audit reports, a melhor abordagem é provavelmente agregar os logs de eventos do seu controlador de domínio e processá-los. Embora os logs de eventos sejam incrivelmente ruidosos, eles também são incrivelmente confiáveis e fornecem informações históricas que o Active Directory não pode.

Se isso não for viável, use LastLogonDate. Ou, melhor ainda, use o cmdlet Search-ADAccount integrado ao módulo PowerShell do Active Directory para obter as informações necessárias e exportá-las para um arquivo CSV:

      Search-ADAccount -AccountInactive -DateTime ((Get-Date).AddDays(-30)) -UsersOnly | Select Name,LastLogonDate,DistinguishedName| Export-CSV c:psinactive_users.csv
      

O cmdlet Search-ADAccount na verdade utiliza LastLogonDate nos bastidores. Seu período de inatividade padrão é de 15 dias, o que deve ser adequado na maioria dos ambientes. O exemplo acima inclui a sintaxe necessária para substituir o período de inatividade por um valor de 30 dias. Para aqueles que preferem uma abordagem sistematizada, existem ferramentas gratuitas úteis como Netwrix Inactive User Tracker para recuperar essas informações sem ter que converter valores e analisar arquivos csv.

Como a Netwrix pode ajudar?

Revisar regularmente a última data de login de cada usuário no Active Directory pode ajudar o administrador do domínio a detectar e remover contas inativas que adversários adorariam comprometer e abusar. Mas isso é apenas uma pequena parte de uma estratégia abrangente de cibersegurança.

A Netwrix Active Directory Security Solution fornece informações detalhadas não apenas sobre o último horário de logon de cada conta de usuário do Active Directory, mas sobre toda a atividade no Active Directory. Seus relatórios pré-construídos abrangentes simplificam o logon monitoring. Em particular, o relatório User Accounts – Last Logon Time lista todas as contas de usuários, habilitadas e desabilitadas, com o último horário de logon para cada conta. Utilizando a função de assinatura de relatórios, os administradores de TI podem receber o relatório por e-mail automaticamente conforme a programação que especificarem, facilitando a revisão regular de acordo com as melhores práticas e permitindo que eles eliminem vulnerabilidades do sistema de forma mais eficiente.

Netwrix Directory Manager

Simplifique e proteja o AD com gerenciamento de grupo automatizado

FAQ

Qual é a diferença entre Lastlogon e lastLogonTimeStamp?

Ao contrário do atributo Last-Logon, o atributo Last-Logon-Timestamp é um atributo replicado; seu valor para um usuário específico é sincronizado com todos os controladores de domínio.

Como é calculado o lastLogonTimeStamp?

O Last-Logon-Timestamp (ou lastLogonTimeStamp) é registrado pelo DC no login do usuário; no entanto, esse atributo nem sempre é atualizado em todos os DCs quando um controlador de domínio processa com sucesso uma solicitação de logon.

O que é autenticação interativa?

A autenticação interativa é um processo no qual um usuário é solicitado a inserir seu ID de usuário e senha para fazer login em um dispositivo. Os locais mais comuns onde o login interativo ocorre são a tela de login do Windows e a tela de bloqueio do Windows.



Compartilhar em

Saiba Mais

Sobre o autor

Asset Not Found

Joe Dibley

Pesquisador de Segurança

Pesquisador de Segurança na Netwrix e membro da Equipe de Pesquisa de Segurança da Netwrix. Joe é um especialista em Active Directory, Windows e uma ampla variedade de plataformas de software empresarial e tecnologias, Joe pesquisa novos riscos de segurança, técnicas de ataque complexas e as respectivas mitigações e detecções.