Active Directory : connaître la VRAIE date de dernière connexion

lastLogon vs lastLogonTimestamp

Niveau de connaissance requis : débutant

Dans le monde de la gouvernance des identités et des accès (IAG), la date de dernière connexion est une donnée importante. Avec cette information, on peut notamment vérifier si un ex-employé s’est potentiellement connecté après son départ, ou, de manière plus large, contrôler l’existence de comptes dormants (= comptes toujours activés et non utilisés depuis une période définie), dans un but de conformité du SI ou de réduction des coûts.

L’Active Directory, par sa forte distribution, représente un cas d’exploitation classique de cette date de dernière connexion. Dans l’interface d’administration, lorsque l’on détaille les propriétés d’un compte utilisateur, on peut remarquer que cette information apparait sous 2 attributs différents : « lastLogon » et « lastLogonTimestamp« 

Pourquoi cette information apparait deux fois ?

Laquelle doit-on privilégier pour l’analyse des accès ?

Contrôleur(s) de domaine

De manière quasi systématique, et encore plus au sein des grandes sociétés, le domaine Active Directory de l’entreprise est géré par plusieurs contrôleurs de domaine, afin d’assurer une continuité de service et une meilleure gestion des ressources. Ces contrôleurs de domaine synchronisent les informations entre eux, à fréquence régulière. On parle de réplication de contrôleur de domaine.

Lorsqu’un utilisateur se connecte avec son compte Windows, il sera alors authentifié sur l’un ou l’autre de ces contrôleurs de domaine.

Les dates de dernière connexion

La date et l’horaire de connexion sont alors enregistrés, entre autres informations. Dans Active Directory, cette donnée apparait dans 2 attributs, au fonctionnement bien différents :

  • lastLogon : dernière connexion de l’utilisateur sur le contrôleur de domaine. Cette donnée n’est pas répliquée.
  • lastLogonTimestamp : valeur répliquée sur l’ensemble des contrôleurs de domaine. Cette valeur est mise à jour, lors de la connexion de l’utilisateur, si la différence avec le lastLogon est supérieure à environ 14 jours  (« environ » car il s’agit plus exactement de « 14 jours moins un pourcentage aléatoire de 5 jours », selon les réglages par défaut dans Active Directory)

Quelle valeur choisir ?

Dans le cadre d’une analyse des accès, il est recommandé de traiter le lastLogonTimestamp qui comporte une information bien plus stable dans le temps (malgré un écart potentiel de 14 jours maximum, par défaut).

Si l’on souhaite obtenir rigoureusement la dernière date de connexion de l’utilisateur, il faudrait alors récupérer l’ensemble des lastLogon des différents domaines, puis mettre en place un mécanisme pour conserver la valeur la plus récente.

Généralement, c’est le choix du lastLogonTimestamp qui est privilégié pour de l’IAG, en raison du rapport fiabilité de l’information/rapidité de prise en compte.

Vous avez aimé cet article?

Twitter
LinkedIn