로그 전달자를 배포하여 Syslog 및 CEF 로그를 Microsoft Sentinel로 수집

주의

이 문서에서는 EOL(수명 종료) 상태에 가까워진 Linux 배포판인 CentOS를 참조하세요. 이에 따라 사용 및 계획을 고려하세요. 자세한 내용은 CentOS 수명 종료 지침을 참조하세요.

특히 Log Analytics 에이전트를 직접 설치할 수 없는 디바이스와 어플라이언스의 Syslog 및 CEF 로그를 Microsoft Sentinel로 수집하려면 디바이스에서 로그를 수집하고 Microsoft Sentinel 작업 영역으로 전달할 Linux 머신을 지정하고 구성해야 합니다. 이 컴퓨터는 온-프레미스 환경, Azure VM 또는 다른 클라우드의 VM에서 물리적 컴퓨터 또는 가상 머신일 수 있습니다.

이 컴퓨터에는 이 프로세스에 참여하는 두 가지 구성 요소가 있습니다.

  • 로그를 수집하는 syslog 디먼(rsyslog 또는 syslog-ng).
  • Microsoft Sentinel에 로그를 전달하는 Log Analytics 에이전트(OMS 에이전트라고도 함)

아래 제공된 링크를 사용하여 다음 작업을 수행하는 지정된 컴퓨터에서 스크립트를 실행합니다.

  • Linux용 Log Analytics 에이전트(OMS 에이전트라고도 함)를 설치하고 다음과 같은 목적으로 구성합니다.

    • TCP 포트 25226의 기본 제공 Linux Syslog 디먼에서 CEF 메시지 수신 대기
    • TLS를 통해 구문 분석 및 보강을 하는 Microsoft Sentinel 작업 영역에 안전하게 메시지 보내기
  • 다음 목적을 위해 기본 제공 Linux Syslog 디먼(rsyslog.d/syslog-ng)을 구성합니다.

    • TCP 포트 514의 보안 솔루션에서 Syslog 메시지 수신 대기
    • TCP 포트 25226을 사용하여 localhost의 Log Analytics 에이전트에 대한 CEF로 식별되는 메시지만 전달

Important

Log Analytics 에이전트는 2024년 8월 31일에 사용 중지됩니다. Microsoft Sentinel 배포에서 Log Analytics 에이전트를 사용하는 경우 AMA로의 마이그레이션 계획을 시작하는 것이 좋습니다. 자세한 내용은 Microsoft Sentinel용 AMA 마이그레이션을 참조하세요.

Azure Monitor 에이전트를 사용하여 Syslog 로그 및/또는 CEF 로그를 배포하는 방법에 대한 자세한 내용은 CEF 및 Syslog 형식의 로그를 Microsoft Sentinel로 스트리밍하는 옵션을 검토하세요.

필수 조건

각 데이터 커넥터에는 고유한 필수 구성 요소 집합이 있습니다. 필수 구성 요소에는 Azure 작업 영역, 구독 또는 정책에 대한 특정 권한이 있어야 한다는 내용이 포함될 수 있습니다. 또는 연결하려는 파트너 데이터 원본에 대한 다른 요구 사항을 충족해야 합니다.

각 데이터 커넥터에 대한 필수 조건은 Microsoft Sentinel의 관련 데이터 커넥터 페이지에 나와 있습니다.

Microsoft Sentinel의 Content Hub에서 제품 솔루션을 설치합니다. 제품이 나열되지 않은 경우 Common Event Format에 대한 솔루션을 설치합니다. 자세한 내용은 Microsoft Sentinel 기본 제공 콘텐츠 검색 및 관리를 참조하세요.

Important

운영 체제 버전에 따라 지원 날짜 및 수명 주기가 다를 수 있습니다. 가장 정확한 최신 지원 및 수명 종료 날짜는 각 배포의 공식 설명서를 확인하는 것이 좋습니다.

