Notice
Recent Posts
Recent Comments
03-29 00:01
관리 메뉴

Black&White

Windows command-line 에서 이벤트 로그 검색하기 본문

Windows/WMIC

Windows command-line 에서 이벤트 로그 검색하기

V.E.N 2016. 3. 23. 13:33

윈도우에는 이벤트 로그를 보기 위한 도구로 eventvwr.msc 가 있다.


이 eventvwr.msc 를 이용하여 시스템, 어플리케이션, 보안 등의 로그를 확인할 수 있다.


보안감사중 한가지 문제점에 봉착했다.


'로그인 실패 횟수 초과한 이력에 대한 점검'


즉, 윈도우 계정 잠금 정책에서 계정 잠금 임계값(보통 3~5)이 설정되어 있고, 이에 대한 감사로그(감사정책)가 설정되어 있는지를 확인하는 항목이다.


이에 대한 설정은 로컬보안정책(secpol.msc) 를 통해 확인 및 설정할 수 있다.


한가지 계정 잠금에 대한 로깅 설정은 감사정책에서 '로그온 이벤트 감사' 를 감사 설정함으로써 가능하다.



다시 '로그인 실패 횟수 초과한 이력에 대한 점검' 항목은 바로 '계정 잠금' 이 되었는지를 '로그온 이벤트 감사' 로그를 통해서 확인할 수 있는데, 문제는 점검방식이 스크립트인 경우, GUI 인  eventvwr.msc 를 실행하여 확인하는 것이 불가능하다.



Command-Line 을 통해 할 수 있는 방법이 분명 있을텐데..


윈도우 시스템에 대한 정보확인에 유용한 wmic 를 활용하면 가능할 것 같았다.


eventvwr.msc 를 대체가능한 command 는 바로,


wmic Ntevent 였다. (wmic NteventLog 와는 다름)


그렇다고 바로 wmic Ntevent 를 실행하면 아마도 세월아 내월아가 될 것이다. 만약 실행했다면, 과감히 CTRL+C 를 눌러주면 된다.


다시..


윈도우 이벤트 로그는 크게 시스템, 어플리케이션, 보안 이렇게 3가지 항목으로 나뉜다.


wmic Ntevent where LogFile='system'

wmic Ntevent where LogFile='application'

wmic Ntevent where LogFile='security'


보안 로그 이벤트중에서 '계정 잠금' 이벤트에 대해서만 보고 싶은 것이므로,


wmic Ntevent where "LogFile='security' and CategoryString='Account Lockout'"


위 명령에 대한 결과값이 있을 경우, 출력하고자 하는 필드값이 기본적으로 ALL 이라 보기가 힘들 것이다.


Ntevent 에서 출력되는 필드(Property)를 확인하고자 할 경우,


wmic Ntevent get /?


Property               Type     Operation
========               ====     =========
Category               N/A      N/A
CategoryString         N/A      N/A
ComputerName           N/A      N/A
Data                   N/A      N/A
EventCode              N/A      N/A
EventIdentifier        N/A      N/A
InsertionStrings       N/A      N/A
LogFile                N/A      N/A
Message                N/A      N/A
RecordNumber           N/A      N/A
SourceName             N/A      N/A
TimeGenerated          N/A      N/A
TimeWritten            N/A      N/A
Type                   N/A      N/A
TypeEvent              N/A      N/A
UserName               N/A      N/A



위 Property 중에서 Category, CategoryString, InsertionStrings,TimeWritten 만  출력하고자 한다면,


wmic Ntevent where "LogFile='security' and CategoryString='Account Lockout'" Get Category, CategoryString, InsertionStrings,TimeWritten



참고로, 위에서 보안감사정책에 대한 설정을 secpol.msc 에서 설정 및 확인이 가능했는데,


이 또한, command-line 을 통해 설정 및 확인할 수 있다.


여기서는 계정 잠금에 대한 감사정책 설정이 되어 있는지 확인한다.


auditpol /get /subcategory:"계정 잠금"



auditpol 에 대한 설명은 너무 광대하기에 따로 설명이 필요하다.

Comments