다음을 통해 공유


AMA 커넥터를 사용하여 Windows DNS 서버에서 데이터 스트리밍 및 필터링

이 문서에서는 AMA(Azure Monitor 에이전트) 커넥터를 사용하여 Windows DNS(Domain Name System) 서버 로그에서 이벤트를 스트리밍하고 필터링하는 방법을 설명합니다. 그런 다음 데이터를 심층 분석하여 위협과 공격으로부터 DNS 서버를 보호할 수 있습니다. AMA 및 해당 DNS 확장은 DNS 분석 로그에서 Microsoft Sentinel 작업 영역으로 데이터를 업로드하기 위해 Windows Server에 설치됩니다.

DNS는 호스트 이름과 컴퓨터가 읽을 수 있는 IP 주소를 매핑하는 널리 사용되는 프로토콜입니다. DNS는 보안을 염두에 두고 설계되지 않았기 때문에 서비스는 악의적인 작업의 대상이 되므로 로깅은 보안 모니터링의 필수 부분입니다. DNS 서버를 대상으로 하는 잘 알려진 일부 위협에는 DNS 서버를 대상으로 하는 DDoS 공격, DNS DDoS 증폭, DNS 하이재킹 등이 포함됩니다.

이 프로토콜의 전체 보안을 개선시키기 위해 몇 가지 메커니즘이 도입되었지만 DNS 서버는 여전히 고도로 대상화된 서비스입니다. 조직은 DNS 로그를 모니터링하여 네트워크 활동을 더 잘 이해하고 네트워크 내의 리소스를 대상으로 하는 의심스러운 동작이나 공격을 식별할 수 있습니다. AMA를 통한 Windows DNS 이벤트 커넥터는 이러한 형식의 표시 유형을 제공합니다. 예를 들어 커넥터를 사용하여 악의적인 도메인 이름을 확인하거나, DNS 서버에서 요청 부하를 보고 모니터링하거나, 동적 DNS 등록 실패를 보려는 클라이언트를 식별합니다.

참고 항목

AMA를 통한 Windows DNS 이벤트 커넥터는 현재 분석 이벤트 작업만 지원합니다.

필수 조건

시작하기 전에 다음 사항이 있는지 확인합니다.

  • Microsoft Sentinel에 사용하도록 설정된 Log Analytics 작업 영역입니다.
  • 작업 영역에 설치된 Windows Server DNS 솔루션입니다.
  • 감사 핫픽스가 포함된 Windows Server 2012 R2 이상.
  • Windows DNS 서버입니다.

Azure Virtual Machines가 아닌 컴퓨터에서 이벤트를 수집하려면 Azure Arc가 설치되어 있는지 확인합니다. Azure Monitor 에이전트 기반 커넥터를 사용하도록 설정하기 전에 Azure Arc를 설치하고 사용하도록 설정합니다. 이 요구 사항에는 다음이 포함됩니다.

  • 물리적 머신에 설치된 Windows 서버
  • 온-프레미스 가상 머신에 설치된 Windows 서버
  • 비 Azure 클라우드의 가상 머신에 설치된 Windows 서버

포털을 통해 AMA 커넥터를 통해 Windows DNS 구성

포털 설정 옵션을 사용하여 작업 영역당 단일 DCR(데이터 수집 규칙)을 사용하여 커넥터를 구성합니다. 그 후 고급 필터를 사용하여 특정 이벤트 또는 정보를 필터링하고 모니터링하려는 중요한 데이터만 업로드하여 비용과 대역폭 사용량을 줄입니다.

여러 DCR 을 만들어야 하는 경우 대신 API 를 사용합니다. API를 사용하여 여러 DCR을 만들면 포털에 DCR이 하나만 표시됩니다.

커넥터를 구성하려면 다음을 수행합니다.

  1. Microsoft Sentinel에서 데이터 커넥터 페이지를 열고 AMA 커넥터통해 Windows DNS 이벤트를 찾습니다.

  2. 측면 창 아래쪽으로 연결선 열기 페이지를 선택합니다.

  3. 구성 영역에서 데이터 수집 규칙 만들기를 선택합니다. 작업 영역당 단일 DCR을 만들 수 있습니다.

    DCR 이름, 구독 및 리소스 그룹은 작업 영역 이름, 현재 구독 및 커넥터가 선택된 리소스 그룹을 기반으로 자동으로 설정됩니다. 예시:

    AMA를 통한 Windows DNS 커넥터에 대해 새 DCR을 만드는 스크린샷.

  4. 리소스 탭 >리소스 추가를 선택합니다.

  5. 커넥터를 설치하여 로그를 수집할 VM을 선택합니다. 예시:

    AMA를 통한 Windows DNS 커넥터에 대해 리소스를 선택하는 스크린샷.

  6. 변경 내용을 검토하고 저장>적용을 선택합니다.

API를 통해 AMA 커넥터를 통해 Windows DNS 구성

