Событие авторизации пользователя windows

При расследовании различных инцидентов администратору необходимо получить информацию кто и когда заходил на определенный компьютер Windows. Историю входов пользователя в доменной сети можно получить из журналов контроллеров домена. Но иногда проще получить информацию непосредсвенно из логов компьютера. В этой статье мы покажем, как получить и проанализировать историю входа пользователей на компьютер/сервер Windows. Такая статистика поможет вам ответить на вопрос “Как в Windows проверить кто и когда использовал этот компьютере”.

Содержание:

  • Настройка политики аудита входа пользователей в Windows
  • Поиск событий входа пользователей в журнале событий Windows
  • Анализ событий входа пользователей в Windows с помощью PowerShell

Настройка политики аудита входа пользователей в Windows

Сначала нужно включить политик аудита входа пользователей. На отдельностоящем компьютере для настройки параметров локальной групповой политики используется оснастка gpedit.msc. Если вы хотите включить политику для компьютеров в домене Active Directorty, нужно использовать редактор доменных GPO (
gpmc.msc
).

  1. Запустите консоль GPMC, создайте новую GPO и назначьте ее на Organizational Units (OU) с компьютерами и / или серверами, для которых вы хотите включить политику аудита событий входа;
  2. Откройте объект GPO и перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings –> Advanced Audit Policy Configuration -> Audit Policies -> Logon/Logoff;
  3. Включите две политики аудита Audit Logon и Audit Logoff. Это позволит отслеживать как события входа, так и события выхода пользователей. Если вы хотите отслеживать только успешные события входа, включите в настройках политик только опцию Success;
    груповая политика - аудит событий входа на компьютеры windows

  4. Закройте редактор GPO и обновите настройки политик на клиентах.

Поиск событий входа пользователей в журнале событий Windows

После того как вы включили политики аудита входа, при каждом входе пользователя в Windows в журнале Event Viewer будет появляться запись о входе. Посмотрим, как она выглядит.

  1. Откройте оснастку Event Viewer (
    eventvwr.msc
    );
  2. Разверните секцию Windows Logs и выберите журнал Security;
  3. Щелкните по нему правой клавишей и выберите пункт Filter Current Log;
  4. В поле укажите ID события 4624 и нажмите OK;
    фильтр событий event viewer

  5. В окне события останутся только события входа пользователей, системных служб с описанием
    An account was successfully logged on
    ;
  6. В описании события указано имя и домен пользователя, вошедшего в систему:
    New Logon:
    Security ID: WINITPRO\a.khramov
    Account Name: a.khramov
    Account Domain: WINITPRO

событие eventid 4626 - локальный вход пользователя в windows

Ниже перечислены другие полезные EventID:

Event ID Описание
4624 A successful account logon event
4625 An account failed to log on
4648 A logon was attempted using explicit credentials
4634 An account was logged off
4647 User initiated logoff

Если полистать журнал событий, можно заметить, что в нем присутствуют не только события входа пользователей на компьютер. Здесь также будут события сетевого доступа к этому компьютеру (при открытии по сети общих файлов или печати на сетевых принтерах), запуске различных служб и заданий планировщика и т.д. Т.е. очень много лишний событий, которые не относятся ко входу локального пользователя. Чтобы выбрать только события интерактивного входа пользователя на консоль компьютера, нужно дополнительно сделать выборку по значению параметра Logon Type. В таблице ниже перечислены коды Logon Type.

Код Logon Type Описание
0 System
2 Interactive
3 Network
4 Batch
5 Service
6 Proxy
7 Unlock
8 NetworkCleartext
9 NewCredentials
10 RemoteInteractive
11 CachedInteractive
12 CachedRemoteInteractive
13 CachedUnlock

При удаленном подключении к рабочему столу компьютера по RDP, в журнале событий появится записи с Logon Type 10 или 3. Подробнее об анализе RDP логов в Windows.

В соответствии с этой таблицей событие локального входа пользователя на компьютер должно содержать Logon Type: 2.

Для фильтрации события входа по содержать Logon Type лучше использовать PowerShell.

Анализ событий входа пользователей в Windows с помощью PowerShell

Допустим, наша задача получить информацию о том, какие пользователи входили на этот компьютер за последнее время. Нам интересует именно события интерактивного входа (через консоль) с
LogonType =2
. Для выбора события из журналов Event Viewer мы воспользуемся командлетом Get-WinEvent.

