Sur un contrôleur de domaine ou sur un serveur avec les outils qui vont bien d'installés, lancez gpmc.msc et (de préférence) modifiez la Default Domain Policy
Sous
Computer configuration > policies > Windows settings > Security settings > Local Policies > Audit Policy
mettez le paramètre "audit Logon events" à "success"
Notez que ce paramètres pour les OS Antérieurs à Vista/2008 car sur un 2012 je m'en suis passé avec le reste de la procédure
Sous
Computer configuration > policies > Windows settings > Securtity settings > Local Policies > Security options
mettez le paramètre
Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings
Maintenant sous
Computer configuration > Policies > Windows settings > Security settings > Advanced Audit Policy Configuration > Audit Policies > Logon/Logoff
Passez "Audit Logon" à "Success"
Rebootez ou faites un gpupdate de vos machines pour que la policy soit prise en compte.
Dans le journal de sécurité, cherchez maintenant ces ID :
EventId | OS |
---|---|
540 | Jusque XP et 2003 |
4624 | A partir de Seven/Windows 2008 |
Voici un exemple de résultat :
Notez que dans le log des DC c'est l'ip qui est notée et non le nom de la machine.
Si vous avez un accès à une machine Windows, dans journal de sécurité local avec le même eventid vous saurez qui s'est connecté.
Comme indiqué sur le site
http://blogs.msdn.com/b/ericfitz/archive/2008/08/20/tracking-user-logon-activity-using-logon-events.aspx
Il y a d'autres eventid intéressants à ce niveau :
EventId jusque XP | EventId à partir de vista et 2008 | Signification |
---|---|---|
512 | 4608 | STARTUP |
513 | 4609 | SHUTDOWN |
540 | 4624 | A quelle heure et sur quel poste un user s'est connecté |
538 | 4634 | LOGOFF |
551 | 4647 | BEGIN_LOGOFF |
? | 4722 | Activation du compte d'un user à partir de Seven/Windows 2008 |
? | 4725 | Désactivation du compte d'un user à partir de Seven/Windows 2008 |
? | 4728 | Ajout d'un user dans un groupe |
? | 4728 | Delete d'un user dans un groupe |
644 | 4740 | Quel ordinateur a verrouillé un compte |
N/A | 4778 | SESSION_RECONNECTED |
N/A | 4779 | SESSION_DISCONNECTED |
N/A | 4800 | WORKSTATION_LOCKED |
* | 4801 | WORKSTATION_UNLOCKED |
N/A | 4802 | SCREENSAVER_INVOKED |
N/A | 4803 | SCREENSAVER_DISMISSED |
Le script powershell suivant permet une recherche dans le journal de sécurité en remontant sur une journée sur le poste local
$Date = (Get-Date).AddDays(-1)
$LoginRecherche = "dupont"
Get-WinEvent Security | Where-Object {$_.TimeCreated -ge $Date -and $_.id -eq 4624 -and $_.Message -like "*$LoginRecherche*"} | Select-Object -first 50 | Select TimeCreated, LogName, Level, LevelDisplayName, Id, ProviderName, Message
Lien vers le fichier : cliquez ici
Celui-ci permet d'exécuter une recherche dans le journal de sécurité sur une liste de serveurs donnée :
$Date = (Get-Date).AddDays(-1)
$MesMachines = "machine01,machine02" -split ","
foreach ($UneLigne in $MesMachines){
Write-host "Traitement de $UneLigne"
Invoke-command -ScriptBlock { Get-WinEvent Security | Where-Object {$_.TimeCreated -ge $Date -and $_.id -eq 4624 -and $_.Message -like "*loginrecherche*"} | Select-Object -first 50 | Format-List TimeCreated, LogName, Level, LevelDisplayName, Id, ProviderName, Message } -ComputerName $UneLigne
}
Lien vers le fichier : cliquez ici
Pages Web
Site Web | Description |
---|---|
Blog.thesysadmins.co.uk | Active Directory User Logon Time and Date |
Article(s) suivant(s)