컴퓨터는 다음 요구 사항을 충족해야 합니다.

  • 하드웨어(실제/가상)

    • Linux 컴퓨터에는 최소 4개의 CPU 코어와 8GB RAM이 있어야 합니다.

      참고 항목

      • 위의 하드웨어 구성이 있고 rsyslog 디먼을 사용하는 단일 로그 전달자 컴퓨터에는 수집된 EPS(초당 이벤트)가 최대 8,500개까지 지원되는 용량이 있습니다.
  • 운영 체제

    • CentOS 7 및 8(6 아님), 부 버전(64비트/32비트) 포함
    • Amazon Linux 2(64비트만 해당)
    • Oracle Linux 7, 8(64비트/32비트)
    • RHEL(Red Hat Enterprise Linux) Server 7 및 8(6 아님), 부 버전(64비트/32비트) 포함
    • Debian GNU/Linux 8, 9(64비트/32비트)
    • Ubuntu Linux 20.04 LTS(64비트만 해당)
    • SUSE Linux Enterprise Server 12, 15(64비트만)
  • 디먼 버전

    • Rsyslog: v8
    • Syslog-ng: 2.1 - 3.22.1
  • 패키지

    • Linux 컴퓨터에 Python 2.7 또는 3이 설치되어 있어야 합니다.
      python --version 또는 python3 --version 명령을 사용하여 확인합니다.
    • GNU Wget 패키지가 있어야 합니다.
  • Syslog RFC 지원

    • Syslog RFC 3164
    • Syslog RFC 5424
  • Configuration

    • 지정된 Linux 컴퓨터에 상승된 권한(sudo)이 있어야 합니다.
    • Log Analytics 에이전트를 설치하기 전에 Linux 컴퓨터가 Azure 작업 영역에 연결되어 있지 않아야 합니다.
  • Data

    • 이 프로세스의 특정 시점에 Microsoft Sentinel 작업 영역의 작업 영역 ID작업 영역 기본 키가 필요할 수 있습니다. 이는 작업 영역 설정의 에이전트 관리에서 찾을 수 있습니다.

보안 고려 사항

머신 보안은 조직의 보안 정책에 따라 구성해야 합니다. 예를 들어 네트워크가 회사 네트워크 보안 정책에 맞게 구성되고 디먼의 포트 및 프로토콜이 사용자의 요구 사항에 맞게 변경될 수 있습니다. Azure에서 VM 보호, 네트워크 보안 모범 사례 지침을 사용하여 머신 보안 구성을 향상할 수 있습니다.

장치가 TLS를 통해 Syslog 및 CEF 로그를 보내는 경우(예: 로그 전달자가 클라우드에 있기 때문에) TLS에서 통신하도록 Syslog 디먼(rsyslog 또는 syslog-ng)을 구성해야 합니다. 자세한 내용은 다음 설명서를 참조하세요.

배포 스크립트 실행

  1. Microsoft Sentinel에서 데이터 커넥터를 선택합니다.

  2. 커넥터 갤러리에서 제품의 커넥터를 선택합니다. 제품이 나열되지 않으면 CEF(Common Event Format)를 선택합니다.

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

  4. 커넥터 페이지의 1.2 Linux 컴퓨터에 CEF 수집기 설치의 지침에서 다음 스크립트를 실행하여 CEF 수집기 설치 및 적용 아래에 제공된 링크를 복사합니다.
    해당 페이지에 액세스할 수 없는 경우 아래 텍스트에서 링크를 복사합니다(자리 표시자 대신 위의 작업 영역 ID기본 키 복사 및 붙여넣기).

    sudo wget -O cef_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/CEF/cef_installer.py&&sudo python cef_installer.py [WorkspaceID] [Workspace Primary Key]
    
  5. 링크 또는 텍스트를 로그 전달자의 명령줄에 붙여 넣고 실행합니다.

  6. 스크립트를 실행하는 동안 오류 또는 경고 메시지가 표시되지 않는지 확인합니다.

    • 컴퓨터 필드의 매핑 문제를 해결하기 위해 명령을 실행하라고 지시하는 메시지가 표시될 수 있습니다. 자세한 내용은 배포 스크립트의 설명을 참조하세요.
  7. CEF 메시지를 보내도록 장치를 구성합니다.

    참고 항목

    동일한 컴퓨터를 사용하여 일반 Syslog CEF 메시지를 모두 전달

    이 로그 전달자 컴퓨터를 사용하여 Syslog 메시지와 CEF를 전달하려는 경우 Syslog 및 CommonSecurityLog 테이블에 대한 이벤트 중복을 방지하려면 다음을 수행합니다.

    1. CEF 형식의 전달자에게 로그를 보내는 각 원본 컴퓨터에서 Syslog 구성 파일을 편집하여 CEF 메시지를 보내는 데 사용되는 기능을 제거해야 합니다. 또한 이렇게 하면 CEF에서 보내는 기능이 Syslog로 전송되지 않습니다. 이 작업을 수행하는 방법에 대한 자세한 지침은 Linux 에이전트에서 Syslog 구성을 참조하세요.

    2. 머신에서 다음 명령을 실행하여 Microsoft Sentinel의 Syslog 구성과 에이전트의 동기화를 사용하지 않도록 설정해야 합니다. 이렇게 하면 이전 단계에서 변경한 구성을 덮어쓰지 않습니다.
      sudo su omsagent -c 'python /opt/microsoft/omsconfig/Scripts/OMS_MetaConfigHelper.py --disable'

