Microsoft Sentinel 사용자 지정 커넥터를 만들기 위한 리소스

Microsoft Sentinel은 Azure 서비스 및 외부 솔루션용 기본 제공 커넥터를 다양하게 제공하며, 전용 커넥터 없이 일부 원본의 데이터 수집을 지원합니다.

사용 가능한 기존 솔루션을 사용하여 Microsoft Sentinel에 데이터 원본을 연결할 수 없는 경우 고유한 데이터 원본 커넥터를 만드는 것이 좋습니다.

지원되는 커넥터의 전체 목록은 Microsoft Sentinel: 커넥터 그랜드(CEF, Syslog, 직접, 에이전트, 사용자 지정 등) 블로그 게시물을 참조하세요.

사용자 지정 커넥터 방법 비교

다음 표에서는 이 문서에서 설명하는 사용자 지정 커넥터를 만들기 위한 각 방법에 대한 필수 정보를 비교합니다. 각 방법에 대한 자세한 내용을 보려면 표에서 링크를 선택합니다.

방법 설명 기능 서버를 사용하지 않음 복잡성
CCP(코드리스 커넥터 플랫폼)
기술이 뛰어나지 않은 대상 그룹이 고급 개발 대신 구성 파일을 사용하여 SaaS 커넥터를 만드는 데 가장 적합합니다.
코드에서 사용할 수 있는 모든 기능을 지원합니다. 낮음, 간단한 코드리스 개발
Log Analytics 에이전트
온-프레미스 및 IaaS 원본에서 파일을 수집하는 데 가장 적합
파일 컬렉션만 해당 아니요 낮음
Logstash
온-프레미스 및 IaaS 원본, 플러그 인을 사용할 수 있는 원본 및 이미 Logstash에 익숙한 조직에 가장 적합합니다.
사용 가능한 플러그 인 및 사용자 지정 플러그 인, 기능은 상당한 유연성을 제공합니다. 아니요, VM 또는 VM 클러스터를 실행해야 합니다. 낮음, 플러그 인을 사용하는 많은 시나리오 지원
논리 앱
높은 비용, 대용량 데이터의 경우 방지
볼륨이 낮은 클라우드 원본에 가장 적합
코드리스 프로그래밍을 사용하면 알고리즘 구현에 대한 지원 없이 유연성을 제한할 수 있습니다.

사용 가능한 작업에서 요구 사항을 지원하지 않는 경우 사용자 지정 작업을 만들면 복잡성이 추가될 수 있습니다.
낮음, 간단한 코드리스 개발
PowerShell
프로토타입 및 정기 파일 업로드에 가장 적합
파일 컬렉션에 대한 직접 지원.

PowerShell을 사용하여 더 많은 원본을 수집할 수 있지만 스크립트를 서비스로 코딩하고 구성해야 합니다.
아니요 낮음
Log Analytics API
ISV의 통합 구현 및 고유한 컬렉션 요구 사항에 가장 적합
코드에서 사용할 수 있는 모든 기능을 지원합니다. 구현에 따라 달라집니다. 높음
Azure Functions
대용량 클라우드 원본과 고유한 컬렉션 요구 사항에 가장 적합합니다.
코드에서 사용할 수 있는 모든 기능을 지원합니다. 높음, 프로그래밍 지식 필요

동일한 커넥터에 대해 Logic Apps 및 Azure Functions를 사용한 비교는 다음을 참조하세요.

코드리스 커넥터 플랫폼을 사용하여 연결

CCP(코드리스 커넥터 플랫폼)는 고객과 파트너가 모두 사용할 수 있고, 고유한 작업 영역에 배포하거나 Microsoft Sentinel 솔루션 갤러리에 솔루션으로 배포할 수 있는 구성 파일을 제공합니다.

CCP를 사용하여 만든 커넥터는 서비스 설치 요구 사항이 없는 완전한 SaaS로, 상태 모니터링과 Microsoft Sentinel의 전체 지원도 포함합니다.

자세한 내용은 Microsoft Sentinel용 코드리스 커넥터 만들기를 참조하세요.

Log Analytics 에이전트로 연결

데이터 원본이 파일에 이벤트를 전달하는 경우 Azure Monitor Log Analytics 에이전트를 사용하여 사용자 지정 커넥터를 만드는 것이 좋습니다.

Logstash로 연결

Logstash를 잘 알고 있는 경우 Microsoft Sentinel용 Logstash 출력 플러그 인에서 Logstash를 사용하여 사용자 지정 커넥터를 만드는 것이 좋습니다.

