Microsoft Defender for Office 365 로그 수집

다음에서 지원:

이 문서에서는 Microsoft Azure Blob Storage V2를 사용하여 Google Security Operations 피드를 설정하여 Microsoft Defender for Office 365 로그를 수집하는 방법을 설명합니다.

Microsoft Defender for Office 365는 피싱, 회사 이메일 침해, 멀웨어 공격과 같은 고급 위협으로부터 조직을 보호하는 이메일 보안 솔루션입니다. Defender for Office 365의 이메일 이벤트 데이터는 고급 검색 이벤트를 Azure Storage 계정으로 스트리밍하는 Microsoft Defender XDR 스트리밍 API를 통해 제공됩니다. Google SecOps는 스트리밍된 이벤트를 스토리지 계정에서 직접 읽으므로 중간 수집기가 필요하지 않습니다.

시작하기 전에

다음 기본 요건이 충족되었는지 확인합니다.

  • Google SecOps 인스턴스
  • 다음 권한이 있는 Microsoft Azure 포털에 대한 권한 액세스
    • Microsoft Defender XDR과 동일한 테넌트에 스토리지 계정 만들기
    • 구독에 리소스 제공자 등록
    • 액세스 키 관리
    • 스토리지 계정의 컨트리뷰터 역할 (스트리밍 API 구성에 필요)
  • 보안 관리자 역할 이상의 권한으로 Microsoft Defender 포털에 액세스할 수 있어야 합니다.
  • 테넌트에 배포된 Microsoft Defender for Office 365: Email* 및 UrlClickEvents 고급 검색 테이블은 Defender for Office 365의 레코드로 채워지며, Defender for Office 365가 없으면 비어 있습니다.

Azure 스토리지 계정 구성

Microsoft.Insights 리소스 제공자 등록

스트리밍 API에는 스토리지 계정을 보유한 구독에 Microsoft.Insights 리소스 공급자가 필요합니다.

  1. Azure 포털에 로그인합니다.
  2. 구독 > 내 구독 > 리소스 제공업체로 이동합니다.
  3. Microsoft.Insights를 검색합니다.
  4. 등록을 클릭합니다.

스토리지 계정 만들기

  1. Azure 포털에서 스토리지 계정을 검색합니다.
  2. + 만들기를 클릭합니다.
  3. 다음 구성 세부정보를 제공합니다.

    설정 값
    구독 Azure 구독 (Microsoft Defender XDR과 동일한 테넌트)을 선택합니다.
    리소스 그룹 기존 항목 선택 또는 새로 만들기
    스토리지 계정 이름 고유한 이름 (예: defenderemaillogs)을 입력합니다.
    리전 리전을 선택합니다 (예: East US).
    성능 표준 (권장)
    중복성 GRS (지리적 중복 스토리지) 또는 LRS (로컬 중복 스토리지)
  4. 검토 + 만들기를 클릭합니다.

  5. 계정 개요를 검토하고 만들기를 클릭합니다.

  6. 배포가 완료될 때까지 기다립니다.

신뢰할 수 있는 Microsoft 서비스 허용

  1. 방금 만든 스토리지 계정으로 이동합니다.
  2. 보안 + 네트워킹에서 네트워킹을 선택합니다.
  3. 방화벽 및 가상 네트워크 탭의 예외에서 신뢰할 수 있는 서비스 목록의 Azure 서비스가 이 스토리지 계정에 액세스하도록 허용이 선택되어 있는지 확인합니다.
  4. 저장을 클릭합니다.

스토리지 계정 사용자 인증 정보 가져오기

  1. 동일한 스토리지 계정에서 보안 + 네트워킹 아래의 액세스 키를 선택합니다.
  2. 키 표시를 클릭합니다.
  3. 나중에 사용할 수 있도록 다음을 복사하여 저장합니다.
    • 스토리지 계정 이름: 생성 시 입력한 이름 (예: defenderemaillogs)
    • 키 1 또는 키 2: 공유 액세스 키

스토리지 계정 리소스 ID 가져오기

  1. 동일한 스토리지 계정의 개요 페이지에서 JSON 보기를 클릭합니다.
  2. 리소스 ID를 복사하여 저장합니다. 형식은 다음과 같습니다.

    /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
    