배포 스크립트 설명

다음은 배포 스크립트의 작업에 대한 명령별 설명입니다.

Syslog 디먼을 선택하여 적절한 설명을 확인합니다.

  1. Log Analytics 에이전트 다운로드 및 설치:

    • Log Analytics(OMS) Linux 에이전트에 대한 설치 스크립트를 다운로드합니다.

      wget -O onboard_agent.sh https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/
          master/installer/scripts/onboard_agent.sh
      
    • Log Analytics 에이전트를 설치합니다.

      sh onboard_agent.sh -w [workspaceID] -s [Primary Key] -d opinsights.azure.com
      
  2. 포트 25226에서 수신 대기하고 CEF 메시지를 Microsoft Sentinel로 전달하도록 Log Analytics 에이전트 구성 설정:

    • Log Analytics 에이전트 GitHub 리포지토리에서 구성을 다운로드합니다.

      wget -O /etc/opt/microsoft/omsagent/[workspaceID]/conf/omsagent.d/security_events.conf
          https://raw.githubusercontent.com/microsoft/OMS-Agent-for-Linux/master/installer/conf/
          omsagent.d/security_events.conf
      
  3. Syslog 디먼 구성:

    • /etc/rsyslog.conf Syslog 구성 파일을 사용하여 TCP 통신용 포트 514를 엽니다.

    • security-config-omsagent.conf 특수 구성 파일을 /etc/rsyslog.d/ Syslog 디먼 디렉터리에 삽입하여 CEF 메시지를 TCP 포트 25226의 Log Analytics 에이전트로 전달하도록 디먼을 구성합니다.

      security-config-omsagent.conf 파일의 콘텐츠:

      if $rawmsg contains "CEF:" or $rawmsg contains "ASA-" then @@127.0.0.1:25226 
      
  4. Syslog 디먼 및 Log Analytics 에이전트 다시 시작:

    • rsyslog 디먼을 다시 시작합니다.

      service rsyslog restart
      
    • Log Analytics 에이전트를 다시 시작합니다.

      /opt/microsoft/omsagent/bin/service_control restart [workspaceID]
      
  5. 예상대로 컴퓨터 필드의 매핑 확인:

    • 다음 명령을 사용하여 Syslog 원본의 컴퓨터 필드가 Log Analytics 에이전트에 제대로 매핑되는지 확인합니다.

      grep -i "'Host' => record\['host'\]"  /opt/microsoft/omsagent/plugin/filter_syslog_security.rb
      
    • 매핑에 문제가 있는 경우 스크립트는 다음 명령을 수동으로 실행하도록 지시하는 오류 메시지를 생성합니다(자리 표시자 대신 작업 영역 ID 적용). 이 명령은 매핑이 올바른지 확인하고 에이전트를 다시 시작합니다.

      sudo sed -i -e "/'Severity' => tags\[tags.size - 1\]/ a \ \t 'Host' => record['host']" -e "s/'Severity' => tags\[tags.size - 1\]/&,/" /opt/microsoft/omsagent/plugin/filter_syslog_security.rb && sudo /opt/microsoft/omsagent/bin/service_control restart [workspaceID]
      

다음 단계

이 문서에서는 Log Analytics 에이전트를 배포하여 CEF 어플라이언스를 Microsoft Sentinel에 연결하는 방법을 알아보았습니다. Microsoft Sentinel에 대해 자세히 알아보려면 다음 문서를 참조하세요.