Microsoft Sentinel Logstash 출력 플러그 인을 통해 Logstash 입력 및 필터링 플러그 인을 사용하고 Microsoft Sentinel을 Logstash 파이프라인의 출력으로 구성할 수 있습니다. Logstash에는 Event Hubs, Apache Kafka, 파일, 데이터베이스 및 클라우드 서비스와 같은 다양한 원본에서 입력을 사용할 수 있도록 하는 많은 플러그 인 라이브러리가 있습니다. 필터링 플러그 인을 사용하여 이벤트를 구문 분석하고, 불필요한 이벤트를 필터링하고, 값을 난독 처리합니다.

Logstash를 사용자 지정 커넥터로 사용하는 예제는 다음을 참조하세요.

유용한 Logstash 플러그 인의 예제는 다음을 참조하세요.

Logstash는 클러스터를 사용하여 크기가 조정된 데이터 수집도 가능합니다. 자세한 내용은 대규모로 부하가 분산된 Logstash VM 사용을 참조하세요.

Logic Apps로 연결

Azure Logic Apps를 사용하여 Microsoft Sentinel용 서버리스 사용자 지정 커넥터를 만들 수 있습니다.

참고 항목

Logic Apps를 사용하여 서버리스 커넥터를 만드는 것이 편리할 수 있지만, 커넥터에 대해 Logic Apps를 사용하면 대용량 데이터에 대해 비용이 많이 들 수 있습니다

이 방법은 볼륨이 낮은 데이터 원본이나 데이터 업로드 보강에만 사용하는 것이 좋습니다.

  1. 다음 트리거 중 하나를 사용하여 Logic Apps를 시작합니다.

    트리거 설명
    되풀이 작업 예를 들어 특정 파일, 데이터베이스 또는 외부 API에서 정기적으로 데이터를 검색하도록 논리 앱을 예약합니다.
    자세히 알아보려면 Azure Logic Apps에서 되풀이 작업 및 워크플로를 만들고 예약하고 실행하는 방법을 참조하세요.
    주문형 트리거 수동 데이터 수집 및 테스트를 위해 요청 시 논리 앱을 실행합니다.
    자세한 내용은 HTTPS 엔드포인트를 사용하여 논리 앱 호출, 트리거 또는 중첩을 참조하세요.
    HTTP/S 엔드포인트 원본 시스템에서 데이터 전송을 시작할 수 있는 경우 스트리밍에 권장됩니다.
    자세한 내용은 HTTP 또는 HTTPS를 통한 서비스 엔드포인트 호출을 참조하세요.
  2. 정보를 읽는 논리 앱 커넥터를 사용하여 이벤트를 가져옵니다. 예시:

    REST API, SQL Server 및 파일 시스템에 대한 사용자 지정 커넥터는 온-프레미스 데이터 원본에서 데이터 검색도 지원합니다. 자세한 내용은 온-프레미스 데이터 게이트웨이 설치 문서를 참조하세요.

  3. 검색하려는 정보를 준비합니다.

    예를 들어 JSON 구문 분석 작업을 사용하여 JSON 콘텐츠에서 속성에 액세스하면 논리 앱에 대한 입력을 지정할 때 동적 콘텐츠 목록에서 해당 속성을 선택할 수 있습니다.

    자세한 내용은 Azure Logic Apps에서 데이터 작업 수행을 참조하세요.

  4. Log Analytics에 데이터를 씁니다.

    자세한 내용은 Azure Log Analytics 데이터 수집기 설명서를 참조하세요.

Logic Apps를 사용하여 Microsoft Sentinel용 사용자 지정 커넥터를 만드는 방법의 예제는 다음을 참조하세요.

PowerShell로 연결

Upload-AzMonitorLog PowerShell 스크립트를 사용하면 PowerShell을 통해 명령줄에서 Microsoft Sentinel로 이벤트 또는 컨텍스트 정보를 스트리밍할 수 있습니다. 이 스트리밍은 데이터 원본과 Microsoft Sentinel 간에 효과적으로 사용자 지정 커넥터를 만듭니다.

예를 들어 다음 스크립트는 CSV 파일을 Microsoft Sentinel에 업로드합니다.

Import-Csv .\testcsv.csv
| .\Upload-AzMonitorLog.ps1
-WorkspaceId '69f7ec3e-cae3-458d-b4ea-6975385-6e426'
-WorkspaceKey $WSKey
-LogTypeName 'MyNewCSV'
-AddComputerName
-AdditionalDataTaggingName "MyAdditionalField"
-AdditionalDataTaggingValue "Foo"

Upload-AzMonitorLog PowerShell 스크립트 스크립트는 다음 매개 변수를 사용합니다.

