Azure Monitor 에이전트를 사용하여 텍스트 파일에서 로그를 수집하고 Microsoft Sentinel로 수집

이 문서에서는 AMA를 통한 사용자 지정 로그 커넥터를 사용하여 Windows 또는 Linux 컴퓨터에 설치된 네트워크 또는 보안 애플리케이션에서 텍스트 파일 형식의 로그를 빠르게 필터링하고 수집하는 방법을 설명합니다.

많은 애플리케이션이 Windows 이벤트 로그 또는 Syslog 같은 표준 로깅 서비스 대신 텍스트 파일에 정보를 기록합니다. AMA(Azure Monitor 에이전트)를 사용하면 Windows 및 Linux 컴퓨터에서 비표준 형식의 텍스트 파일로 데이터를 수집할 수 있습니다. AMA는 컬렉션 시점에 데이터를 변환하여 다양한 필드로 분석할 수도 있습니다.

Microsoft Sentinel에서 로그 컬렉션을 지원하는 솔루션을 제공하는 애플리케이션에 대한 자세한 내용은 AMA 데이터 커넥터를 통한 사용자 지정 로그 - 특정 애플리케이션에서 Microsoft Sentinel로 데이터 수집 구성을 참조하세요.

텍스트 파일에서 사용자 지정 로그를 수집하는 것에 대한 보다 일반적인 정보는 Azure Monitor 에이전트를 사용하여 텍스트 파일에서 로그 수집을 참조하세요.

Important

  • AMA를 통한 사용자 지정 로그 데이터 커넥터는 현재 미리 보기 상태입니다. 베타 또는 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 추가 약관은 Microsoft Azure 미리 보기에 대한 추가 사용 약관을 참조하세요.

  • 이제 Microsoft Sentinel은 Microsoft Defender 포털의 Microsoft 통합 보안 운영 플랫폼 내에서 일반 공급됩니다. 자세한 내용은 Microsoft Defender 포털의 Microsoft Sentinel을 참조하세요.

필수 조건

시작하기 전에 이 섹션에 설명된 대로 리소스를 구성하고 적절한 권한을 할당해야 합니다.

