다음을 통해 공유


요약 규칙을 사용하여 Microsoft Sentinel 데이터 집계

Microsoft Sentinel 요약 규칙을 사용하여 모든 로그 계층에서 더 원활한 보안 작업 환경을 위해 백그라운드에서 큰 데이터 집합을 집계합니다. 요약 데이터는 사용자 지정 로그 테이블에 미리 컴파일되며 저렴한 로그 계층에서 파생된 데이터에서 실행되는 쿼리를 포함하여 빠른 쿼리 성능을 제공합니다. 요약 규칙은 다음에 대한 데이터를 최적화하는 데 도움이 될 수 있습니다.

  • 특히 보안 및 인시던트 분석, 월별 또는 연간 비즈니스 보고서 등에 필요한 대규모 데이터 세트 및 시간 범위에 대한 분석 및 보고서입니다.
  • 자세한 로그에 대한 비용 절감- 저렴한 로그 계층에서 필요한 만큼 보존하고 분석 및 보고서를 위해 분석 테이블에만 요약된 데이터로 보낼 수 있습니다.
  • 요약된 공유 가능한 데이터에서 개인 정보 세부 정보를 제거하거나 난독 처리하고 원시 데이터가 있는 테이블에 대한 액세스를 제한하여 보안 및 데이터 개인 정보를 보호합니다.

Microsoft Sentinel 분석 데이터 계획을 사용하여 사용자 지정 테이블에 요약 규칙 결과를 저장합니다. 데이터 계획 및 스토리지 비용에 대한 자세한 내용은 테이블 계획 로그를 참조하세요.

이 문서에서는 요약 규칙을 만들거나 Microsoft Sentinel 미리 빌드된 요약 규칙 템플릿을 배포하는 방법을 설명하고 요약 규칙을 사용하기 위한 일반적인 시나리오의 예를 제공합니다.

중요

2027년 3월 31일 이후에는 Microsoft Sentinel 더 이상 Azure Portal 지원되지 않으며 Microsoft Defender 포털에서만 사용할 수 있습니다. Azure Portal Microsoft Sentinel 사용하는 모든 고객은 Defender 포털로 리디렉션되고 Defender 포털에서만 Microsoft Sentinel 사용합니다. 2025년 7월부터 많은 신규 고객이 자동으로 온보딩되고 Defender 포털로 리디렉션됩니다.

Azure Portal Microsoft Sentinel 계속 사용하는 경우 원활한 전환을 보장하고 Microsoft Defender 제공하는 통합 보안 운영 환경을 최대한 활용하기 위해 Defender 포털로의 전환 계획을 시작하는 것이 좋습니다. 자세한 내용은 It's Time to Move: Retiring Microsoft Sentinel s Azure Portal for greater security를 참조하세요.

필수 구성 요소

Microsoft Sentinel 요약 규칙을 만들려면 다음을 수행합니다.

규칙을 만들기 전에 로그 페이지에서 요약 규칙 쿼리를 실험하는 것이 좋습니다. 쿼리가 쿼리 제한에 도달하지 않거나 쿼리 제한에 근접하지 않는지 확인하고 쿼리가 의도한 스키마 및 예상 결과를 생성하는지 검사. 쿼리가 쿼리 제한에 근접한 경우 더 binSize 작은 을 사용하여 bin당 더 적은 데이터를 처리하는 것이 좋습니다. 더 적은 수의 레코드를 반환하거나 볼륨이 높은 필드를 제거하도록 쿼리를 수정할 수도 있습니다.

새 요약 규칙 만들기