Microsoft Defender XDR 스트리밍 API 구성

  1. 최소한 보안 관리자 권한이 있는 계정을 사용하여 Microsoft Defender 포털에 로그인합니다.
  2. 설정 > Microsoft Defender XDR > 스트리밍 API로 이동합니다.
  3. 추가를 클릭합니다.
  4. 새 스트리밍 API 설정 추가 플라이아웃에서 다음 구성 세부정보를 제공합니다.
    • 이름: 설정 이름을 입력합니다 (예: secops-email-events).
    • Azure Storage로 이벤트 전달을 선택합니다.
    • 스토리지 계정 리소스 ID: 이전에 저장한 리소스 ID를 붙여넣습니다.
  5. 다음 이벤트 유형을 선택합니다.
    • EmailEvents
    • EmailAttachmentInfo
    • EmailUrlInfo
    • EmailPostDeliveryEvents
    • UrlClickEvents
  6. 제출을 클릭합니다.

스트리밍이 시작되면 선택한 각 이벤트 유형 (Microsoft에서 문서화)에 대해 스토리지 계정에 blob 컨테이너가 생성됩니다. 컨테이너 이름은 insights-logs-advancedhunting-<event type> 패턴을 따릅니다 (예: insights-logs-advancedhunting-emailevents). Microsoft 문서에는 다른 테이블의 패턴이 표시되어 있으므로 항상 스토리지 계정에서 정확한 이름을 가져오세요. 각 blob 행은 time, tenantId, category (AdvancedHunting- 접두사가 있는 테이블 이름) 및 properties 객체 내 이벤트 필드가 있는 JSON으로 이벤트를 전달합니다.

Microsoft Defender for Office 365 로그를 수집하도록 Google SecOps에서 피드 구성

이벤트 유형 컨테이너당 하나의 피드를 만듭니다.

  1. SIEM 설정 > 피드로 이동합니다.
  2. 새 피드 추가를 클릭합니다.
  3. 다음 페이지에서 단일 피드 구성을 클릭합니다.
  4. 피드 이름 필드에 피드 이름을 입력합니다(예: Defender for Office 365 - EmailEvents).
  5. 소스 유형으로 Microsoft Azure Blob Storage V2를 선택합니다.
  6. 로그 유형으로 Microsoft Defender for Office 365를 선택합니다.
  7. 다음을 클릭합니다.
  8. 다음 입력 매개변수의 값을 지정합니다.

    • Azure URI: 컨테이너 경로와 함께 Blob 서비스 엔드포인트 URL을 입력합니다.
    https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net/insights-logs-advancedhunting-emailevents/
    

    다음을 바꿉니다.

    • <STORAGE_ACCOUNT_NAME>: Azure 스토리지 계정 이름
    • 컨테이너 세그먼트: 스토리지 계정에서 복사한 정확한 컨테이너 이름입니다.

    • 소스 삭제 옵션: 환경설정에 따라 삭제 옵션을 선택합니다.

      • 파일 삭제 안함: 소스에서 파일을 삭제하지 않습니다.
      • 전송된 파일 및 빈 디렉터리 삭제: 가져오기가 완료되면 소스에서 파일과 빈 디렉터리를 삭제합니다.
    • 최대 파일 기간: 지난 일수 동안 수정된 파일을 포함합니다 (기본값은 180일).

    • 인증 드롭다운 (기본값은 액세스/공유 키)에서 사용할 방법을 선택하고 해당 사용자 인증 정보를 제공합니다.

      • 액세스/공유 키: 키 필드에 앞에서 캡처한 스토리지 계정 액세스 키 (키 1 또는 키 2)를 붙여넣습니다.
      • SAS 토큰: 토큰 필드에 컨테이너에 발급된 공유 액세스 서명 (SAS) 토큰을 붙여넣습니다.
      • Azure V2 워크로드 아이덴티티 제휴: Microsoft Entra 애플리케이션 클라이언트 ID 및 테넌트 ID를 입력합니다. 피드에 표시되는 읽기 전용 주체 ID를 복사하고 Azure 측의 스토리지 계정에 일치하는 ID 액세스 권한을 부여합니다.
    • 애셋 네임스페이스: 애셋 네임스페이스

    • 수집 라벨: 이 피드의 이벤트에 적용할 라벨

  9. 다음을 클릭합니다.

  10. 확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.

  11. 동일한 로그 유형과 고유한 피드 이름을 사용하여 나머지 컨테이너 (insights-logs-advancedhunting-emailattachmentinfo, insights-logs-advancedhunting-emailurlinfo, insights-logs-advancedhunting-emailpostdeliveryevents, insights-logs-advancedhunting-urlclickevents)에 대해 단계를 반복합니다.

