При расследовании различных инцидентов администратору необходимо получить информацию кто и когда заходил на определенный компьютер Windows. Историю входов пользователя в доменной сети можно получить из журналов контроллеров домена. Но иногда проще получить информацию непосредсвенно из логов компьютера. В этой статье мы покажем, как получить и проанализировать историю входа пользователей на компьютер/сервер Windows. Такая статистика поможет вам ответить на вопрос “Как в Windows проверить кто и когда использовал этот компьютере”.
Содержание:
- Настройка политики аудита входа пользователей в Windows
- Поиск событий входа пользователей в журнале событий Windows
- Анализ событий входа пользователей в Windows с помощью PowerShell
Настройка политики аудита входа пользователей в Windows
Сначала нужно включить политик аудита входа пользователей. На отдельностоящем компьютере для настройки параметров локальной групповой политики используется оснастка gpedit.msc. Если вы хотите включить политику для компьютеров в домене Active Directorty, нужно использовать редактор доменных GPO (
gpmc.msc
).
- Запустите консоль GPMC, создайте новую GPO и назначьте ее на Organizational Units (OU) с компьютерами и / или серверами, для которых вы хотите включить политику аудита событий входа;
- Откройте объект GPO и перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings –> Advanced Audit Policy Configuration -> Audit Policies -> Logon/Logoff;
- Включите две политики аудита Audit Logon и Audit Logoff. Это позволит отслеживать как события входа, так и события выхода пользователей. Если вы хотите отслеживать только успешные события входа, включите в настройках политик только опцию Success;
- Закройте редактор GPO и обновите настройки политик на клиентах.
Поиск событий входа пользователей в журнале событий Windows
После того как вы включили политики аудита входа, при каждом входе пользователя в Windows в журнале Event Viewer будет появляться запись о входе. Посмотрим, как она выглядит.
- Откройте оснастку Event Viewer (
eventvwr.msc
); - Разверните секцию Windows Logs и выберите журнал Security;
- Щелкните по нему правой клавишей и выберите пункт Filter Current Log;
- В поле укажите ID события 4624 и нажмите OK;
- В окне события останутся только события входа пользователей, системных служб с описанием
An account was successfully logged on
; - В описании события указано имя и домен пользователя, вошедшего в систему:
New Logon: Security ID: WINITPROa.khramov Account Name: a.khramov Account Domain: WINITPRO
Ниже перечислены другие полезные 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
Если нужно выбрать события входа за последние несколько дней, можно добавить 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}
Здравствуйте, уважаемое сообщество!
ИТ-инфраструктура всегда находится в динамике. Тысячи изменений происходят ежеминутно. Многие из них требуется регистрировать. Аудит систем является неотъемлемой частью информационной безопасности организаций. Контроль изменений позволяет предотвратить серьезные происшествия в дальнейшем.
В статье я хочу рассказать о своем опыте отслеживания событий входа (и выхода) пользователей на серверах организации, подробно описать те детали, которые возникли в ходе выполнения задачи анализа логов аудита, а также привести решение этой задачи по шагам.
Цели, которые мы преследуем:
- Контроль ежедневных подключений пользователей к серверам организации, в том числе терминальным.
- Регистрация события, как от доменных пользователей, так и от локальных.
- Мониторинг рабочей активности пользователя (приход/уход).
- Контроль подключений ИТ-подразделений к серверам ИБ.
Для начала необходимо включить аудит и записывать события входа в журнал Windows. В качестве контроллера домена нам предоставлен Windows Server 2008 R2. Включив аудит, потребуется извлекать, фильтровать и анализировать события, определенные политикой аудита. Кроме того, предполагается отправка в третью систему на анализ, например, в DLP. В качестве альтернативы предусмотрим возможность формирования отчета в Excel.
Анализ логов является рутинной операцией системного администратора. В данном случае объёмы фиксируемых событий в домене таковы, что это само по себе сложно. Аудит включается в групповой политике.
События входа в систему формируются:
1. контроллерами домена, в процессе проверки учетных записей домена;
2. локальными компьютерами при работе с локальными учетными записями.
Если включены обе категории политик (учетных записей и аудита), то входы в систему, использующие учетную запись домена, будут формировать события входа или выхода на рабочей станции или сервере и событие входа в систему на контроллере домена. Таким образом, аудит на доменные машины потребуется настроить через оснастку GPO на контроллере, аудит локальный — через локальную политику безопасности с помощью оснастки MMC.
Настройка аудита и подготовка инфраструктуры:
Рассмотрим этот этап подробно. Для уменьшения объемов информации мы смотрим только успешные события входа и выхода. Имеет смысл увеличить размер журнала security Windows. По умолчанию — это 128 Мегабайт.
Для настройки локальной политики:
Открываем редактор политик – Пуск, в строке поиска пишем gpedit.msc и нажимаем Ввод.
Открываем следующий путь: Local Computer Policy → Computer Configuration → Windows Settings → Security Settings → Local Policies → Audit Policy.
Дважды кликаем параметр групповой политики Audit logon events (аудит входа в систему) и Audit account logon events (аудит событий входа в систему). В окне свойств устанавливаем Success-чекбокс для записи в журнал успешных входов в систему. Чекбокс Failure устанавливать не рекомендую во избежание переполнения. Для применения политики необходимо набрать в консоли gpupdate /force
Для настройки групповой политики:
Создаем новый объект GPO (групповую политику) с именем «Audit AD». Переходим в раздел редактирования и разворачиваем ветку Computer Configuration → Policies → Windows Settings → Security Settings → Advanced Audit Configuration. В данной ветке групповых политик находятся расширенные политики аудита, которые можно активировать в ОС семейства Windows для отслеживания различных событий. В Windows 7 и Windows Server 2008 R2 количество событий, для которых можно осуществлять аудит увеличено до 53. Эти 53 политики аудита (т.н. гранулярные политики аудита) находятся в ветке Security SettingsAdvanced Audit Policy
Configuration и сгруппированы в десяти категориях:
Включаем:
- Account Logon – аудит проверки учетных данных, службы проверки подлинности Kerberos, операций с билетами Kerberos и других события входа;
- Logon/Logoff – аудит интерактивных и сетевых попыток входа на компьютеры и сервера домена, а также блокировок учетных записей.
После изменений выполняем gpupdate /force.
Сразу оговорим типы событий, которые будет анализировать наш будущий скрипт:
- Remote access — удаленный вход через RDP-сессию.
- Interactive — локальный вход пользователя с консоли.
- Computer unlocked — разблокировка заблокированной станции.
- Logoff — выход из системы.
В Windows 2008 событие успешного входа имеет идентификатор Event ID 4624, а logoff — Event ID 4672. Необходимо выбрать инструмент, позволяющий проанализировать огромное количество записей. Казалось бы, все можно написать, используя штатные инструменты. Однако, запросы на Powershell вида
get-eventlog security | where {$_.EventId -eq 4624 -and ($_.TimeGenerated.TimeOfDay
-gt '08:00:00' )}
хорошо себя показывают только на стенде с контроллером домена на два пользователя. В продакшене средах сбор логов с сервера занимал по 20 минут. Поиски решения привели к утилите LOG PARSER , ранее обзорно рассмотренной на Хабре.
Скорость обработки данных возросла в разы, полный прогон с формированием отчета с одного ПК сократился до 10 секунд. Утилита использует немало опций командной строки, поэтому мы будем вызывать cmd из powershell, чтобы избавиться от экранирования кучи специальных символов. Для написания запросов можно воспользоваться GUI — Log Parser Lizard. Он не бесплатен, но триального периода в 65 дней хватает. Ниже привожу сам запрос. Помимо интересующих нас, распишем и другие варианты входа в систему, на случай дальнейшего использования.
SELECT
eventid,
timegenerated,
extract_token(Strings, 5, '|' ) as LogonName,
extract_token(Strings, 18, '|' ) as LogonIP,
case extract_token(Strings, 8, '|' )
WHEN '2' THEN 'interactive'
WHEN '3' THEN 'network'
WHEN '4' THEN 'batch'
WHEN '5' THEN 'service'
WHEN '7' THEN 'unlocked workstation'
WHEN '8' THEN 'network logon using a cleartext password'
WHEN '9' THEN 'impersonated logons'
WHEN '10' THEN 'remote access'
ELSE extract_token(Strings, 8, '|' )
end as LogonType,
case extract_token(Strings, 1, '|' )
WHEN 'SERVER$' THEN 'logon'
ELSE extract_token(Strings, 1, '|' )
end as Type
INTO \127.0.0.1c$AUDITnewreport(127.0.0.1).csv
FROM \127.0.0.1Security
WHERE
(EventID IN (4624) AND extract_token(Strings, 8, '|' ) LIKE '10') OR (EventID IN (4624) AND extract_token(Strings, 8, '|' ) LIKE '2') OR (EventID IN (4624) AND extract_token(Strings, 8, '|' ) LIKE '7') OR EventID IN (4647) AND
TO_DATE( TimeGenerated ) = TO_LOCALTIME( SYSTEM_DATE() )
ORDER BY Timegenerated DESC
Далее привожу общее описание логики:
- Вручную формируем список хостов с настроенным локально аудитом, либо указываем контроллер домена, с которого забираем логи.
- Скрипт обходит список имен хостов в цикле, подключается к каждому из них, запускает службу Remote registry и, с помощью парсера, выполняет SQL-запрос audit.sql для сбора логов безопасности системы. Запрос модифицируется для каждого нового хоста с помощью примитивного регулярного выражения при каждой итерации. Полученные данные сохраняются в csv-файлах.
- Из файлов CSV формируется отчет в файле Excel (для красоты и удобства поиска) и тело письма в формате HTML.
- Создается почтовое сообщение отдельно по каждому файлу отчета и отправляется в третью систему.
Готовим площадку для теста скрипта:
Для корректной работы скрипта необходимо выполнение следующих условий:
Создаем каталог на сервере/рабочей станции, с которой выполняется скрипт. Размещаем файлы скрипта в каталог С:audit. Список хостов и скрипт лежат в одном каталоге.
Устанавливаем дополнительное ПО на сервер MS Log Parser 2.2 и Windows powershell 3.0 в составе management framework. Проверить версию Powershell можно, набрав $Host.version в консоли PS.
Заполняем список интересующих нас серверов list.txt для аудита в каталоге С:audit по именам рабочих станций. Настраиваем политику Аудита. Убеждаемся, что она работает.
Проверяем, запущена ли служба удаленного реестра (скрипт делает попытку запуска и перевода службы в автоматический режим при наличии соответствующих прав). На серверах 2008/2012 эта служба запущена по умолчанию.
Проверяем наличие прав администратора для подключения к системе и сбора логов.
Проверяем возможность запуска неподписанных скриптов powershell на удаленной машине (подписать скрипт или обойти/отключить restriction policy).
Внимание на параметры запуска неподписанных скриптов — execution policy на сервере:
Обойти запрет можно подписав скрипт, либо отключить саму политику при запуске. Например:
powershell.exe -executionpolicy bypass -file С:auditnewrun_v5.ps1
Привожу весь листинг скрипта:
Get-ChildItem -Filter report*|Remove-Item -Force
$date= get-date -uformat %Y-%m-%d
cd 'C:Program Files (x86)Log Parser 2.2'
$datadir="C:AUDITnew"
$datafile=$datadir+"audit.sql"
$list=gc $datadir"list.txt"
$data=gc $datafile
$command="LogParser.exe -i:EVT -o:CSV file:\127.0.0.1c$auditnewaudit.sql"
$MLdir= [System.IO.Path]::GetDirectoryName($datadir)
function send_email {
$mailmessage = New-Object system.net.mail.mailmessage
$mailmessage.from = ($emailfrom)
$mailmessage.To.add($emailto)
$mailmessage.Subject = $emailsubject
$mailmessage.Body = $emailbody
$attachment = New-Object System.Net.Mail.Attachment($emailattachment, 'text/plain')
$mailmessage.Attachments.Add($attachment)
#$SMTPClient.EnableSsl = $true
$mailmessage.IsBodyHTML = $true
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25)
#$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("$SMTPAuthUsername", "$SMTPAuthPassword")
$SMTPClient.Send($mailmessage)
}
foreach ($SERVER in $list) {
Get-Service -Name RemoteRegistry -ComputerName $SERVER | set-service -startuptype auto
Get-Service -Name RemoteRegistry -ComputerName $SERVER | Start-service
$pattern="FROM"+" "+"\$SERVER"+"Security"
$pattern2="report"+"("+$SERVER+")"+"."+"csv"
$data -replace "FROMs+\\.+", "$pattern" -replace "report.+", "$pattern2"|set-content $datafile
<# #IF WE USE IP LIST
$data -replace "FROMs+\\([0-9]{1,3}[.]){3}[0-9]{1,3}", "$pattern" -replace "report.+", "$pattern2"|set-content $datafile
#>
cmd /c $command
}
cd $datadir
foreach ($file in Get-ChildItem $datadir -Filter report*) {
#creating excel doc#
$excel = new-object -comobject excel.application
$excel.visible = $false
$workbook = $excel.workbooks.add()
$workbook.workSheets.item(3).delete()
$workbook.WorkSheets.item(2).delete()
$workbook.WorkSheets.item(1).Name = "Audit"
$sheet = $workbook.WorkSheets.Item("Audit")
$x = 2
$colorIndex = "microsoft.office.interop.excel.xlColorIndex" -as [type]
$borderWeight = "microsoft.office.interop.excel.xlBorderWeight" -as [type]
$chartType = "microsoft.office.interop.excel.xlChartType" -as [type]
For($b = 1 ; $b -le 5 ; $b++)
{
$sheet.cells.item(1,$b).font.bold = $true
$sheet.cells.item(1,$b).borders.ColorIndex = $colorIndex::xlColorIndexAutomatic
$sheet.cells.item(1,$b).borders.weight = $borderWeight::xlMedium
}
$sheet.cells.item(1,1) = "EventID"
$sheet.cells.item(1,2) = "TimeGenerated"
$sheet.cells.item(1,3) = "LogonName"
$sheet.cells.item(1,4) = "LogonIP"
$sheet.cells.item(1,5) = "LogonType"
$sheet.cells.item(1,6) = "Type"
Foreach ($row in $data=Import-Csv $file -Delimiter ',' -Header EventID, TimeGenerated, LogonName, LogonIP, LogonType, Tipe)
{
$sheet.cells.item($x,1) = $row.EventID
$sheet.cells.item($x,2) = $row.TimeGenerated
$sheet.cells.item($x,3) = $row.LogonName
$sheet.cells.item($x,4) = $row.LogonIP
$sheet.cells.item($x,5) = $row.LogonType
$sheet.cells.item($x,6) = $row.Tipe
$x++
}
$range = $sheet.usedRange
$range.EntireColumn.AutoFit() | Out-Null
$Excel.ActiveWorkbook.SaveAs($MLdir +''+'Audit'+ $file.basename.trim("report")+ $date +'.xlsx')
if($workbook -ne $null)
{
$sheet = $null
$range = $null
$workbook.Close($false)
}
if($excel -ne $null)
{
$excel.Quit()
$excel = $null
[GC]::Collect()
[GC]::WaitForPendingFinalizers()
}
$emailbody= import-csv $file|ConvertTo-Html
$EmailFrom = "audit@vda.vdg.aero"
$EmailTo = foreach ($a in (Import-Csv -Path $file).logonname){$a+"@"+"tst.com"}
$EmailSubject = "LOGON"
$SMTPServer = "10.60.34.131"
#$SMTPAuthUsername = "username"
#$SMTPAuthPassword = "password"
$emailattachment = "$datadir"+"$file" #$$filexls
send_email
}
Для полноценных отчетов в Excel устанавливаем Excel на станцию/сервер, с которой работает скрипт.
Добавляем скрипт в планировщик Windows на ежедневное выполнение. Оптимальное время —конец дня — поиск событий проводится за последние сутки.
Поиск событий возможен, начиная с систем Windows 7, Windows server 2008.
Более ранние Windows имеют другие коды событий (значение кода меньше на 4096).
Примечания и заключение:
Еще раз подытожим выполненные действия:
- Настроили локальные и доменные политики аудита на нужных серверах и собрали список серверов.
- Выбрали машину для выполнения скрипта, установили нужный софт (PS 3.0, LOG PARSER, Excel).
- Написали запрос для LOG PARSER.
- Написали скрипт, запускающий этот запрос в цикле для списка,.
- Написали оставшуюся часть скрипта, обрабатывающую полученные результаты.
- Настроили планировщик для ежедневного запуска.
Сгенерированные ранее отчеты лежат в каталоге до следующего выполнения скрипта. Список пользователей, выполнивших подключение, автоматически добавляется в получатели письма. Cделано это для корректной обработки при отправке отчета в систему анализа. В целом, благодаря LOG PARSER, получилось достаточно мощное, и, возможно, единственное средство автоматизации этой задачи. Удивительно, что такая полезная утилита с обширными возможностями не широко распространена. В минусы утилиты можно отнести слабую документацию. Запросы выполняются методом проб и ошибок. Желаю удачных экспериментов!
Вы никогда не задумывались о том, что если вы можете отслеживать деятельность залогиневшегося пользователя ОС Windows, то Вы так же можете и записывать информацию том, кто вошел в систему и, когда они из неё вышел? Это вполне возможно, если в системе Windows использовать функцию аудита входа. Отслеживание входа и выход пользователя очень полезно в организациях, где данные являются конфиденциальными и в ситуациях, когда Вы просто хотите узнать «кто это сделал» в вашей системе Windows. По умолчанию, функция аудита входа отключена в Windows. В этой статье, давайте посмотрим, как включить аудит авторизации и как отслеживания эти события в системе Windows.
Примечание: Аудит входа доступен только в Pro или Enterprise версий Windows 8.
Что такое Аудит входа
Аудит входа в систему — это встроенный параметр Windows, который можно найти в «Редакторе групповой локальной политики», который позволяет администратором Windows вести журнал и аудит каждого пользовательского входи и выхода на локальном компьютере или в сети. Также эта функция способна отслеживать любые неудачные попытки входа в систему. Это особенно полезно при определении и анализе любых несанкционированных подключений к Вашей машине Windows.
Включение аудита входа
Чтобы включить аудит входа в систему, мы должны настроить параметры групповой политики Windows. Нажмите сочетание клавиш “’Win + R”, введите gpedit.msc в диалоговом окне «Выполнить» и нажмите кнопку «ОК», чтобы открыть окно «Редактор локальной групповой политики».
После того, как редактор будет запущен, Перейдите в области навигации по следующему пути:
«Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Политика аудита»
В открывшемся списке найдите и дважды кликните мышкой на политику «Аудит входа в систему». Пожалуйста, не путайте «Аудит входа в систему» с «Аудит событий входа в систему», так как это совершенно разных параметры.
После того, как откроется окно, выберите оба флажки «Успех» и «Отказ»’. Теперь нажмите на кнопку «Применить» и кнопку «ОК», чтобы сохранить изменения.
Вот и все, что нужно сделать. С этого момента, каждый вход и выход, а также попытки входа будут записываться в журнале событий.
Просмотр событий аудита входа в систему
Вы можете просмотреть все записи журнала входа, выхода и неудачных попыток входа в систему, в окне просмотра событий Windows. Вы можете запустить программу просмотра событий с помощью функции поиска в меню «Пуск». Если вы используете Windows 8, то Вы можете запустить то же самое окно с помощью меню сочетания клавиш «Win + X» и выбрав из меню пункт «Просмотр событий».
После того как вы запустите окно «Просмотра событий», перейдите к разделу «Журналы Windows», и выберете журнал «Безопасность».
Здесь Вы найдете все, что связанно с событиями безопасности, которые произошли в Вашей системе Windows. Если Вы дважды щелкните по ключевому слову «Аудит успеха», то Вы узнаете детальную информацию по данному событию.
Так же Вы можете фильтровать журнал событий с помощью различных параметров, нажав на кнопку «Фильтр текущего журнала…», расположенную на правой боковой панели окна «Просмотр событий».
Вот и все, что нужно сделать для того, чтобы просто отслеживать регистрацию пользователей в системе Windows.
Надеюсь, что статья была Вам интересна. Оставляйте комментарии, подписывайтесь на наши новости и оставайтесь с нами.
title | description | ms.assetid | ms.reviewer | ms.author | ms.prod | ms.mktglfcycl | ms.sitesec | ms.pagetype | ms.localizationpriority | author | manager | audience | ms.collection | ms.topic | ms.date | ms.technology |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Audit logon events (Windows 10) |
Determines whether to audit each instance of a user logging on to or logging off from a device. |
78B5AFCB-0BBD-4C38-9FE9-6B4571B94A35 |
vinpa |
windows-client |
deploy |
library |
security |
none |
vinaypamnani-msft |
aaroncz |
ITPro |
highpri |
conceptual |
09/06/2021 |
itpro-security |
Determines whether to audit each instance of a user logging on to or logging off from a device.
Account logon events are generated on domain controllers for domain account activity and on local devices for local account activity. If both account logon and logon audit policy categories are enabled, logons that use a domain account generate a logon or logoff event on the workstation or server, and they generate an account logon event on the domain controller. Additionally, interactive logons to a member server or workstation that use a domain account generate a logon event on the domain controller as the logon scripts and policies are retrieved when a user logs on. For more info about account logon events, see Audit account logon events.
If you define this policy setting, you can specify whether to audit successes, audit failures, or not audit the event type at all. Success audits generate an audit entry when a logon attempt succeeds. Failure audits generate an audit entry when a logon attempt fails.
To set this value to No auditing, in the Properties dialog box for this policy setting, select the Define these policy settings check box and clear the Success and Failure check boxes.
For information about advanced security policy settings for logon events, see the Logon/logoff section in Advanced security audit policy settings.
Configure this audit setting
You can configure this security setting by opening the appropriate policy under Computer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesAudit Policy.
Logon events | Description |
---|---|
4624 | A user successfully logged on to a computer. For information about the type of logon, see the Logon Types table below. |
4625 | Logon failure. A logon attempt was made with an unknown user name or a known user name with a bad password. |
4634 | The logoff process was completed for a user. |
4647 | A user initiated the logoff process. |
4648 | A user successfully logged on to a computer using explicit credentials while already logged on as a different user. |
4779 | A user disconnected a terminal server session without logging off. |
When event 4624 (Legacy Windows Event ID 528) is logged, a logon type is also listed in the event log. The following table describes each logon type.
Logon type | Logon title | Description |
---|---|---|
2 | Interactive | A user logged on to this computer. |
3 | Network | A user or computer logged on to this computer from the network. |
4 | Batch | Batch logon type is used by batch servers, where processes may be executing on behalf of a user without their direct intervention. |
5 | Service | A service was started by the Service Control Manager. |
7 | Unlock | This workstation was unlocked. |
8 | NetworkCleartext | A user logged on to this computer from the network. The user’s password was passed to the authentication package in its unhashed form. The built-in authentication packages all hash credentials before sending them across the network. The credentials do not traverse the network in plaintext (also called cleartext). |
9 | NewCredentials | A caller cloned its current token and specified new credentials for outbound connections. The new logon session has the same local identity, but uses different credentials for other network connections. |
10 | RemoteInteractive | A user logged on to this computer remotely using Terminal Services or Remote Desktop. |
11 | CachedInteractive | A user logged on to this computer with network credentials that were stored locally on the computer. The domain controller was not contacted to verify the credentials. |
Related topics
- Basic security audit policy settings
title | description | ms.assetid | ms.reviewer | ms.author | ms.prod | ms.mktglfcycl | ms.sitesec | ms.pagetype | ms.localizationpriority | author | manager | audience | ms.collection | ms.topic | ms.date | ms.technology |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Audit logon events (Windows 10) |
Determines whether to audit each instance of a user logging on to or logging off from a device. |
78B5AFCB-0BBD-4C38-9FE9-6B4571B94A35 |
vinpa |
windows-client |
deploy |
library |
security |
none |
vinaypamnani-msft |
aaroncz |
ITPro |
highpri |
conceptual |
09/06/2021 |
itpro-security |
Determines whether to audit each instance of a user logging on to or logging off from a device.
Account logon events are generated on domain controllers for domain account activity and on local devices for local account activity. If both account logon and logon audit policy categories are enabled, logons that use a domain account generate a logon or logoff event on the workstation or server, and they generate an account logon event on the domain controller. Additionally, interactive logons to a member server or workstation that use a domain account generate a logon event on the domain controller as the logon scripts and policies are retrieved when a user logs on. For more info about account logon events, see Audit account logon events.
If you define this policy setting, you can specify whether to audit successes, audit failures, or not audit the event type at all. Success audits generate an audit entry when a logon attempt succeeds. Failure audits generate an audit entry when a logon attempt fails.
To set this value to No auditing, in the Properties dialog box for this policy setting, select the Define these policy settings check box and clear the Success and Failure check boxes.
For information about advanced security policy settings for logon events, see the Logon/logoff section in Advanced security audit policy settings.
Configure this audit setting
You can configure this security setting by opening the appropriate policy under Computer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesAudit Policy.
Logon events | Description |
---|---|
4624 | A user successfully logged on to a computer. For information about the type of logon, see the Logon Types table below. |
4625 | Logon failure. A logon attempt was made with an unknown user name or a known user name with a bad password. |
4634 | The logoff process was completed for a user. |
4647 | A user initiated the logoff process. |
4648 | A user successfully logged on to a computer using explicit credentials while already logged on as a different user. |
4779 | A user disconnected a terminal server session without logging off. |
When event 4624 (Legacy Windows Event ID 528) is logged, a logon type is also listed in the event log. The following table describes each logon type.
Logon type | Logon title | Description |
---|---|---|
2 | Interactive | A user logged on to this computer. |
3 | Network | A user or computer logged on to this computer from the network. |
4 | Batch | Batch logon type is used by batch servers, where processes may be executing on behalf of a user without their direct intervention. |
5 | Service | A service was started by the Service Control Manager. |
7 | Unlock | This workstation was unlocked. |
8 | NetworkCleartext | A user logged on to this computer from the network. The user’s password was passed to the authentication package in its unhashed form. The built-in authentication packages all hash credentials before sending them across the network. The credentials do not traverse the network in plaintext (also called cleartext). |
9 | NewCredentials | A caller cloned its current token and specified new credentials for outbound connections. The new logon session has the same local identity, but uses different credentials for other network connections. |
10 | RemoteInteractive | A user logged on to this computer remotely using Terminal Services or Remote Desktop. |
11 | CachedInteractive | A user logged on to this computer with network credentials that were stored locally on the computer. The domain controller was not contacted to verify the credentials. |
Related topics
- Basic security audit policy settings
Случалось у вас так, что вы видите что за вашим компьютером кто-то работал, а вы не знаете когда и кто? Для того, чтоб система записывала в журнал событий информцию о том, кто входит в систему, нужно настроить групповые политики, а именно включить параметры аудита системы, относящиеся к событиям входа в систему (Audit logon events). События входа в систему отслеживают события как локального, так и сетевого входа в систему. Каждое событие содержит информацию об учетной записи, с помощью которой произведен вход в систему, а также время, когда это событие произошло. Помимо событий входа в систему, можно настроить аудит событий выхода из системы.
- Включаем аудит входов в систему
- Просмотр событий входа в систему
Открываем редактор групповых политик — Пуск — в строке поиска пишем gpedit.msc и нажимаем Ввод. Если вывляетесь администратором контроллера домена, можно нстроить данную групповую политику на контроллере домена.
Открываем следующий путь: Local Computer Policy –> Computer Configuration –> Windows Settings –> Security Settings –> Local Policies –> Audit Policy.
Дабл кликаем параметр групповой политики Audit logon events. В окне свойств устанавливаем Success чекбокс для записи в журнал успешных входов в систему. Также можно установить чекбокс Failure для журналирования неудачных попыток входа в систему.
После включения данного параметра групповой политики, Windows будет записывать в журнал событий информацию об учетной записи с помощью которой произведен вход в систему, а также время, когда это событие произошло.
Для просмотра данных событий открываем Оснастку Просмотр событий — нажимаем меню Пуск — пишем Просмотр событий (Event Viewer) и нажимаем Ввод
Открываем путь Windows Logs –> Security.
Смотрим события:
- ID 4624 – это события успехов входа в систему.
- ID 4625 – это события отказов входа в систему.
Для того чтоб посмотреть полнюу информацию — даблкликайте интнресующее вас событие, и в открывшемся диалоговом окне смотрите детальную информацию.
Если у вас в журнале записано много событий, среди которых сложно отделить события с ID 4624 или 4625, можно воспользоваться фильтром. Для этого в правой части окна нажимаем кнопку Фильтр текущего журнала…
В открывшемся окне настроек фильтра, введите интересующий вас ID:
Как видно элементов в журнале существенно поубавилось:
На этом все. Если есть вопросы, уточнения, замечания — пишите.
В качестве дополения к данному материалу можно сказать, что помимо просмотра пост фактум журнала событий, в системе Windows 7 можно организовать отправку уведомлений по электронной почте, в случае ,если к вам в систему кто-то входит.
- Содержание статьи
- Включаем аудит входа в систему
- Комментарии к статье ( 2 шт )
- Добавить комментарий
Как это бы странно не было, но по умолчанию в журнал событий Windows не пишется никакая информация по поводу авторизации пользователей, как локально, так и удаленно. Для компьютеров, которые видимы из интернета и имеют открытый доступ через удаленный рабочий стол (RDP) это особенно неприятно. Ниже инструкция как сделать так, чтобы в журнал событий записывались все попытки залогиниться на компьютере.
Включаем аудит входа в систему
- Открываем Панель управления — Администрирование — Локальная политика безопасности.
- В открывшейся консоли управления локальной политикой безопасности раскрываем пункт «Локальные политики» и в нем переходим в пункт «Политика аудита«.
- Открываем «Аудит входа в систему«. Отмечаем галочкой пункт «Отказ» для записи всех неудачных попыток входа. Можно еще отметить пункт «Успех«, для записи всех успешных попыток логина.
- Теперь если открыть «Просмотр событий«, что находится в Панели управления — Администрировании, то там в пункте «Журналы Windows» — «Безопасность» можно будет увидеть события связанные с удачными или неудачными попытками залогиниться на компьютер.
Была ли эта статья Вам полезна?
- Remove From My Forums
-
Вопрос
-
Добрый день.
Прошу сразу не пинать, но нужна Ваша помощь.
Необходимо что- бы на контроллере домена регистрировались все событий (успех/отказ) входа/выхода учетных записей пользователей на компьютерах домена. Но что-бы события регистрировались в одном месте — т.е на контроллерах
домена.Подскажите пожалуйста какие именно параметры GPO и для каких элементов необходимо задать?
-
Изменено
16 августа 2017 г. 10:20
-
Изменено
Ответы
-
Тип входа фиксируется только на том компьютере, на который осуществляется вход (если на нём включен аудит входа в систему).
А в категории «Аудит событий входа в систему» события вообще другие.
Успешному первичному входу на компьютер, если используется Kerberos (как обычно бывает при входе на компьютер-член домена), соответствует событие 4768 (запрос TGT) из подкатегории Kerberos Authentication Service. Остальные события
в этой категории фиксируют различные причины неудачных попыток первичного входа и обращения к другим серверам. Запросы успешного доступа к серверам идут в подкатегории Service Ticket OperationsЕсли для аутентификации был использован NTLM (что соответствует подкатегории Credential Validation), то там отследить первичный вход сложнее, т.к. специального события нет — для любой аутентификации используется событие 4776. Да и «первичного
входа» вообще может не быть — если доступ осуществляется к доменному ресурсу извне домена.
Слава России!
-
Помечено в качестве ответа
Vector BCO
22 сентября 2017 г. 7:01
-
Помечено в качестве ответа