특정 대용량 데이터 집합을 동적 테이블로 집계하는 새 요약 규칙을 만듭니다. 원시 데이터에서 집계된 데이터 집합이 업데이트되는 빈도를 결정하도록 규칙 빈도를 구성합니다.

  1. 요약 규칙 마법사를 엽니다.

    • Defender 포털에서 구성 > 요약 규칙 Microsoft Sentinel >선택합니다.

    • Azure Portal Microsoft Sentinel 탐색 메뉴의 구성에서 요약 규칙을 선택합니다. 예시:

      Azure Portal 요약 규칙 페이지의 스크린샷

  2. + 만들기를 선택하고 다음 세부 정보를 입력합니다.

    • 이름. 규칙의 의미 있는 이름을 입력합니다.

    • 설명. 선택적 설명을 입력합니다.

    • 대상 테이블입니다. 데이터가 집계되는 사용자 지정 로그 테이블을 정의합니다.

      • 기존 사용자 지정 로그 테이블을 선택하는 경우 사용할 테이블을 선택합니다.

      • 새 사용자 지정 로그 테이블을 선택하는 경우 테이블의 의미 있는 이름을 입력합니다. 전체 테이블 이름은 구문을 <tableName>_CL사용합니다.

  3. 작업 영역에서 SummaryLogs 진단 설정을 사용하도록 설정하여 기록 실행 및 실패에 대한 가시성을 얻는 것이 좋습니다. SummaryLogs 진단 설정을 사용하도록 설정하지 않으면 진단 설정 영역에서 사용하도록 설정하라는 메시지가 표시됩니다.

    SummaryLogs 진단 설정을 이미 사용하도록 설정했지만 설정을 수정하려면 고급 진단 설정 구성을 선택합니다. 요약 규칙 마법사 페이지로 돌아오면 새로 고침을 선택하여 설정 세부 정보를 새로 고쳐야 합니다.

    중요

    SummaryLogs 진단 설정에는 추가 비용이 있습니다. 자세한 내용은 Azure Monitor의 진단 설정을 참조하세요.

  4. 다음: 계속하려면 요약 논리 >설정을 선택합니다.

  5. 요약 논리 설정 페이지에서 요약 쿼리를 입력합니다. 예를 들어 Google Cloud Platform의 데이터를 요약하려면 다음을 입력할 수 있습니다.

    GCPAuditLogs
    | where ServiceName == 'pubsub.googleapis.com'
    | summarize count() by Severity
    

    자세한 내용은 Azure Monitor의 샘플 요약 규칙 시나리오KQL(Kusto 쿼리 언어)을 참조하세요.

  6. 결과 미리 보기를 선택하여 구성된 쿼리를 사용하여 수집한 데이터의 예를 보여 줄 수 있습니다.

  7. 쿼리 예약 영역에서 다음 세부 정보를 정의합니다.

    • 규칙을 실행할 빈도
    • 어떤 종류의 지연으로 규칙을 실행할지 여부(분)
    • 규칙 실행을 시작하려는 경우

    예약에 정의된 시간은 데이터의 열을 기반으로 timegenerated 합니다.

  8. 다음: 검토 + 저장 만들기 >> 를 선택하여 요약 규칙을 완료합니다.

기존 요약 규칙은 규칙 상태 검토할 수 있는 요약 규칙 페이지에 나열됩니다. 각 규칙에 대해 행 끝에 있는 옵션 메뉴를 선택하여 다음 작업을 수행합니다.

  • 즉시 쿼리를 실행하는 것처럼 로그 페이지에서 규칙의 현재 데이터를 봅니다.
  • 선택한 규칙의 실행 기록 보기
  • 규칙을 사용하지 않도록 설정하거나 사용하도록 설정합니다.
  • 규칙 구성 편집

규칙을 삭제하려면 규칙 행을 선택한 다음 페이지 맨 위에 있는 도구 모음에서 삭제 를 선택합니다.

참고

Azure Monitor는 API 또는 ARM(Azure 리소스 모니터) 템플릿을 통해 요약 규칙 만들기도 지원합니다. 자세한 내용은 요약 규칙 만들기 또는 업데이트를 참조하세요.

미리 빌드된 요약 규칙 템플릿 배포

요약 규칙 템플릿은 있는 그대로 배포하거나 필요에 맞게 사용자 지정할 수 있는 미리 빌드된 요약 규칙입니다.