매개 변수 설명
WorkspaceId 데이터를 저장할 Microsoft Sentinel 작업 영역 ID입니다. 작업 영역 ID 및 키를 찾습니다.
WorkspaceKey 데이터를 저장할 Microsoft Sentinel 작업 영역의 기본 키 또는 보조 키입니다. 작업 영역 ID 및 키를 찾습니다.
LogTypeName 데이터를 저장할 사용자 지정 로그 테이블의 이름입니다. _CL의 접미사가 테이블 이름의 끝에 자동으로 추가됩니다.
AddComputerName 이 매개 변수가 있는 경우 스크립트는 Computer라는 필드의 모든 로그 레코드에 현재 컴퓨터 이름을 추가합니다.
TaggedAzureResourceId 이 매개 변수가 있는 경우 스크립트는 모든 업로드된 로그 레코드를 지정된 Azure 리소스와 연결합니다.

이 연결은 리소스 컨텍스트 쿼리에 대해 업로드된 로그 레코드를 사용하도록 설정하고, 리소스 중심의 역할 기반 액세스 제어를 준수합니다.
AdditionalDataTaggingName 이 매개 변수가 있는 경우 스크립트는 구성된 이름과 AdditionalDataTaggingValue 매개 변수에 대해 구성된 값을 사용하여 모든 로그 레코드에 다른 필드를 추가합니다.

이 경우 AdditionalDataTaggingValue는 비워 둘 수 없습니다.
AdditionalDataTaggingValue 이 매개 변수가 있는 경우 스크립트는 AdditionalDataTaggingName 매개 변수에 대해 구성된 필드 이름과 구성된 값을 사용하여 모든 로그 레코드에 다른 필드를 추가합니다.

AdditionalDataTaggingName 매개 변수가 비어 있지만 값이 구성된 경우 기본 필드 이름은 DataTagging입니다.

작업 영역 ID 및 키 찾기

Microsoft Sentinel에서 WorkspaceIDWorkspaceKey 매개 변수에 대한 세부 정보를 찾습니다.

  1. Microsoft Sentinel 왼쪽에서 설정을 선택한 다음, 작업 영역 설정 탭을 선택합니다.

  2. Log Analytics 시작하기>1 데이터 원본 연결에서 Windows 및 Linux 에이전트 관리를 선택합니다.

  3. Windows 서버 탭에서 작업 영역 ID, 기본 키 및 보조 키를 찾습니다.

Log Analytics API로 연결

Log Analytics 데이터 수집기 API를 사용하여 RESTful 엔드포인트를 직접 호출하면 이벤트를 Microsoft Sentinel로 스트리밍할 수 있습니다.

RESTful 엔드포인트를 직접 호출하는 경우 더 많은 프로그래밍이 필요하지만 유연성이 향상됩니다.

자세한 내용은 Log Analytics 데이터 수집기 API를 참조하세요. 특히 다음 예제를 참조하세요.

Azure Functions로 연결

RESTful API 및 PowerShell과 같은 다양한 코딩 언어와 함께 Azure Functions를 사용하여 서버리스 사용자 지정 커넥터를 만듭니다.

이 방법의 예제는 다음을 참조하세요.

사용자 지정 커넥터 데이터 구문 분석

사용자 지정 커넥터를 사용하여 수집된 데이터를 활용하려면 커넥터 작업을 위한 ASIM(고급 보안 정보 모델) 파서를 개발합니다. ASIM을 사용하면 Microsoft Sentinel의 기본 제공 콘텐츠에 사용자 지정 데이터를 사용할 수 있으며, 분석가가 데이터를 더 쉽게 쿼리할 수 있습니다.

커넥터 메서드가 허용하는 경우 부분적으로 구문 분석을 커넥터의 일부로 구현하여 쿼리 시간 구문 분석 성능을 향상할 수 있습니다.

  • Logstash를 사용한 경우Grok 필터 플러그 인을 사용하여 데이터를 구문 분석합니다.
  • Azure 함수를 사용한 경우에는 코드를 사용하여 데이터를 구문 분석합니다.

여전히 ASIM 파서를 구현해야 하지만, 커넥터에서 직접 구문 분석의 일부를 구현하면 구문 분석이 간소화되고 성능이 향상됩니다.

다음 단계

Microsoft Sentinel로 수집된 데이터를 사용하여 다음 프로세스 중 하나로 환경을 보호합니다.

또한 사용자 지정 커넥터를 만들어 Zoom을 모니터링하는 예제인 Microsoft Sentinel을 사용하여 Zoom 모니터링에 대해 알아봅니다.