Следующий PowerShell скрипт выведет история входа пользователей на текущий компьютер и представит ее в виде графической таблицы Out-GridView.

$query = @'
<QueryList>
<Query Id='0' Path='Security'>
<Select Path='Security'>
*[System[EventID='4624']
and(
EventData[Data[@Name='VirtualAccount']='%%1843']
and
EventData[Data[@Name='LogonType']='2']
)
]
</Select>
</Query>
</QueryList>
'@
$properties = @(
@{n='User';e={$_.Properties[5].Value}},
@{n='Domain';e={$_.Properties[6].Value}},
@{n='TimeStamp';e={$_.TimeCreated}}
@{n='LogonType';e={$_.Properties[8].Value}}
)
Get-WinEvent -FilterXml $query | Select-Object $properties|Out-GridView

poweshell скрипт для получения списка пользователей, которые входили на этот компьтер

Если нужно выбрать события входа за последние несколько дней, можно добавить pipe с таким условием:

|Where-Object {$_.TimeStamp -gt '5/10/22'}

Командлет Get-WinEvent позволяет получить информацию с удаленных компьютеров. Например, чтобы получить историю входов с двух компьютеров, выполните следующий скрипт:

'msk-comp1', 'msk-comp2' |
ForEach-Object {
Get-WinEvent -ComputerName $_ -FilterXml $query | Select-Object $properties
}

Если протокол RPC закрыт между компьютерами, вы можете получить данные с удаленных компьютеров с помощью PowerShell Remoting командлета Invoke-Command:

Invoke-Command -ComputerName 'msk-comp1', 'msk-comp2' {Get-WinEvent -FilterXml $query | Select-Object $properties}

Время на прочтение4 мин

Количество просмотров309K

Рэнди Франклин Смит (CISA, SSCP, Security MVP) имеет в своем арсенале очень полезный документ, рассказывающий о том, какие события (event IDs) обязательно должны отслеживаться в рамках обеспечения информационной безопасности Windows. В этом документе изложена крайне полезная информация, которая позволит Вам “выжать” максимум из штатной системы аудита. Мы подготовили перевод этого материала. Заинтересованных приглашаем под кат.

О том, как настроить аудит, мы уже обстоятельно писали в одном из наших постов. Но из всех event id, которые встречаются в журналах событий, необходимо остановить свое внимание на нескольких критических важных. На каких именно – решать каждому. Однако Рэнди Франклин Смит предлагает сосредоточить внимание на 10 важных событиях безопасности в Windows.

Контроллеры доменов

Event ID — (Категория) — Описание

1) 675 или 4771
(Аудит событий входа в систему)
Событие 675/4771 на контроллере домена указывает на неудачную попытку войти через Kerberos на рабочей станции с доменной учетной записью. Обычно причиной этого является несоответствующий пароль, но код ошибки указывает, почему именно аутентификация была неудачной. Таблица кодов ошибок Kerberos приведена ниже.

2) 676, или Failed 672 или 4768
(Аудит событий входа в систему)
Событие 676/4768 логгируется для других типов неудачной аутентификации. Таблица кодов Kerberos приведена ниже.
ВНИМАНИЕ: В Windows 2003 Server событие отказа записывается как 672 вместо 676.

3) 681 или Failed 680 или 4776
(Аудит событий входа в систему)
Событие 681/4776 на контроллере домена указывает на неудачную попытку входа в систему через
NTLM с доменной учетной записью. Код ошибки указывает, почему именно аутентификация была неудачной.
Коды ошибок NTLM приведены ниже.
ВНИМАНИЕ: В Windows 2003 Server событие отказа записывается как 680 вместо 681.

4) 642 или 4738
(Аудит управления учетными записями)
Событие 642/4738 указывает на изменения в указанной учетной записи, такие как сброс пароля или активация деактивированной до этого учетной записи. Описание события уточняется в соответствие с типом изменения.

5) 632 или 4728; 636 или 4732; 660 или 4756
(Аудит управления учетными записями)
Все три события указывают на то, что указанный пользователь был добавлен в определенную группу. Обозначены Глобальная (Global), Локальная (Local) и Общая (Universal) соответственно для каждого ID.

6) 624 или 4720
(Аудит управления учетными записями)
Была создана новая учетная запись пользователя

7) 644 или 4740
(Аудит управления учетными записями)
Учетная запись указанного пользователя была заблокирована после нескольких попыток входа