요약 규칙 템플릿을 배포하려면 다음을 수행합니다.

  1. 콘텐츠 허브를 열고 요약 규칙에 따라 콘텐츠 형식을 필터링하여 사용 가능한 요약 규칙 템플릿을 봅니다.

    요약 규칙 템플릿을 보여 주는 Microsoft Sentinel 콘텐츠 허브 페이지의 스크린샷.

  2. 요약 규칙 템플릿을 선택합니다.

    요약 규칙 템플릿에 대한 정보가 포함된 패널이 열리고 설명, 요약 쿼리 및 대상 테이블과 같은 필드가 표시됩니다.

    설명, 요약 쿼리 및 대상 테이블과 같은 필드를 포함하여 Microsoft Sentinel 요약 규칙 템플릿의 세부 정보 패널을 보여 주는 스크린샷

  3. 설치를 선택하여 템플릿을 설치합니다.

  4. 요약 규칙 페이지에서 템플릿 탭을 선택하고 설치한 요약 규칙을 선택합니다.

    요약 규칙 페이지의 템플릿 탭 스크린샷

  5. 만들기를 선택하여 모든 필드가 미리 채워지는 요약 규칙 마법사를 엽니다.

  6. 요약 규칙 마법사를 살펴보고 저장 을 선택하여 요약 규칙을 배포합니다.

    요약 규칙 마법사에 대한 자세한 내용은 새 요약 규칙 만들기를 참조하세요.

Microsoft Sentinel 샘플 요약 규칙 시나리오

이 섹션에서는 Microsoft Sentinel 요약 규칙을 만들기 위한 일반적인 시나리오와 각 규칙을 구성하는 방법에 대한 권장 사항을 검토합니다. 자세한 내용과 예제는 보조 테이블의 원시 데이터에서 Microsoft Sentinel 분석 테이블로의 인사이트 요약보조 로그 수집에 사용할 로그 원본을 참조하세요.

네트워크 트래픽에서 악의적인 IP 주소를 빠르게 찾습니다.

시나리오: 위협 사냥꾼이며 팀의 목표 중 하나는 지난 90일 동안 활성 인시던트의 네트워크 트래픽 로그에서 악의적인 IP 주소가 상호 작용한 경우의 모든 인스턴스를 식별하는 것입니다.

과제: Microsoft Sentinel 현재 하루에 여러 테라바이트의 네트워크 로그를 수집합니다. 악의적인 IP 주소에 대한 일치 항목을 찾으려면 빠르게 이동해야 합니다.

해결 방법: 요약 규칙을 사용하여 다음을 수행하는 것이 좋습니다.

  1. , , DestinationIP, MaliciousIPRemoteIP를 포함하여 SourceIP인시던트와 관련된 각 IP 주소에 대한 요약 데이터 집합을 만들고 , , 및 LastTimeSeen와 같은 IPTypeFirstTimeSeen중요한 특성을 나열합니다.

    요약 데이터 세트를 사용하면 특정 IP 주소를 빠르게 검색하고 IP 주소가 있는 시간 범위를 좁힐 수 있습니다. 검색된 이벤트가 작업 영역 보존 기간을 초과하는 90일 전에 발생한 경우에도 이 작업을 수행할 수 있습니다.

    이 예제에서는 쿼리가 만료될 때까지 매일 새 요약 레코드를 추가하도록 매일 실행되도록 요약을 구성합니다.

  2. 요약 데이터 세트에 대해 2분 이내에 실행되는 분석 규칙을 만들어 악의적인 IP 주소가 회사 네트워크와 상호 작용할 때 특정 시간 범위로 신속하게 드릴링합니다.

    다른 요약 페이로드 크기를 수용하려면 최소 5분의 실행 간격을 구성해야 합니다. 이렇게 하면 이벤트 수집 지연이 있더라도 손실이 발생하지 않습니다.

    예시:

    let csl_columnmatch=(column_name: string) {
    summarized_CommonSecurityLog
    | where isnotempty(column_name)
    | extend
        Date = format_datetime(TimeGenerated, "yyyy-MM-dd"),
        IPaddress = column_ifexists(column_name, ""),
        FieldName = column_name
    | extend IPType = iff(ipv4_is_private(IPaddress) == true, "Private", "Public")
    | where isnotempty(IPaddress)
    | project Date, TimeGenerated, IPaddress, FieldName, IPType, DeviceVendor
    | summarize count(), FirstTimeSeen = min(TimeGenerated), LastTimeSeen = min(TimeGenerated) by Date, IPaddress, FieldName, IPType, DeviceVendor
    };
    union csl_columnmatch("SourceIP")
        , csl_columnmatch("DestinationIP") 
        , csl_columnmatch("MaliciousIP")
        , csl_columnmatch("RemoteIP")
    // Further summarization can be done per IPaddress to remove duplicates per day on larger timeframe for the first run
    | summarize make_set(FieldName), make_set(DeviceVendor) by IPType, IPaddress
    
  3. 후속 검색 또는 다른 데이터와의 상관 관계를 실행 하여 공격 스토리를 완료합니다.