API 설치 옵션을 사용하여 작업 영역당 여러 DCR 을 사용하여 커넥터를 구성합니다. 단일 DCR을 사용하려는 경우 포털 옵션을 대신 사용합니다.

API를 사용하여 여러 DCR을 만들면 포털에 DCR이 하나만 표시됩니다.

다음 예제를 템플릿으로 사용하여 DCR을 만들거나 업데이트합니다.

요청 URL 및 헤더


PUT 

    https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}?api-version=2019-11-01-preview 

요청 본문


{
    "properties": {
        "dataSources": {
            "windowsEventLogs": [],
            "extensions": [
                {
                    "streams": [
                        "Microsoft-ASimDnsActivityLogs"
                    ],
                    "extensionName": "MicrosoftDnsAgent",
                    "extensionSettings": {
                        "Filters": [
                            {
                                "FilterName": "SampleFilter",
                                "Rules": [
                                    {
                                        "Field": "EventOriginalType",
                                        "FieldValues": [
                                            "260"
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    "name": "SampleDns"
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{sentinelWorkspaceName}",
                    "workspaceId": {WorkspaceGuid}",
                    "name": "WorkspaceDestination"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft-ASimDnsActivityLogs"
                ],
                "destinations": [
                    " WorkspaceDestination "
                ]
            }
        ],
    },
    "location": "eastus2",
    "tags": {},
    "kind": "Windows",
    "id":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Insights/dataCollectionRules/{workspaceName}-microsoft-sentinel-asimdnsactivitylogs ",
    "name": " {workspaceName}-microsoft-sentinel-asimdnsactivitylogs ",
    "type": "Microsoft.Insights/dataCollectionRules",
}

DCR에서 고급 필터 사용

DNS 서버 이벤트 로그에는 수많은 이벤트가 포함될 수 있습니다. 고급 필터링을 사용하여 데이터를 업로드하기 전에 불필요한 이벤트를 필터링하여 중요한 심사 시간과 비용을 절약하는 것이 좋습니다. 필터는 작업 영역에 업로드된 이벤트 스트림에서 불필요한 데이터를 제거하고 여러 필드의 조합을 기반으로 합니다.

자세한 내용은 필터링에 사용할 수 있는 필드를 참조 하세요.

포털을 통해 고급 필터 만들기

다음 절차에 따라 포털을 통해 필터를 만듭니다. API를 사용하여 필터를 만드는 방법에 대한 자세한 내용은 고급 필터링 예제를 참조 하세요.

포털을 통해 필터를 만들려면 다음을 수행합니다.

  1. 커넥터 페이지의 구성 영역에서 데이터 수집 필터 추가를 선택합니다.

  2. 필터의 이름을 입력하고 수집된 이벤트 수를 줄이는 매개 변수인 필터 형식을 선택합니다. 매개 변수는 DNS 정규화된 스키마에 따라 정규화됩니다. 자세한 내용은 필터링에 사용할 수 있는 필드를 참조 하세요.

    AMA를 통한 Windows DNS 커넥터에 대해 필터를 만드는 스크린샷.

  3. 드롭다운에 나열된 값 중에서 필드를 필터링할 값을 선택합니다.

    AMA를 통한 Windows DNS 커넥터에 대해 필터에 필드를 추가하는 스크린샷.

  4. 복잡한 필터를 추가하려면 필터링할 제외 필드 추가를 선택하고 관련 필드를 추가합니다.

    • 쉼표로 구분된 목록을 사용하여 각 필드에 대해 여러 값을 정의합니다.
    • 복합 필터를 만들려면 AND 관계가 있는 다른 필드를 사용합니다.
    • 다른 필터를 결합하려면 필터 사이에 OR 관계를 사용합니다.

    필터는 다음과 같이 와일드카드도 지원합니다.

    • 각 별표(*.) 뒤에 점을 추가합니다.
    • 도메인 목록 사이에 공백을 사용하지 마세요.
    • 와일드카드는 프로토콜에 관계없이 www.domain.com을 포함하여 도메인의 하위 도메인에만 적용됩니다. 예를 들어 고급 필터에서 *.domain.com을 사용하는 경우:
      • 필터는 프로토콜이 HTTPS, FTP 등인지 여부에 관계없이 www.domain.comsubdomain.domain.com에 적용됩니다.
      • 필터가 domain.com에 적용되지 않습니다. 필터를 domain.com에 적용하려면 와일드카드를 사용하지 않고 도메인을 직접 지정합니다.
  5. 새 필터를 더 추가하려면 새 제외 필터 추가를 선택합니다.

  6. 필터 추가가 완료되면 추가를 선택합니다.

  7. 기본 커넥터 페이지로 돌아가서 변경 내용 적용을 선택하여 필터를 저장하고 커넥터에 배포합니다. 기존 필터 또는 필드를 편집하거나 삭제하려면 구성 영역 아래의 표에서 편집 또는 삭제 아이콘을 선택합니다.

  8. 초기 배포 후에 필드 또는 필터를 추가하려면 데이터 수집 필터 추가를 다시 선택합니다.

고급 필터링 예제

다음 예제를 사용하여 포털 또는 API를 통해 일반적으로 사용되는 고급 필터를 만듭니다.

특정 이벤트 ID를 수집하지 마세요.

이 필터는 IPv6 주소가 있는 EventID 256, EventID 257 또는 EventID 260을 수집하지 않도록 커넥터에 지시합니다.

Microsoft Sentinel 포털 사용:

  1. Equals 연산자를 사용하여 EventOriginalType 필드가 포함된 필터를 만듭니다. 이 값은 256, 257260입니다.

    AMA를 통한 Windows DNS 커넥터에 대해 이벤트 ID를 필터링하는 스크린샷.

  2. 위에 정의된 And 연산자를 사용하여 EventOriginalType 필드가 포함된 필터를 만듭니다. 여기에 AAAA로 설정된 DnsQueryTypeName 필드도 포함합니다.

    AMA를 통한 Windows DNS 커넥터에 대해 이벤트 ID 및 IPv6 주소를 필터링하는 스크린샷.

API 사용:

"Filters": [
    {
        "FilterName": "SampleFilter",
        "Rules": [
            {
                "Field": "EventOriginalType",
                "FieldValues": [
                    "256", "257", "260"                                                                              
                ]
            },
            {
                "Field": "DnsQueryTypeName",
                "FieldValues": [
                    "AAAA"                                        
                ]
            }
        ]
    },
    {
        "FilterName": "EventResultDetails",
        "Rules": [
            {
                "Field": "EventOriginalType",
                "FieldValues": [
                    "230"                                        
                ]
            },
            {
                "Field": "EventResultDetails",
                "FieldValues": [
                    "BADKEY","NOTZONE"                                        
                ]
            }
        ]
    }
]

특정 도메인으로 이벤트를 수집하지 마세요.

이 필터는 커넥터가 microsoft.com, google.com, amazon.com의 하위 도메인 또는 facebook.com 또는 center.local의 이벤트를 수집하지 않도록 지시합니다.

Microsoft Sentinel 포털 사용:

Equals 연산자를 사용하여 DnsQuery 필드를 설정합니다. 이 목록은 *.microsoft.com,*.google.com,facebook.com,*.amazon.com,center.local입니다.

와일드카드 사용에 대한 다음 고려 사항을 검토합니다.

AMA를 통한 Windows DNS 커넥터에 대해 도메인을 필터링하는 스크린샷.

단일 필드에 다른 값을 정의하려면 OR 연산자를 사용합니다.

API 사용:

와일드카드 사용에 대한 다음 고려 사항을 검토합니다.

"Filters": [ 

    { 

        "FilterName": "SampleFilter", 

        "Rules": [ 

            { 

                "Field": "DnsQuery", 

                "FieldValues": [ 

                    "*.microsoft.com", "*.google.com", "facebook.com", "*.amazon.com","center.local"                                                                               

                ] 

            }, 

         } 

    } 

] 

ASIM을 사용한 정규화

이 커넥터는 ASIM(고급 보안 정보 모델) 파서를 사용하여 완전히 정규화되었습니다. 이 커넥터는 분석 로그에서 시작된 이벤트를 ASimDnsActivityLogs라는 정규화된 테이블로 스트리밍합니다. 이 테이블은 하나의 통합 언어를 사용하여 앞으로 나올 모든 DNS 커넥터에서 공유되는 변환기 역할을 합니다.

모든 DNS 데이터를 통합하고 구성된 모든 원본에서 분석이 실행되도록 원본에 중립적인 파서의 경우 ASIM DNS 통합 파서 _Im_Dns를 사용합니다.

ASIM 통합 파서는 네이티브 ASimDnsActivityLogs 테이블을 보완합니다. 네이티브 테이블은 ASIM과 호환되지만, 쿼리 시에만 사용할 수 있는 기능(예: 별칭)을 추가하고 ASimDnsActivityLogs를 다른 DNS 데이터 원본과 결합하려면 파서가 필요합니다.

ASIM DNS 스키마는 분석 로그의 Windows DNS 서버에 로그된 DNS 프로토콜 작업을 나타냅니다. 스키마는 필드와 값을 정의하는 공식 매개 변수 목록과 RFC에 의해 관리됩니다.

정규화된 필드 이름으로 번역된 Windows DNS 서버 필드 목록을 참조하세요.

이 문서에서는 AMA를 통한 Windows DNS 이벤트 커넥터를 설정하여 데이터를 업로드하고 Windows DNS 로그를 필터링하는 방법을 알아보았습니다. Microsoft Sentinel에 대해 자세히 알아보려면 다음 문서를 참조하세요.