Microsoft 365 통합 감사 로그 내보내기 방법

Microsoft 365 통합 감사 로그 내보내기 방법

SOC Prime Team
SOC Prime Team linkedin icon 팔로우

Purview 포털 (감사 → 검색)을 통해 통합 감사 로그를 검색하고 결과를 CSV로 내보낼 수 있습니다. 전체 이벤트는 AuditData라는 하나의 열에 JSON 블롭으로 저장됩니다. 한 줄에 하나의 이벤트로 깨끗한 JSON을 얻으려면 Exchange Online PowerShell 및 Search-UnifiedAuditLog를 사용하세요. 스크립트는 아래에 있습니다. 표준 감사 보존 기간은 180일이고, Audit (Premium)은 기본적으로 1년 간 보관됩니다.

통합 감사 로그는 Exchange, SharePoint, OneDrive, Teams 및 관리자 활동을 한 곳에서 다룹니다. 비즈니스 이메일 침해의 경우, 받은 편지함 규칙, 전달 및 대량 다운로드가 여기에 표시됩니다. Prime Core는 Microsoft 365 감사 데이터에 대한 79개의 탐지 규칙을 가지고 있으며, 이는 33개의 MITRE ATT&CK 기술과 매핑됩니다. 그 중 일부는 메일을 빼돌리는 전달 규칙(T1114.003), 추가 메일박스 권한(T1098.002), 그리고 SharePoint에서 가져온 데이터(T1213.002)입니다.

무료로 시작하세요

시작하기 전에

감사는 켜져 있나요? 대부분의 테넌트에 대해 기본적으로 켜져 있지만 확인하세요:

Connect-ExchangeOnline

Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled

True가 원하는 상태입니다. False라면 아무것도 기록되지 않았으며, 활성화해도 누락된 데이터를 복원할 수 없습니다.

역할. Audit Logs 또는 View-Only Audit Logs 역할이 필요합니다. ExchangeOnlineManagement 모듈(Install-Module ExchangeOnlineManagement)도 필요합니다.

지연. 이벤트는 즉시 나타나지 않습니다. 대부분은 1~2시간 내에 표시되지만, 일부는 시간이 더 걸립니다. 오늘 아침에 발생한 것을 추적 중이라면 아직 검색 가능하지 않을 수 있습니다.

PowerShell로 내보내기

Search-UnifiedAuditLog는 요청당 최대 5,000개의 레코드를 반환합니다. 세션 ID와 ReturnLargeSet을 사용하여 검색당 최대 50,000개까지 페이지를 넘길 수 있습니다. 이 루프는 해당 작업을 수행하며 이미 JSON인 각 레코드의 AuditData를 한 줄로 씁니다:

$session = [guid]::NewGuid().ToString()

$out = "ual_2026-10-19.jsonl"

do {

$batch = Search-UnifiedAuditLog -StartDate "2026-10-19 00:00" -EndDate "2026-10-20 00:00" `

-SessionId $session -SessionCommand ReturnLargeSet -ResultSize 5000

$batch | ForEach-Object { $_.AuditData } | Add-Content $out

} while ($batch.Count -eq 5000)

로그는 시간을 UTC로 저장합니다. 창을 설정할 때 이를 염두에 두십시오.

찾아야 할 것

작업왜 중요한가
New-InboxRule, Set-InboxRule, UpdateInboxRules메일을 전달, 이동 또는 삭제하는 규칙; AuditData의 매개 변수를 확인하세요
Set-Mailbox with ForwardingSmtpAddress메일박스 수준에서 외부 주소로의 전달
Add-MailboxPermission, Add-RecipientPermission다른 메일박스에 대한 액세스 권한을 얻는 사람
MailItemsAccessed실제로 읽힌 메시지; 침해 범위를 설정하는 열쇠
FileDownloaded, FileSyncDownloadedFull 버스트SharePoint 또는 OneDrive에서 대량 다운로드
응용 프로그램에 대한 동의사기성 앱이 메일 또는 파일에 대한 액세스 권한을 부여받음

고전적인 BEC 시퀀스: 새로운 위치에서의 로그인, 그리고 몇 분 내에 재무 팀의 응답을 암시적 폴더로 이동시키는 받은 편지함 규칙.

LogTotal에서 업로드, 정리 및 검토

  • 업로드. 열기 logtotal.com 및 .jsonl 파일을 드롭하십시오.
  • 정리. 
  • 검토.

문제가 생겼을 때

증상가능한 원인Fix
Search-UnifiedAuditLog가 인식되지 않음Exchange Online PowerShell에 연결되지 않음먼저 Connect-ExchangeOnline 수행
결과 없음감사 해제, 이벤트가 너무 새로움 또는 보존 기간 외인게이션 확인; 기다림; 감사 계층 확인
정확히 5,000개의 결과세션 없이 요청당 제한에 도달위의 세션 루프 사용
50,000에 고착세션 제한창을 더 작은 조각으로 분할
접근이 거부됨감사 역할 없음View-Only Audit Logs 요청

FAQ

이것은 Entra 로그와 같은 것이 아닌가요?

겹칩니다: UAL에는 UserLoggedIn 이벤트가 있습니다. 그러나 인증 세부 정보(MFA, 조건부 액세스, 위험)에서는 Entra 로그가 훨씬 더 풍부합니다. 둘 다 내보내십시오.

Management Activity API는 어떻게 되나요?

SIEM으로의 지속적인 수집 경로입니다. 일회용 조사는 PowerShell이 더 간단합니다.

SOC Prime의 Detection as Code 플랫폼에 가입하세요 귀사의 비즈니스에 가장 중요한 위협에 대한 가시성을 개선하세요. 시작을 돕고 즉각적인 가치를 제공하기 위해 지금 SOC Prime 전문가와의 회의를 예약하세요.