네트워크 데이터에 대한 위협 인텔리전스 일치에 대한 경고 생성

노이즈, 대용량 및 낮은 보안 값 네트워크 데이터에 대한 위협 인텔리전스 일치에 대한 경고를 생성합니다.

시나리오: 위협 인텔리전스 도메인 이름 목록에 대해 방문한 시스템의 도메인 이름과 일치하도록 방화벽 로그에 대한 분석 규칙을 빌드해야 합니다.

대부분의 데이터 원본은 시끄럽고 볼륨이 높지만 IP 주소, Azure Firewall 트래픽, Fortigate 트래픽 등을 포함하여 보안 값이 낮은 원시 로그입니다. 하루에 약 1TB의 총 볼륨이 있습니다.

과제: 별도의 규칙을 만들려면 여러 논리 앱이 필요하며 추가 설정 및 유지 관리 오버헤드 및 비용이 필요합니다.

해결 방법: 요약 규칙을 사용하여 다음을 수행하는 것이 좋습니다.

  1. 요약 규칙을 만듭니다.

    1. 쿼리를 확장하여 보조 계획이 있는 CommonSecurityLogCommonSecurityLog_CL 테이블에서 원본 주소, 대상 주소 및 대상 포트와 같은 키 필드를 추출합니다.

    2. 활성 위협 인텔리전스 지표에 대한 내부 조회를 수행하여 원본 주소와 일치하는 항목을 식별합니다. 이를 통해 알려진 위협과 데이터를 상호 참조할 수 있습니다.

    3. 생성된 시간, 활동 유형 및 악의적인 원본 IP를 포함한 관련 정보를 대상 세부 정보와 함께 프로젝션합니다. 쿼리를 실행할 빈도 및 Destination 테이블(예: MaliciousIPDetection )을 설정합니다. 이 테이블의 결과는 분석 계층에 있으며 그에 따라 요금이 청구됩니다.

  2. 경고 만들기:

    Microsoft Sentinel MaliciousIPDetection 테이블의 결과에 따라 경고하는 분석 규칙을 만듭니다. 이 단계는 사전 위협 탐지 및 인시던트 대응에 매우 중요합니다.

샘플 요약 규칙:

CommonSecurityLog_CL​
| extend sourceAddress = tostring(parse_json(Message).sourceAddress), destinationAddress = tostring(parse_json(Message).destinationAddress), destinationPort = tostring(parse_json(Message).destinationPort)​
| lookup kind=inner (ThreatIntelligenceIndicator | where Active == true ) on $left.sourceAddress == $right.NetworkIP​
| project TimeGenerated, Activity, Message, DeviceVendor, DeviceProduct, sourceMaliciousIP =sourceAddress, destinationAddress, destinationPort