IT STORYs

특정 사용자 로그온 로그오프 이력 확인 관련 본문

Windows Server

특정 사용자 로그온 로그오프 이력 확인 관련

295~ 2023. 6. 29. 08:03

OnPremise AD를 통하여 인증 처리된 부분을 확인하기 위해서는 사전에 조건이 필요합니다.

로그인에 대한 감사로그 옵션을 설정하셔야 하고, 사전 구성이되어 있다면 무시하셔도 될 것 같습니다.

 

로그인 감사 이벤트 부분은 GPO 생성을 일반 관리 멤버들으 위한 정책과 도메인 컨트롤러에 각각 생성하여 적용합니다.

컴퓨터 구성 > 정책 > 보안 설정 > 로컬정책 > 감사정책 > 로그온 이벤트 감사 è [성공] / [실패]를 입력합니다.

 

[도메인 정책]

 

 

[도메인 컨트롤러 정책]

 

 

 

 

다음 파워쉘을 사용하여 실행하면 지정한 곳에 csv 파일로 생성되어 분석하시면 됩니다.

$alluserhistory = @()
 
##오늘 날짜로 "숫자" 만큼의 전날
$startDate = (get-date).AddDays(-1)
$DCs = Get-ADDomainController -Filter *
foreach ($DC in $DCs){
 
### 이벤트 ID는 조건을 추가하여 넣으면 검색이 가능합니다.단독적으로 확인하고자 하는 경우는 or 조건을 제거 하면 됩니다. 표를 참고해주세요
$logonevents = Get-Eventlog -LogName Security -after $startDate -ComputerName $dc.HostName | where {($_.eventID -eq 4624) -or ($_.eventID -eq 4625) }
 
foreach ($event in $logonevents){
if ($event.ReplacementStrings[0] -notlike '*$') {
$userhistory = New-Object PSObject -Property @{
 
ID = $event.EventID 
UserName = $event.ReplacementStrings[5]
authenticate = $event.ReplacementStrings[9]
IPAddress = $event.ReplacementStrings[18]
Date = $event.TimeGenerated
DC = $dc.Name 
 
}
###지정한 위치로 csv 파일에 저장되고, ID, 사용자 이름, 인증처리, IP주소, 날짜, 도메인컨트롤러
$alluserhistory += $userhistory | Export-Csv c:\report.csv -Append -NoTypeInformation -Force -Encoding UTF8
 
}
}
}
$alluserhistory

 

 

 

로그온 감사 이벤트 ID

이벤트 ID 묘사
4624 계정이 성공적으로 로그온되었습니다.
4625 계정에 로그온하지 못했습니다.
4648 명시적 자격 증명을 사용하여 로그온을 시도했습니다.
4634 계정이 로그오프되었습니다.
4647 사용자가 로그오프를 시작함
4672 새 로그온에 할당된 특수 권한
4778 세션이 Window Station에 다시 연결되었습니다.

 

계정 로그온 이벤트 감사

이벤트 ID 묘사
4768 Kerberos 인증 티켓(TGT)이 요청되었습니다.
4769 Kerberos 서비스 티켓이 요청되었습니다.
4770 Kerberos 서비스 티켓이 갱신되었습니다.
4771 Kerberos 사전 인증 실패
4774 로그온을 위해 계정이 매핑되었습니다.
4776 도메인 컨트롤러가 계정에 대한 자격 증명의 유효성을 검사하려고 했습니다.
Comments