AI 로그 모니터링이 “정지된 PC로 인한 계정 잠김”을 감지한 사례 #
BASTION의 Windows 클라이언트 모니터링이 자사 직원 계정의 비정상 잠금을 감지했습니다. Slack을 통해 발신지 IP를 특정하여, 원인이 정지된 단말기였음이 밝혀졌습니다. 감지부터 원인 특정까지 5분.
무슨 일이 발생했는가 #
BASTION의 정기 분석 보고서에 낯선 항목이 나타났습니다.
실패 계정: svc-ldap=203, DC-01$=194, SV-01$=24, admin-user=13 잠금 대상: svc-ldap=225, DC-01$=224, SV-01$=33, admin-user=16
문제는 admin-user입니다. 이것은 사람 계정입니다. 16회 잠금되었습니다. 전혀 심당이 가지 않습니다.
Slack으로 발신지 IP 특정 #
BASTION에는 Slack으로 대화형 분석을 지시하는 기능이 있습니다.

원인 #
발신지 IP의 단말기를 확인한 결과, Windows 11이 정지된 상태였습니다.
정지된 단말기는 화면이 프리즈 상태여도 백그라운드에서 AD로의 인증 요청을 계속 반복해서 전송합니다. 비밀번호 변경 후 이전 자격 증명이 캐시되어 있던 경우, 매번 인증에 실패하고 최종적으로 계정이 잠금됩니다.
단말기를 재시작한 결과, 잠금이 멈췄습니다.
전형적인 패턴 #
“정지된 단말기로 인한 계정 잠김”은 IT 운영에서 흔히 있는 문제입니다. 하지만 기존에는 “잠금되었다”는 사실만 헬프데스크에 보고되고, 원인 단말기의 특정은 수동으로 AD의 이벤트 로그를 추적해야 했습니다. BASTION은 감지와 발신지 IP 특정을 자동화하여, Slack의 질문 하나로 완결합니다.
BASTION은 어떻게 감지했는가 #
1. Windows 클라이언트의 로그 수집 #
사내 Windows 클라이언트에는 NXLog(OSS 로그 전송 에이전트)가 GPO를 통해 자동 배포되어 있습니다. 각 단말기의 이벤트 로그(Security, System, Application, PowerShell 등)가 syslog 형식으로 BASTION 서버로 전송됩니다.
BASTION 서버 측의 rsyslog가 호스트명별로 디렉터리를 자동 생성하여 로그를 저장합니다. 새로운 단말기가 NXLog로 로그를 전송하기 시작하는 순간, 자동으로 모니터링 대상에 포함됩니다. 단말기의 수동 등록은 불필요합니다.
2. 자동 기기 분류 #
새로운 호스트가 나타나면, BASTION의 LLM이 로그 샘플을 읽고 “이 기기는 Windows 클라이언트다” “이것은 Linux 서버다”라고 자동 판정합니다. 판정 결과에 따라 적절한 모니터링 템플릿이 자동 적용됩니다.
Windows 클라이언트의 경우, 다음 항목이 자동으로 모니터링 대상이 됩니다.
| 카테고리 | 모니터링 항목 |
|---|---|
| 인증 이상 | 로그인 실패 집중, 계정 잠금, 특권 로그온, 업무 시간 외 로그인 |
| 프로세스 실행 | PowerShell EncodedCommand, 다운로더 패턴, LOLBin 실행 |
| 장치 | USB 대용량 저장 장치 연결 |
| 계정 변경 | 사용자 생성, 관리자 그룹 추가, 서비스 설치, 작업 생성 |
3. 정기 분석으로 이상값 탐지 #
15분마다의 정기 분석에서 LLM이 전체 호스트의 요약을 읽고 이상값을 판정합니다. 이번에는 “사람 계정의 잠금 16회”가 medium 이상의 심각도로 판정되어, 상세 보고서가 Slack으로 자동 전송되었습니다.
4. 대화형 분석으로 심층 분석 #
정기 보고서에서 “admin-user=16회 잠금”을 확인한 후, Slack에서 멘션하는 것만으로 발신지 IP 특정까지 완료되었습니다. AD의 이벤트 로그를 수동으로 뒤질 필요가 없습니다.
이 사례에서 배운 점 #
오탐 제외 규칙은 “무엇을 제외할 것인가”의 설계가 9할 #
svc-ldap(LDAP 연동)이나 DC-01$(Kerberos 컴퓨터 계정)을 제외하지 않았다면, 매번 수백 건의 “이상”이 보고되고 사람 계정의 16건은 묻혔을 것입니다. 노이즈를 제거함으로써 진짜 이상이 부각됩니다.
“감지→통지→조사”가 Slack 내에서 완결되는 가치 #
기존 플로우는 “AD 이벤트 뷰어 열기→4625 이벤트 필터링→계정명으로 필터링→발신지 IP 찾기”로, 익숙한 사람도 10분 이상 소요됩니다. BASTION에서는 감지는 cron이 자동으로 수행하고, 조사는 Slack에 질문하는 것만으로 충분합니다. 화면 전환 없이 완결됩니다.
단말기 모니터링은 “syslog를 전송하는 것만으로” 시작 #
NXLog를 GPO로 배포하고 syslog 목적지를 설정하는 것만으로, 모든 클라이언트 PC가 자동으로 모니터링 대상이 됩니다. BASTION이 로그 내용을 읽고 기기 종류를 자동 판정하여, 적절한 모니터링 템플릿을 적용합니다. 단말기의 증감에 사람이 수동으로 대응할 필요가 없습니다.
정리 #
BASTION의 Windows 클라이언트 모니터링이 자사 환경에서 실제로 사람 계정의 비정상 잠금을 감지했습니다. 감지부터 원인 단말기 특정까지 약 5분. 한 일은 “Slack에서 질문 하나 한 것”뿐입니다.
원인은 정지된 단말기라는 평범한 것이었지만, 동일한 감지 메커니즘이 외부로부터의 무차별 대입 공격에도 작동합니다. 발신지 IP가 사내인지 사외인지에 따라 대처가 달라질 뿐, 감지와 특정의 플로우는 동일합니다.
BASTION은 폐쇄망 환경에서 AI 보안 모니터링을 실현하는 서비스입니다.