Microsoft Sentinel 필수 구성 요소

  • 사용자의 애플리케이션과 일치하는 Microsoft Sentinel 솔루션을 설치하고 이 문서의 단계를 완료할 수 있는 권한이 있는지 확인합니다. 이러한 솔루션은 Microsoft Sentinel의 콘텐츠 허브에서 찾을 수 있으며, 여기에는 모두 AMA를 통한 사용자 지정 로그 커넥터가 포함되어 있습니다.

    콘텐츠 허브에 솔루션이 있는 애플리케이션 목록은 애플리케이션별 특정 지침을 참조하세요. 애플리케이션에 사용 가능한 솔루션이 없는 경우 AMA를 통한 사용자 지정 로그 솔루션을 설치합니다.

    자세한 내용은 Microsoft Sentinel 기본 제공 콘텐츠 검색 및 관리를 참조하세요.

  • Azure 계정에 다음 Azure RBAC(Azure 역할 기반 액세스 제어) 역할을 부여합니다.

    기본 제공 역할 범위 원인
    - 가상 머신 참가자
    - Azure Connected Machine
       리소스 관리자
  • VM(가상 머신)
  • Virtual Machine Scale Sets
  • Azure Arc 지원 서버
  • 에이전트 배포 방법
    작업이 포함된 모든 역할
    Microsoft.Resources/deployments/*
  • 구독
  • Resource group
  • 기존 데이터 수집 규칙
  • Azure Resource Manager 템플릿 배포
    Monitoring Contributor
  • 구독
  • Resource group
  • 기존 데이터 수집 규칙
  • 데이터 컬렉션 규칙 만들기 또는 편집

로그 전달자 필수 구성 요소

일부 사용자 지정 애플리케이션은 외부 로그 수집기/전달자로 로그를 전송해야 하는 닫힌 어플라이언스에 호스트됩니다. 이러한 시나리오에서는 로그 전달자에 다음과 같은 필수 조건이 적용됩니다.

  • 로그를 수집하려면 지정된 Linux VM이 로그 전달자로 있어야 합니다.

  • 로그 전달자가 Azure Virtual Machine이 아닌 경우 Azure Arc Connected Machine 에이전트가 설치되어 있어야 합니다.

  • Linux 로그 전달자 VM에 Python 2.7 또는 3이 설치되어 있어야 합니다. python --version 또는 python3 --version 명령을 사용하여 확인합니다. Python 3을 사용하는 경우 컴퓨터에서 기본 명령으로 설정되어 있는지 확인하거나 'python' 대신 'python3' 명령을 사용하여 스크립트를 실행합니다.

  • 로그 전달자에 syslog-ng 또는 rsyslog 디먼이 사용되도록 설정되어야 합니다.

  • 로그 전달자에 대한 공간 요구 사항은 Azure Monitor 에이전트 성능 벤치마크를 참조하세요. 확장성 있는 수집을 위한 디자인이 포함된 이 블로그 게시물도 검토할 수 있습니다.

  • 로그 원본, 보안 디바이스 및 어플라이언스는 로그 메시지를 로컬 Syslog 디먼 대신 로그 전달자의 Syslog 디먼으로 보내도록 구성해야 합니다.

컴퓨터 보안 필수 조건

조직의 보안 정책에 따라 로그 전달자 컴퓨터의 보안을 구성합니다. 예를 들어 네트워크가 회사 네트워크 보안 정책에 맞게 구성하고 디먼의 포트 및 프로토콜이 사용자의 요구 사항에 맞게 변경합니다. 컴퓨터 보안 구성을 개선하려면 Azure에서 VM을 보안하거나 네트워크 보안을 위한 모범 사례를 검토합니다.

예를 들어, 로그 전달자가 클라우드에 있는 등의 이유로 디바이스가 TLS를 통해 로그를 보내는 경우 TLS로 통신하도록 syslog 디먼(rsyslog 또는 syslog-ng)을 구성해야 합니다. 자세한 내용은 다음을 참조하세요.

데이터 커넥터 구성

AMA 데이터 커넥터를 통한 사용자 지정 로그 설정 프로세스에는 다음 단계가 포함됩니다.

  1. Log Analytics(또는 Defender 포털에 있는 경우 고급 헌팅)에서 대상 테이블을 만듭니다.

    테이블 이름은 _CL로 끝나야 하며 다음 두 필드로만 구성되어야 합니다.

    • TimeGenerated(DateTime 형식): 로그 메시지 만들기 타임스탬프.
    • RawData(String 형식): 전체 로그 메시지입니다.
      (애플리케이션을 호스팅하는 디바이스에서 직접 로그를 수집하지 않고 로그 전달자에서 로그를 수집하는 경우 이 필드의 이름을 RawData 대신 Message로 지정합니다.)
  2. 다음 방법 중 하나를 사용하여 Azure Monitor 에이전트를 설치하고 DCR(데이터 수집 규칙)을 만듭니다.

  3. 로그 전달자를 사용하여 로그를 수집하는 경우, 해당 컴퓨터에서 syslog 디먼을 구성하여 다른 원본에서 온 메시지를 수신 대기하고 필요한 로컬 포트를 엽니다. 자세한 내용은 로그를 허용하도록 로그 전달자 구성을 참조하세요.

지침을 보려면 적절한 탭을 선택합니다.

DCR(데이터 수집 규칙)을 만듭니다.

시작하려면 Microsoft Sentinel에서 AMA를 통한 사용자 지정 로그 데이터 커넥터를 열고 DCR(데이터 수집 규칙)을 만듭니다.

  1. Azure Portal의 Microsoft Sentinel의 경우 구성 아래에서 데이터 커넥터를 선택합니다.
    Defender 포털에서 Microsoft Sentinel의 경우 Microsoft Sentinel>구성>데이터 커넥터를 선택합니다.

  2. 검색 상자에 custom을 입력합니다. 결과에서 AMA를 통한 사용자 지정 로그 커넥터를 선택합니다.

  3. 세부 정보 창에서 커넥터 페이지 열기를 선택합니다.

    갤러리의 사용자 지정 로그 AMA 커넥터의 스크린샷.

  4. 구성 영역에서 +데이터 수집 규칙 만들기를 선택합니다.

    AMA 커넥터 페이지를 통한 사용자 지정 로그를 보여 주는 스크린샷.

  5. 기본 탭에서 다음을 수행합니다.

    • DCR 이름을 입력합니다.
    • 구독을 선택합니다.
    • DCR을 찾으려는 리소스 그룹을 선택합니다.

    기본 탭의 DCR 세부 정보를 보여 주는 스크린샷.

  6. 다음: 리소스>를 선택합니다.

VM 리소스 정의

리소스 탭에서 로그를 수집할 컴퓨터를 선택합니다. 이는 애플리케이션이 설치된 컴퓨터이거나 로그 전달자 컴퓨터입니다. 찾고 있는 컴퓨터가 목록에 나타나지 않으면 Azure Connected Machine 에이전트가 설치된 Azure VM이 아닐 수 있습니다.

  1. 사용 가능한 필터나 검색 상자를 사용하여 원하는 컴퓨터를 찾습니다. 목록에서 구독을 펼쳐 해당 리소스 그룹을 확인하고 리소스 그룹을 펼쳐 VM을 확인합니다.

  2. 로그를 수집할 장비를 선택합니다. VM 이름를 마우스로 가리키면 해당 확인란이 옆에 나타납니다.

    DCR을 설정할 때 리소스를 선택하는 방법을 보여 주는 스크린샷.

    선택한 컴퓨터에 Azure Monitor 에이전트가 아직 설치되어 있지 않으면 DCR이 만들어져 배포될 때 에이전트가 설치됩니다.

  3. 변경 내용을 검토하고 다음: 수집 >을 선택합니다.

애플리케이션에 맞게 DCR 구성

  1. 수집 탭에서 디바이스 유형 선택(선택 사항) 드롭다운 상자에서 애플리케이션이나 디바이스 유형을 선택하거나, 애플리케이션 또는 디바이스가 나열되지 않으면 사용자 지정 새 테이블로 그대로 둡니다.

  2. 나열된 애플리케이션이나 디바이스 중 하나를 선택하면 테이블 이름 필드에 자동으로 올바른 테이블 이름이 채워집니다. 사용자 지정 새 테이블을 선택한 경우 테이블 이름에 테이블 이름을 입력합니다. 이름은 _CL 접미사로 끝나야 합니다.

  3. 파일 패턴 필드에 수집할 텍스트 로그 파일의 경로와 파일 이름을 입력합니다. 각 애플리케이션 또는 디바이스 유형에 대한 기본 파일 이름과 경로를 찾으려면 애플리케이션 형식별 특정 지침을 참조하세요. 기본 파일 이름이나 경로를 사용할 필요는 없으며, 파일 이름에 와일드카드를 사용할 수 있습니다.

  4. 1단계에서 사용자 지정 새 테이블을 선택한 경우 변환 필드에 선택한 변환을 데이터에 적용하는 Kusto 쿼리를 입력합니다.

    1단계에서 나열된 애플리케이션 또는 디바이스 중 하나를 선택한 경우, 이 필드에는 적절한 변환이 자동으로 채워집니다. 거기에 나타나는 변환 내용을 편집하지 마세요. 선택한 형식에 따라 이 값은 다음 중 하나여야 합니다.

    • source(기본값—변환 없음)
    • source | project-rename Message=RawData(로그를 전달자로 보내는 디바이스의 경우)
  5. 선택 사항을 검토하고 다음: 검토 + 만들기를 선택합니다.

규칙 검토 및 만들기

모든 탭을 완료한 후 입력한 내용을 검토하고 데이터 수집 규칙을 만듭니다.

  1. 검토 및 만들기 탭에서 만들기를 선택합니다.

    DCR의 구성을 검토하고 만드는 방법을 보여 주는 스크린샷

    커넥터는 DCR을 만들 때 선택한 컴퓨터에 Azure Monitor 에이전트를 설치합니다.

  2. DCR이 만들어지고 에이전트가 설치되는 시기를 확인하려면 Azure Portal 또는 Microsoft Defender 포털의 알림을 확인합니다.

  3. 커넥터 페이지에서 새로 고침을 선택하여 목록에 표시된 DCR을 확인합니다.

로그를 허용하도록 로그 전달자 구성

로그 전달자를 사용하여 어플라이언스에서 로그를 수집하는 경우, 로그 전달자에서 syslog 디먼을 구성하여 다른 컴퓨터에서 오는 메시지를 수신 대기하고 필요한 로컬 포트를 엽니다.

  1. 다음 명령줄을 복사합니다.

    sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python Forwarder_AMA_installer.py
    
  2. AMA를 설치한 로그 전달자 컴퓨터에 로그인합니다.

  3. 마지막 단계에서 복사한 명령을 붙여넣어 설치 스크립트를 시작합니다.
    설치 스크립트는 필수 프로토콜을 사용하도록 rsyslog 또는 syslog-ng 디먼을 구성하고 디먼을 다시 시작합니다. 스크립트는 포트 514를 열어 UDP 및 TCP 프로토콜 모두에서 들어오는 메시지를 수신 대기합니다. 이 설정을 변경하려면 컴퓨터에서 실행되는 디먼 유형에 따라 Syslog 디먼 구성 파일을 참조하세요.

    • Rsyslog: /etc/rsyslog.conf
    • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

    Python 3를 사용 중이고 머신의 기본 명령으로 설정되지 않은 경우 붙여넣은 명령에서 pythonpython3로 바꾸세요. 로그 전달자 필수 요건을 확인하세요.

    참고 항목

    에이전트가 작동할 수 없는 전체 디스크 시나리오를 방지하려면 불필요한 로그를 저장하지 않도록 syslog-ng 또는 rsyslog 구성을 설정하는 것이 좋습니다. 전체 디스크 시나리오는 설치된 AMA의 함수를 방해합니다. 자세한 내용은 RSyslog 또는 Syslog-ng를 참조하세요.

보안 디바이스 또는 어플라이언스 구성

보안 애플리케이션 또는 어플라이언스를 구성하기 위한 특정 지침은 AMA 데이터 커넥터를 통한 사용자 지정 로그 - 특정 애플리케이션에서 Microsoft Sentinel로 데이터 수집 구성을 참조하세요.

자세한 내용을 원하거나 어플라이언스 또는 디바이스에 대한 정보를 사용할 수 없는 경우 솔루션 공급자에게 문의하세요.