Azure Storage 방화벽 구성 (사용 설정된 경우)

Azure Storage 계정에서 방화벽을 사용하는 경우 Google SecOps IP 범위를 추가해야 합니다.

  1. Azure 포털에서 스토리지 계정으로 이동합니다.
  2. 보안 + 네트워킹에서 네트워킹을 선택합니다.
  3. 방화벽 및 가상 네트워크에서 선택한 가상 네트워크 및 IP 주소에서 사용 설정됨을 선택합니다.
  4. 방화벽 섹션의 IP 주소 범위에서 + IP 범위 추가를 클릭합니다.
  5. 각 Google SecOps IP 범위를 CIDR 표기법으로 추가합니다.

현재 IP 범위를 가져오려면 다음 단계를 따르세요.

  1. 저장을 클릭합니다.

UDM 매핑 테이블

로그 필드 UDM 매핑 로직
CompAuth_label additional.fields 병합됨
DKIM_label additional.fields 병합됨
DMARC_label additional.fields 병합됨
SPF_label additional.fields 병합됨
additional_email_cluster_id additional.fields 병합됨
additional_fields_label additional.fields 병합됨
additional_replyto additional.fields 병합됨
attachment_cnt_label additional.fields 병합됨
attachment_count_label additional.fields 병합됨
bulk_complaint_level_label additional.fields 병합됨
clicked_label additional.fields 병합됨
confidence_level_label additional.fields 병합됨
connectors_label additional.fields 병합됨
delivery_action_label additional.fields 병합됨
delivery_location_label additional.fields 병합됨
detection_methods_label additional.fields 병합됨
email_action_label additional.fields 병합됨
email_action_policy_guid_label additional.fields 병합됨
email_action_policy_label additional.fields 병합됨
email_cluster_id_label additional.fields 병합됨
email_direction_label additional.fields 병합됨
email_language_label additional.fields 병합됨
exchange_transport_rule_label additional.fields 병합됨
is_first_contact_label additional.fields 병합됨
org_level_action_label additional.fields 병합됨
org_level_policy_label additional.fields 병합됨
phishData_label additional.fields 병합됨
sender_from_address_label additional.fields 병합됨
sender_mail_label additional.fields 병합됨
spamData_label additional.fields 병합됨
threat_names_label additional.fields 병합됨
threat_types_label additional.fields 병합됨
url_chain_list additional.fields 병합됨
url_count_label additional.fields 병합됨
url_loc_label additional.fields 병합됨
url_location_label additional.fields 병합됨
urlcount_label additional.fields 병합됨
user_level_action_label additional.fields 병합됨
user_level_policy_label additional.fields 병합됨
workload_label additional.fields 병합됨
_time metadata.event_timestamp RFC3339로 파싱됨
time metadata.event_timestamp yyyy-MM-ddTHH:mm:ss.SSSSSSSZ로 파싱됨
event_type metadata.event_type 직접 매핑됨
_raw.category metadata.product_event_type 직접 매핑됨
operationName metadata.product_event_type 직접 매핑됨
_raw.properties.ReportId metadata.product_log_id 직접 매핑됨
_raw.properties.SenderFromAddress network.email.from 직접 매핑됨
_raw.properties.InternetMessageId network.email.mail_id 직접 매핑됨
_raw.properties.Subject network.email.subject 병합됨
properties.Subject network.email.subject 병합됨
_raw.properties.RecipientEmailAddress network.email.to 병합됨
email network.email.to 매핑됨: ^.+@.+$ → email
properties.EmailSize network.received_bytes 이름이 변경됨/매핑됨
_raw.properties.NetworkMessageId network.session_id 직접 매핑됨
_raw.properties.SenderFromDomain principal.administrative_domain 직접 매핑됨
_raw.properties.SenderMailFromDomain principal.administrative_domain 직접 매핑됨
properties.SenderMailFromDomain principal.administrative_domain 직접 매핑됨
_raw.properties.UrlDomain principal.asset.hostname 직접 매핑됨
properties.SenderFromDomain principal.asset.hostname 직접 매핑됨
properties.UrlDomain principal.asset.hostname 직접 매핑됨
_raw.properties.SenderIPv4 principal.asset.ip 병합됨
_raw.properties.SenderIPv6 principal.asset.ip 병합됨
sender_ip principal.asset.ip 병합됨
_raw.properties.SenderMailFromAddress principal.email 직접 매핑됨
target.SHA256 principal.file.sha256 직접 매핑됨
_raw.properties.UrlDomain principal.hostname 직접 매핑됨
properties.SenderFromDomain principal.hostname 직접 매핑됨
properties.UrlDomain principal.hostname 직접 매핑됨
_raw.properties.SenderIPv4 principal.ip 병합됨
_raw.properties.SenderIPv6 principal.ip 병합됨
sender_ip principal.ip 병합됨
_raw.properties.Url principal.url 직접 매핑됨
properties.Url principal.url 직접 매핑됨
_raw.properties.SenderObjectId principal.user.product_object_id 직접 매핑됨
tenantId principal.user.product_object_id 직접 매핑됨
_raw.properties.SenderDisplayName principal.user.user_display_name 직접 매핑됨
properties.SenderDisplayName principal.user.user_display_name 직접 매핑됨
action security_result.action 병합됨
properties.Action security_result.action_details 직접 매핑됨
security_result_category security_result.category 병합됨
category security_result.category_details 병합됨
Phish_level security_result.confidence 매핑됨: high → HIGH_CONFIDENCE, medium → MEDIUM_CONFIDENCE, low → LOW_CONFIDENCE
properties.ActionResult security_result.description 직접 매핑됨
action_type_label security_result.detection_fields 병합됨
cribl_pipe_label security_result.detection_fields 병합됨
email_action_label security_result.detection_fields 병합됨
email_action_policy_label security_result.detection_fields 병합됨
email_language_label security_result.detection_fields 병합됨
emailactpol_guid_label security_result.detection_fields 병합됨
internet_message_id_label security_result.detection_fields 병합됨
network_message_id_label security_result.detection_fields 병합됨
operation_name_label security_result.detection_fields 병합됨
phish_level_label security_result.detection_fields 병합됨
recipient_id_label security_result.detection_fields 병합됨
report_id_label security_result.detection_fields 병합됨
sender_id_label security_result.detection_fields 병합됨
tenant_label security_result.detection_fields 병합됨
transport_rule_guid_label security_result.detection_fields 병합됨
trigger_label security_result.detection_fields 병합됨
properties.DeliveryLocation security_result.summary 직접 매핑됨
properties.ThreatNames security_result.threat_name 직접 매핑됨
properties.AccountUpn target.email 직접 매핑됨
_raw.properties.FileName target.file.full_path 직접 매핑됨
_raw.properties.FileType target.file.mime_type 직접 매핑됨
properties.FileType target.file.mime_type 직접 매핑됨
properties.FileName target.file.names 병합됨
_raw.properties.FileSize target.file.size 이름이 변경됨/매핑됨
properties.FileSize target.file.size 이름이 변경됨/매핑됨
properties.RecipientDomain target.hostname 직접 매핑됨
_raw.tenantId target.resource.id 직접 매핑됨
_raw.properties.RecipientObjectId target.user.product_object_id 직접 매핑됨
해당 사항 없음 metadata.event_type 상수: GENERIC_EVENT
해당 사항 없음 metadata.product_name 상수: MICROSOFT_DEFENDER_MAIL
해당 사항 없음 metadata.vendor_name 상수: MICROSOFT_DEFENDER_MAIL
해당 사항 없음 network.direction 상수: INBOUND
해당 사항 없음 security_result.confidence 상수: HIGH_CONFIDENCE

변경 로그

이 파서의 변경 로그 보기

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.