8) 517 или 1102
(Аудит системных событий)
Указанный пользователь очистил журнал безопасности

Вход и выход из системы (Logon/Logoff)

Event Id — Описание

528 или 4624 — Успешный вход в систему
529 или 4625 — Отказ входа в систему – Неизвестное имя пользователя или неверный пароль
530 или 4625 Отказ входа в систему – Вход в систему не был осуществлен в течение обозначенного периода времени
531 или 4625 — Отказ входа в систему – Учетная запись временно деактивирована
532 или 4625 — Отказ входа в систему – Срок использования указанной учетной записи истек
533 или 4625 — Отказ входа в систему – Пользователю не разрешается осуществлять вход в систему на данном компьютере
534 или 4625 или 5461 — Отказ входа в систему – Пользователь не был разрешен запрашиваемый тип входа на данном компьютере
535 или 4625 — Отказ входа в систему – Срок действия пароля указанной учетной записи истек
539 или 4625 — Отказ входа в систему – Учетная запись заблокирована
540 или 4624 — Успешный сетевой вход в систему (Только Windows 2000, XP, 2003)

Типы входов в систему (Logon Types)

Тип входа в систему — Описание

2 — Интерактивный (вход с клавиатуры или экрана системы)
3 — Сетевой (например, подключение к общей папке на этом компьютере из любого места в сети или IIS вход — Никогда не заходил 528 на Windows Server 2000 и выше. См. событие 540)
4 — Пакет (batch) (например, запланированная задача)
5 — Служба (Запуск службы)
7 — Разблокировка (например, необслуживаемая рабочая станция с защищенным паролем скринсейвером)
8 — NetworkCleartext (Вход с полномочиями (credentials), отправленными в виде простого текст. Часто обозначает вход в IIS с “базовой аутентификацией”)
9 — NewCredentials
10 — RemoteInteractive (Терминальные службы, Удаленный рабочий стол или удаленный помощник)
11 — CachedInteractive (вход с кешированными доменными полномочиями, например, вход на рабочую станцию, которая находится не в сети)

Коды отказов Kerberos

Код ошибки — Причина

6 — Имя пользователя не существует
12 — Ограничение рабочей машины; ограничение времени входа в систему
18 — Учетная запись деактивирована, заблокирована или истек срок ее действия
23 — Истек срок действия пароля пользователя
24 — Предварительная аутентификация не удалась; обычно причиной является неверный пароль
32 — Истек срок действия заявки. Это нормальное событие, которое логгируется учетными записями компьютеров
37 — Время на рабочей машины давно не синхронизировалось со временем на контроллере домена

Коды ошибок NTLM

Код ошибки (десятичная система) — Код ошибки (16-ричная система) — Описание

3221225572 — C0000064 — Такого имени пользователя не существует
3221225578 — C000006A — Верное имя пользователя, но неверный пароль
3221226036 — C0000234 — Учетная запись пользователя заблокирована
3221225586 — C0000072 — Учетная запись деактивирована
3221225583 — C000006F — Пользователь пытается войти в систему вне обозначенного периода времени (рабочего времени)
3221225584 — C0000070 — Ограничение рабочей станции
3221225875 — C0000193 — Истек срок действия учетной записи
3221225585 — C0000071 — Истек срок действия пароля
3221226020 — C0000224 — Пользователь должен поменять пароль при следующем входе в систему

Еще раз продублируем ссылку на скачивание документа на сайте Рэнди Франклина Смита www.ultimatewindowssecurity.com/securitylog/quickref/Default.aspx. Нужно будет заполнить небольшую форму, чтобы получить к нему доступ.

P.S. Хотите полностью автоматизировать работу с журналами событий? Попробуйте новую версию NetWrix Event Log Manager 4.0, которая осуществляет сбор и архивирование журналов событий, строит отчеты и генерирует оповещения в режиме реального времени. Программа собирает данные с многочисленных компьютеров сети, предупреждает Вас о критических событиях и централизованно хранит данные обо всех событиях в сжатом формате для удобства анализа архивных данных журналов. Доступна бесплатная версия программы для 10 контроллеров доменов и 100 компьютеров.

