Microsoft Sentinel 실무 스터디 가이드

데이터 엔지니어 · AI 엔지니어를 위한 핵심 요약
📡 SIEM ☁️ azure 🧩 cloud-native 📅 2026.03 작성 🔒 AI 정보보안 엔지니어 · 보안 전문가

1. Microsoft Sentinel란?

Microsoft Sentinel은 클라우드 네이티브 SIEM(보안 정보 및 이벤트 관리) 및 SOAR(보안 오케스트레이션 자동화 응답) 플랫폼입니다. Azure 전반과 하이브리드 환경에서 수집된 데이터를 AI/ML로 분석하여 위협을 탐지하고 대응을 자동화합니다.

📥 수집 & 통합

250+ 커넥터 (Microsoft 365, AWS, GCP, Syslog, CEF, 사용자 정의 로그) → 모든 데이터를 중앙 수집.

🧠 탐지 & 헌팅

내장 분석 규칙, MITRE ATT&CK 매핑, KQL(Kusto Query Language) 기반 위협 헌팅.

⚡ 자동화 & SOAR

플레이북 (Logic Apps 기반)으로 자동 대응, AI 인시던트 분류, 가상 분석가.

2. 왜 써야 하는가?

기존 SIEM(Splunk, QRadar, ArcSight) 대비 Sentinel의 차별점:

영역Microsoft Sentinel기존 SIEM (온프레미스)
인프라완전 관리형, 서버 불필요자체 서버, 스토리지, 유지보수
확장성Auto-scale, 페타바이트급용량 계획 필요, 수직 확장 한계
AI/ML내장 ML, UEBA, 위협 인텔리전스별도 모듈/라이선스
비용종량제 (데이터 볼륨)초기 라이선스 + 유지보수
KQL강력한 시계열, 조인, 머신러닝 함수SPL 등 (러닝 커브)

💡 AI 엔지니어 포인트: Sentinel의 KQL은 Python SDK와 연동 가능하며, Azure Machine Learning 추론을 직접 호출할 수 있습니다.

3. 핵심 개념 & 아키텍처

데이터 흐름: Log Sources → Data Connectors → Log Analytics Workspace → Analytics Rules → Incidents & Automation

┌─────────────────────────────────────────────────────────────┐ │ Microsoft Sentinel 아키텍처 │ │ │ │ ┌──────────┐ ┌──────────────┐ ┌──────────────────┐ │ │ │ Azure AD │ │ Office 365 │ │ AWS / GCP │ │ │ │ Syslog │ │ Windows EV │ │ Custom Logs │ │ │ └────┬─────┘ └──────┬───────┘ └───────┬──────────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Data Connectors (CEF, AMA, API) │ │ │ └──────────────────────┬──────────────────────────────┘ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Log Analytics Workspace (KQL) │ │ │ │ Tables: SecurityEvent, CommonSecurityLog, ... │ │ │ └──────────────────────┬──────────────────────────────┘ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Analytics Rules │ UEBA │ Threat Intelligence │ │ │ └──────────────────────┬──────────────────────────────┘ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Incidents → Automation (Playbooks / Logic Apps) │ │ │ └─────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘

4. 퀵스타트 (설치 → 설정 → 첫 예제)

4.1 사전 조건

Azure 구독 (기여자 권한), Log Analytics 작업 영역, Sentinel 리소스 공급자 등록.

# Azure CLI 로그인 및 공급자 등록
az login
az provider register --namespace Microsoft.OperationsManagement
az provider register --namespace Microsoft.OperationalInsights

4.2 Sentinel 인스턴스 생성 (CLI)

# 변수 설정
RESOURCE_GROUP="rg-sentinel-lab"
LOCATION="koreacentral"
WORKSPACE_NAME="law-sentinel-lab"

# 리소스 그룹 생성
az group create --name $RESOURCE_GROUP --location $LOCATION

# Log Analytics 작업 영역 생성
az monitor log-analytics workspace create \
  --resource-group $RESOURCE_GROUP \
  --workspace-name $WORKSPACE_NAME \
  --location $LOCATION

# Sentinel 활성화 (작업 영역에 솔루션 추가)
az monitor log-analytics solution create \
  --resource-group $RESOURCE_GROUP \
  --workspace-name $WORKSPACE_NAME \
  --solution-type SecurityInsights

4.3 첫 번째 탐지 규칙 (Python + KQL 예제)

Azure Monitor Query SDK로 KQL 실행:

# pip install azure-monitor-query azure-identity
from azure.identity import DefaultAzureCredential
from azure.monitor.query import LogsQueryClient

credential = DefaultAzureCredential()
client = LogsQueryClient(credential)

workspace_id = "YOUR_WORKSPACE_ID"
query = """
SecurityEvent
| where EventID == 4625  # 로그인 실패
| where TimeGenerated > ago(1h)
| summarize FailedAttempts = count() by Account, Computer
| where FailedAttempts > 5
"""

response = client.query_workspace(workspace_id, query, timespan=None)
for row in response.tables[0].rows:
    print(f"계정: {row[0]}, 컴퓨터: {row[1]}, 실패 횟수: {row[2]}")

⚠️ 실무 팁: Sentinel에서 제공하는 Analytics Rules 마법사를 사용하면 KQL 템플릿을 바로 배포할 수 있습니다. 위 쿼리를 “예약된 규칙”으로 등록하면 인시던트가 자동 생성됩니다.

5. 핵심 설정 레퍼런스

설정 항목권장 값 / 옵션비고
데이터 보존 기간90일 (대화형) + 2년 (장기 보관)비용 최적화: 핫/콜드 티어
Analytics 규칙 빈도5분 (빠른 탐지) / 1시간 (헌팅)쿼리 비용과 탐지 속도 트레이드오프
UEBA활성화 (기본)Azure AD DS, Windows EV 필요
위협 인텔리전스TAXII 커넥터 + STIXAnomali, MISP 등 연동
Playbooks 제한4초/액션 (표준)장기 작업은 비동기 처리

6. 실무 팁 & 트러블슈팅

✅ 데이터 수집 지연

증상: 로그가 Sentinel에 30분 이상 표시 안 됨.
해결: Log Analytics 에이전트 상태 확인, Heartbeat 테이블 쿼리, 커넥터 상태 점검.

⚠️ KQL 성능 저하

원인: 테이블 전체 스캔, 비효율적인 조인.
튜닝: 시간 범위 제한, where 필터 선배치, materialize() 사용.

🧪 플레이북 실행 실패

원인: Logic Apps 커넥터 권한 부족.
조치: 관리 ID 사용, RBAC 할당 (Sentinel 기여자).

🔧 AI 엔지니어 꿀팁: Sentinel의 Fusion (ML 기반 다단계 공격 탐지)을 활성화하고, 사용자 지정 ML 모델을 Azure Functions로 호출하는 플레이북을 만들어 보세요.

7. 참고 자료