Есть несколько различных инструментов получения информации о времени логина пользователя в домен. Время последней успешной аутентификации пользователя в домене можно получить из атрибута lastLogon (обновляется только на контроллере домена, на котором выполнена проверка учетных данных пользователя) или lastLogonTimpestamp (реплицируется между DC в домене, но по умолчанию только через 14 дней). Вы можете получить значение этого атрибута пользователя в редакторе атрибутов AD или командлетом Get-ADUser. Однако иногда нужно получить историю активности (входов) пользователя в домене за большой период времени.

Вы можете получить информацию об успешных входах (аутентфикации) пользователя в домене из журналов контроллеров домена. В этой статье мы покажем, как отслеживать историю входов пользователя в домен с помощью PowerShell.. Т.е. можно получить полную историю активности пользователя в домене, время начала работы и компьютеры, с которых работает пользователь.

Содержание:

  • Политика аудита входа пользователя в домен
  • PowerShell: истории сетевых входов пользователя в домен
  • Получаем информацию об активности пользователя в домене по событиям Kerberos

Политика аудита входа пользователя в домен

Чтобы в журналах контроллеров домена отображалась информация об успешном/неуспешном входе в систему, нужно включить политику аудита событий входа пользователей.

  1. Запустите редактор доменных GPO – GPMC.msc;
  2. Откройте настройки Default Domain Policy и перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings –> Advanced Audit Policy Configuration -> Audit Policies -> Logon/Logoff;
    Advanced Audit Policy Configuration - data-lazy-src=

  • Включите две политики аудита (Audit Logon и Audit Other Logon/Logoff Events). Чтобы в журналах Security на DC и компьютерах регистрировались как успешные, так и неуспешные политики входа, выберите в настройках политика аудита опции Success и Failure
    включить политки аудита входа в домен Audit Logon

  • Сохраните изменения в GPO и обновите настройки политик на контроллерах домена командой: gpupdate /force (или подождите 90 минут, без учета репликации между DC).
  • Теперь при входе пользователя на любой компьютер домена Active Directory в журнале контроллера домена, который выполняет аутентификацию пользователя, появляется событие с Event ID 4624 (An account was successfully logged on). В описании этого события указана учетная запись, которая успешно аутентифицировалась (Account name), имя (Workstation name) или IP адрес (Source Network Address) компьютера, с которого выполнен вход.

    Также в поле Logon Type указан тип входа в систему. Нас интересуют следующие коды

    • Logon Type 10 – Remote Interactive logon – вход через службы RDP, теневое подключение или Remote Assistance (на DC такое событие может быть при входе администратора, или другого пользователя, которому предоставлены права входа на DC) Это событие используется при анализе событий входа пользователей по RDP.
    • Logon Type 3 –  Network logon сетевой вход (происходит при аутентфикации пользователя на DC, подключения к сетевой папке, принтеру или службе IIS)

    Event ID 4624 An account was successfully logged on

    Также можно отслеживать событие выдачи билета Kerberos при аутентификации пользователя. Event ID 4768A Kerberos authentication ticket (TGT) was requested. Для этого нужно включить аудит событий в политики Account Logon –> Audit Kerberos Authentication Service -> Success и Failure.

    включить политику аудита Audit Kerberos Authentication Service

    В событии 4768 также указана учетная запись пользователя (Account Name или User ID), который получил билет Kerberos (аутентифицировался) и имя (IP адрес) компьютера.

    4768 - A Kerberos authentication ticket (TGT) was requested

    PowerShell: истории сетевых входов пользователя в домен

    С помощью командлета PowerShell Get-Eventlog можно получить все события из журнала контроллера домена, отфильтровать их по нужному коду (EventID) и вывести данные о времени, когда пользователь аутентифицировался в домене, и компьютере, с которого выполнен вход. Т.к. в домене может быть несколько контроллеров домена и нужно получить история входов пользователя с каждого из них, нужно воспользоваться командлетом Get-ADDomainController (из модуля AD для Windows PowerShell). Данный командлет позволяет получить список всех DC в домене.

    Следующий PowerShell скрипт позволяет получить все события входа пользователя в домен AD со всех контроллеров домена. На выходе вы получаете таблицу с историей входа пользователя и компьютеров, с которых аутентифицировался пользователь.

    # имя пользователя, историю входов которого нужно получить
    $checkuser='*ivanov*'
    # получаем информацию об истории входов пользователя за последних 2 дня, можете изменить
    $startDate = (get-date).AddDays(-2)
    $DCs = Get-ADDomainController -Filter *
    foreach ($DC in $DCs){
    $logonevents = Get-Eventlog -LogName Security -InstanceID 4624 -after $startDate -ComputerName $dc.HostName
    foreach ($event in $logonevents){
    if (($event.ReplacementStrings[5] -notlike '*$') -and ($event.ReplacementStrings[5] -like $checkuser)) {
    # Remote (Logon Type 10)
    if ($event.ReplacementStrings[8] -eq 10){
    write-host "Type 10: Remote Logon`tDate: "$event.TimeGenerated "`tStatus: Success`tUser: "$event.ReplacementStrings[5] "`tWorkstation: "$event.ReplacementStrings[11] "`tIP Address: "$event.ReplacementStrings[18] "`tDC Name: " $dc.Name
    }
    # Network(Logon Type 3)
    if ($event.ReplacementStrings[8] -eq 3){
    write-host "Type 3: Network Logon`tDate: "$event.TimeGenerated "`tStatus: Success`tUser: "$event.ReplacementStrings[5] "`tWorkstation: "$event.ReplacementStrings[11] "`tIP Address: "$event.ReplacementStrings[18] "`tDC Name: " $dc.Name
    }
    }
    }
    }

    poweshell - история входов пользователя в домен

    Получаем информацию об активности пользователя в домене по событиям Kerberos

    Также вы можете получить историю аутентификации пользователя в домене по по событию выдачи билета Kerberos (TGT Request — EventID 4768). В этом случае в итоговых данных будет содержаться меньшее количество событий (исключены сетевые входы, обращения к папкам на DC во время получения политик и выполнения логон-скриптов). Следующий PowerShell скрипт выведет информацию о всех входах пользователей за последние 24 часа:

    $alluserhistory = @()
    $startDate = (get-date).AddDays(-2)
    $DCs = Get-ADDomainController -Filter *
    foreach ($DC in $DCs){
    $logonevents = Get-Eventlog -LogName Security -InstanceID 4768 -after $startDate -ComputerName $dc.HostName
    foreach ($event in $logonevents){
    if ($event.ReplacementStrings[0] -notlike '*$') {
    $userhistory = New-Object PSObject -Property @{
    UserName = $event.ReplacementStrings[0]
    IPAddress = $event.ReplacementStrings[9]
    Date = $event.TimeGenerated
    DC = $dc.Name
    }
    $alluserhistory += $userhistory
    }
    }
    }
    $alluserhistory

    powershell скрипт 4768 - история аутентфикации пользователей по выдаче билетом kerberos

    Обратите, что в этом случае вы не увидите события входов пользователей, которые аутентифицировались с клиентов или приложений, которые используют NTLM вместо Kerberos.

    Native Auditing

    Netwrix Auditor for Active Directory

    Steps

    To enable Logon Auditing in Active Directory, follow the steps below.

    1. On your domain controller, run Group Policy Management Console (Press Win+R -> Type “GPMC.exe” -> Click “Run”).
    2. Create a new policy and link this new GPO to an organizational unit (OU) containing the computers where you’d like to track user activity.
    3. Go to Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > Audit Policies. Then go to each of the following:
    • System > Audit Security State Change — Set this to “Success.”
    • Audit Policies > Logon/Logoff — Set both “Audit Logon” and “Audit Logoff” to “Success” and “Failure.”
    • Audit Policies > Logon/Logoff > Audit — Set “Other Logon/Logoff Events” to “Success” and “Failure.”

    To check user login history in Active Directory using Powershell, follow these steps: 

    1. Open the PowerShell ISE as Administrator
    2. Run the following script, adjusting the timeframe:

    # Find DC list from Active Directory 
    $DCs = Get-ADDomainController -Filter * 

    # Define time for report (default is 1 day) 
    $startDate = (get-date).AddDays(-1) 

    # Store successful logon events from security logs with the specified dates and workstation/IP in an array 
    foreach ($DC in $DCs){ 
    $slogonevents = Get-Eventlog -LogName Security -ComputerName $DC.Hostname -after $startDate | where {($_.eventID -eq 4624) -or ($_.eventID -eq 4625) }}  

    # Crawl through events; print all logon history with type, date/time, status, account name, computer, and IP address if the user logged on remotely 

     foreach ($e in $slogonevents){ 
       # Logon Successful Events 
       # Local (Logon Type 2) 
       if (($e.EventID -eq 4624 ) -and ($e.ReplacementStrings[8] -eq 2)){ 
         write-host «Type: Local Logon`tDate: «$e.TimeGenerated «`tStatus: Success`tUser: «$e.ReplacementStrings[5] «`tWorkstation: «$e.ReplacementStrings[11] 
       } 
       # Remote (Logon Type 10) 
       if (($e.EventID -eq 4624 ) -and ($e.ReplacementStrings[8] -eq 10)){ 
         write-host «Type: Remote Logon`tDate: «$e.TimeGenerated «`tStatus: Success`tUser: «$e.ReplacementStrings[5] «`tWorkstation: «$e.ReplacementStrings[11] «`tIP Address: «$e.ReplacementStrings[18] 
       } 
        # Logon Failed Events 
       # Local (Logon Type 2) 
       if (($e.EventID -eq 4625 ) -and ($e.ReplacementStrings[8] -eq 2)){ 
         write-host «Type: Local Logon`tDate: «$e.TimeGenerated «`tStatus: Failed`tUser: «$e.ReplacementStrings[5] «`tWorkstation: «$e.ReplacementStrings[11] 
       } 
       # Remote (Logon Type 10) 
       if (($e.EventID -eq 4625 ) -and ($e.ReplacementStrings[8] -eq 10)){ 
         write-host «Type: Remote Logon`tDate: «$e.TimeGenerated «`tStatus: Failed`tUser: «$e.ReplacementStrings[5] «`tWorkstation: «$e.ReplacementStrings[11] «`tIP Address: «$e.ReplacementStrings[18] 
    }}  

    1. Review the results:
    How to Check Active Directory User Login History - Native Auditing

    1. Run Netwrix Auditor → Navigate to “Reports” → Open “Active Directory” → Go to “Logon Activity” → Depending on which logon events you want to review, select “Successful Logons,” «Failed Logons» or “All Logon Activity” → Click “View.”
    2. Review the report:
    How to Check Active Directory User Login History - Netwrix Auditor

    Get Active Directory User Login History with or without PowerShell Scripts

    When investigating account lockouts, suspicious access, or performing regular access management audits, one of the first things to do is review user activity. Logon events can often tell you the problem immediately and whether the user is accessing appropriate resources. For this data to be available, you must have enabled appropriate audit policies on the network computers where you want to track user activity.

    Active Directory auditing stores user logon history details in event logs on domain controllers. Therefore, the most straightforward option to get user logons is to filter out all Security events in the Windows Event Viewer and find the target user account and logon type. In Windows Server 2008 through Windows Server 2016, the event ID for a user logon event is 4624. These events contain data about the Active Directory user, time, computer and type of user logon. If you need to know the logon session time, you can tie an event to logoff event IDs 4634 and 4647 using the logon ID (a unique number between reboots that identifies the logon session).

    Another way to get this information with native tools is using PowerShell. The PowerShell script provided above lets you get a user login history report without manually crawling through the Windows logs. That script uses the main command to get the logs is Get-EventLog. However, running a PowerShell script whenever you need a user login history report can be a pain, as processing time can be substantial, even in small AD environments.

    Netwrix Auditor for Active Directory is an easier way to monitor user activity and strengthen the security of your Active Directory and AD-reliant systems. With this solution, you can get a clear and detailed Active Directory login history report for a specific user or all users with just a few clicks. You can even subscribe to this report, which will be delivered automatically by email according to your specific schedule. This security platform is not limited to user login auditing; it includes a wide range of pre-configured reports, flexible alerts, and Google-like interactive search that empower you to quickly investigate incidents and proactively enhance security across your on-premises, cloud, or hybrid IT environment. 

    IT administrators often need to know who logged on to their computers and when for security and compliance reasons. Although you can use the native auditing methods supplied through Windows to track user account logon and logoff events, you may end up having to sift through thousands of records to reach the required log. Once you’ve found the required log, getting the required information for compliance and security reports is not an easy process.

    Below are the steps to check Active Directory user login history using logon Event IDs.

    • Step 1- Enable Auditing for User Logon/Logoff Events
    • Step 2- Search Relevant Event IDs such as 4624, 4648 etc. in Event Viewer

    Step 1- Enable Auditing for User Logon/Logoff Events

    You can do this through two GPO settings:

    1. Audit Logon Events: This setting generates events for starting and ending logon sessions. These events happen on the machine where you log in.

    2. Audit Account Logon Events: This setting generates events on the computer that validates logons. When a domain controller authenticates a domain user account, events are generated and stored on that domain controller.

    Below are the steps to enable auditing of user Logon/Logoff events:

    1. Open the “Group Policy Management” console by running the “gpmc.msc” command.
    2. If you want to configure auditing for the entire domain, right-click on the domain and click “Create a GPO in this domain, and Link it here…”.
    3. Create a new GPO dialog box that appears on the screen. Enter a new GPO name.
    4. Go to the new GPO, right-click on it, and select “Edit” from the context menu.
    5. “Group Policy Management Editor” window appears on the screen.
    6. In the navigation pane, go to “Computer Configuration” ➔ “Policies” ➔ “Windows Settings” ➔ “Security Settings” ➔ “Local Policies” ➔ “Audit Policy”.
      Group Policy Management Editor

      Figure: Configuring audit logon events policy
    7. In the right pane, double-click the “Audit logon events” policy to open its properties window.
    8. Select the “Success” and “Failure” checkboxes, and click “OK”.
    9. Similarly, you have to enable “Success” and “Failure” for “Audit Account Logon Events”.
    10. Close “Group Policy Management Editor”.
    11. Now, you have to configure this new Group Policy Object (containing this audit policy) on all Active Directory objects including all users and groups. Perform the following steps.
      • In In “Group Policy Management Console”, select the new GPO (containing the above change).
      • In the “Security Filtering” section in the right panel, click “Add” to access the “Select User, Computer or Group” dialog box.
      • Type “Everyone”. Click “Check Names” to validate this entry. Click “OK” to add it and apply it to all objects.
      Applied the Group Policy Object to everyone

      Figure : Applied the Group Policy Object to everyone
    12. Close “Group Policy Management Console”.
    13. Now, run the following command to update GPO.
    14. gpupdate /force

    Don’t waste your time with Event Viewer. Track user login history easily with Lepide’s AD auditing free tool.

    By submitting the form you agree to the terms in our privacy policy.

    Step 2- Search Relevant Logon Event IDs in Windows Event Viewer

    After you have configured log on auditing, whenever users logon into network systems, the event logs will be generated and stored. To find out the details, you have to use Windows Event Viewer. Follow the below steps to view logon audit events:

    1. Go to Start ➔ Type “Event Viewer” and click enter to open the “Event Viewer” window.
    2. In the left navigation pane of “Event Viewer”, open “Security” logs in “Windows Logs”.
    3. You will have to look for the following event IDs for the purposes mentioned herein below.

    For user logon, you have to search for 4624 and 4648 logon event IDs. For failed logon, you have to search for 4625. For logoff events, you have to search for 4634 and 4647.

    In this article, we are searching for logon event IDs 4624 and 4648. The following screenshot shows Windows Event ID 4648 for the user logon attempted using explicit credentials.

    Logon event in Event Viewer

    Figure: Logon event in Event Viewer

    The following screenshot of Windows Event ID 4624 shows the session start time is displayed as Logged. In the Event Properties given below, a user, Shane, had logged in on 6/29/2023 at 12:11:30 PM.

    event 4624

    Figure: Logged event in Event Viewer

    Check User Login History with Lepide’s Free Tool for AD Auditing

    Using Lepide Change Reporter for AD, you can easily monitor AD users’ login history by tracking their logon and logoff activities in real-time. The solution collects log on information from all added domain controllers automatically. Its report contains details on logon or logoff events, including when users logged in, from which computer, and when. You get accurate and instant reports on the login details of users in the network. The following screenshot shows a successful user logon report event captured by Lepide’s free tool::

    Lepide Logon Logoff AD Report

    Figure: Successful User logon/logoff report

    Lepide Change Reporter provides following reports related to logon/logoff:

    Conclusion

    In this article, the steps to audit the user logon and logoff events through native auditing are explained. However, much noise is generated for the logon or logoff events that make it complicated for the IT administrators to have a real-time view. The easiest and more efficient way to audit the same with Lepide’s Active Directory Auditing Free Tool has also been explained.

    Track user login history easily with Lepide’s Free Tool for Active Directory Auditing

    Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии
  • Windows номера кодовых страниц
  • Откатить обновления windows 10 вручную
  • Djvu browser plug in для windows 10
  • Где находится папка со значками windows
  • Iptv player для windows 7 x64