Sophos DHCP 로그 수집

다음에서 지원:

이 문서에서는 Bindplane을 사용하여 Sophos 동적 호스트 구성 프로토콜 (DHCP) 로그를 Google Security Operations로 수집하는 방법을 설명합니다. 파서는 먼저 Sophos DHCP syslog 메시지를 키-값 구조로 정규화한 다음 추출된 필드를 통합 데이터 모델 (UDM) 스키마에 매핑합니다. 다양한 DHCP 메시지 유형 (DHCPREQUEST, DHCPACK, DHCPOFFER, DHCPNAK)을 처리하고 IP 주소, MAC 주소, DHCP 옵션과 같은 관련 정보를 추출합니다.

시작하기 전에

다음 기본 요건이 충족되었는지 확인합니다.

  • Google SecOps 인스턴스입니다.
  • systemd가 설치된 Windows 2016 이상 또는 Linux 호스트
  • 프록시 뒤에서 실행하는 경우 Bindplane 에이전트 요구사항에 따라 방화벽 포트가 열려 있는지 확인합니다.
  • Sophos UTM 관리 콘솔 또는 Sophos Firewall (SFOS) 웹 관리 콘솔에 대한 권한 있는 액세스

Google SecOps 수집 인증 파일 가져오기

  1. Google SecOps 콘솔에 로그인합니다.
  2. SIEM 설정 > 수집 에이전트로 이동합니다.
  3. 수집 인증 파일을 다운로드합니다.
    • Bindplane이 설치될 시스템에 파일을 안전하게 저장합니다.

Google SecOps 고객 ID 가져오기

  1. Google SecOps 콘솔에 로그인합니다.
  2. SIEM 설정 > 프로필로 이동합니다.
  3. 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.

Bindplane 에이전트 설치

다음 안내에 따라 Windows 또는 Linux 운영체제에 Bindplane 에이전트를 설치합니다.

Windows 설치

  1. 명령 프롬프트 또는 PowerShell을 관리자로 엽니다.
  2. 다음 명령어를 실행합니다.

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux 설치

  1. 루트 또는 sudo 권한으로 터미널을 엽니다.
  2. 다음 명령어를 실행합니다.

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

추가 설치 리소스

추가 설치 옵션은 설치 가이드를 참고하세요.

Syslog를 수집하여 Google SecOps로 전송하도록 Bindplane 에이전트 구성

  1. 구성 파일에 액세스합니다.
    • config.yaml 파일을 찾습니다. 일반적으로 Linux에서는 /etc/bindplane-agent/ 디렉터리에 있고 Windows에서는 설치 디렉터리에 있습니다.
    • 텍스트 편집기 (예: nano, vi, 메모장)를 사용하여 파일을 엽니다.
  2. 다음과 같이 config.yaml 파일을 수정합니다.

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'SOPHOS_DHCP'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • 인프라에 필요한 대로 포트와 IP 주소를 바꿉니다.
    • <CUSTOMER_ID>를 실제 고객 ID로 바꿉니다.
    • Google SecOps 수집 인증 파일 가져오기 섹션에서 인증 파일이 저장된 경로로 /path/to/ingestion-authentication-file.json를 업데이트합니다.

Bindplane 에이전트를 다시 시작하여 변경사항 적용

  • Linux에서 BindPlane 에이전트를 다시 시작하려면 다음 명령어를 실행합니다.

    sudo systemctl restart observiq-otel-collector
    
  • Windows에서 BindPlane 에이전트를 다시 시작하려면 서비스 콘솔을 사용하거나 다음 명령어를 입력하면 됩니다.

    sc stop observiq-otel-collector && sc start observiq-otel-collector
    

옵션 2: Sophos Firewall에서 Syslog 전달 구성

  1. Sophos Firewall 웹 관리 콘솔에 로그인합니다.
  2. 구성 > 시스템 서비스 > 로그 설정으로 이동합니다.
  3. 추가를 클릭하여 시스템 로그 서버를 구성합니다.
  4. 다음 구성 세부정보를 제공합니다.
    • 이름: Google SecOps 수집기의 고유한 이름을 입력합니다 (예: Google SecOps BindPlane DHCP).
    • IP 주소/도메인: BindPlane IP 주소를 입력합니다.
    • 포트: BindPlane 포트 번호 (예: 514)를 입력합니다.
    • 기능: DAEMON을 선택합니다.
    • 심각도 수준: 정보를 선택합니다.
    • Format(형식): Device standard format(기기 표준 형식)을 선택합니다.
  5. 저장을 클릭합니다.
  6. 로그 설정 페이지로 돌아가 syslog 서버로 전달할 특정 로그 유형을 선택합니다.
  7. DHCP 이벤트가 포함된 적절한 로그 카테고리를 선택합니다. DHCP 로그는 dhcpd 서비스에 의해 생성되며 해당 로그 카테고리가 사용 설정된 경우 전달되는 네트워크 또는 시스템 로그의 일부입니다.
  8. 적용을 클릭하여 구성을 저장합니다.

옵션 1: Sophos UTM에서 Syslog 전달 구성

  1. Sophos UTM 관리 콘솔에 로그인합니다.
  2. 로깅 및 보고 > 로그 설정 > 원격 Syslog 서버로 이동합니다.
  3. 전환 버튼을 클릭하여 원격 syslog를 사용 설정합니다. 원격 Syslog 설정 영역이 수정 가능하게 됩니다.
  4. 시스템로그 서버 필드에서 + 시스템로그 서버 추가를 클릭합니다.
  5. 시스템로그 서버 추가 대화상자에서 다음 구성 세부정보를 제공합니다.
    • 이름: 설명이 포함된 이름을 입력합니다 (예: Google SecOps BindPlane DHCP).
    • 서버: 서버 필드 옆에 있는 + (더하기) 아이콘을 클릭합니다. BindPlane 에이전트 IP 주소가 있는 네트워크 정의에서 호스트를 만들거나 선택하고 저장을 클릭합니다.
    • 포트: 포트 필드 옆에 있는 + (더하기) 아이콘을 클릭합니다. 적절한 프로토콜 및 포트 (예: UDP/514)가 있는 서비스 정의를 만들거나 선택하고 저장을 클릭합니다.
  6. Syslog 서버 추가 대화상자에서 저장을 클릭합니다.
  7. 원격 Syslog 설정 섹션에서 적용을 클릭합니다.
  1. 선택사항: 원격 Syslog 버퍼 설정 (기본값은 1000줄)을 조정하고 적용을 클릭합니다.
  2. 원격 Syslog 로그 선택 섹션에서 DHCP 서버와 필요한 로그 카테고리를 선택합니다.
  3. 적용을 클릭하여 로그 선택 설정을 저장합니다.

UDM 매핑 테이블

로그 필드 UDM 매핑 논리
action event.idm.read_only_udm.security_result.action_details
attr_address event.idm.read_only_udm.target.ip
attr_addresses event.idm.read_only_udm.target.ip
call event.idm.read_only_udm.security_result.summary
클라이언트 event.idm.read_only_udm.principal.hostname
클라이언트 event1.idm.read_only_udm.principal.hostname
데이터
dstip event.idm.read_only_udm.target.ip
dstmac event.idm.read_only_udm.target.mac
dstport event.idm.read_only_udm.target.port
fwrule event.idm.read_only_udm.security_result.rule_id
id event.idm.read_only_udm.metadata.product_event_type ulogd -와 연결됨
id event1.idm.read_only_udm.metadata.product_event_type ID -와 연결됨
정보 event.idm.read_only_udm.security_result.description
initf event.idm.read_only_udm.security_result.about.labels.value 키가 In Interface로 하드 코딩됨
msg event.idm.read_only_udm.metadata.description process_type이 confd 또는 ulogd이 아닌 경우
name event.idm.read_only_udm.security_result.description
objname event.idm.read_only_udm.principal.resource.name
oldattr_address event.idm.read_only_udm.principal.ip
oldattr_addresses event.idm.read_only_udm.principal.ip
outitf event.idm.read_only_udm.security_result.about.labels.value 키가 Out Interface로 하드 코딩됨
pid event.idm.read_only_udm.principal.process.pid
proto event.idm.read_only_udm.network.ip_protocol
줄이는 것을 event.idm.read_only_udm.security_result.severity 심각도가 info 또는 debug이면 security_result.severity는 INFORMATIONAL입니다. 심각도가 warn이면 security_result.severity는 MEDIUM입니다.
줄이는 것을 event1.idm.read_only_udm.security_result.severity 심각도가 info 또는 debug이면 security_result.severity는 INFORMATIONAL입니다. 심각도가 warn이면 security_result.severity는 MEDIUM입니다.
sid event.idm.read_only_udm.security_result.about.labels.value 키가 sid로 하드 코딩됨
src_host event.idm.read_only_udm.principal.hostname process_type이 dhcpd이고 dhcp_type이 DHCPREQUEST 또는 DHCPACK 또는 DHCPOFFER인 경우
src_host event.idm.read_only_udm.observer.hostname process_type이 dhcpd이고 dhcp_type이 DHCPREQUEST인 경우
src_host event.idm.read_only_udm.network.dhcp.client_hostname process_type이 dhcpd이고 dhcp_type이 DHCPACK 또는 DHCPOFFER인 경우
src_ip event.idm.read_only_udm.network.dhcp.ciaddr process_type이 dhcpd이고 dhcp_type이 DHCPREQUEST인 경우
src_ip event.idm.read_only_udm.network.dhcp.yiaddr process_type이 dhcpd이고 dhcp_type이 DHCPACK 또는 DHCPOFFER 또는 DHCPNAK인 경우
src_ip event.idm.read_only_udm.principal.ip process_type이 dhcpd이고 dhcp_type이 DHCPREQUEST 또는 DHCPACK 또는 DHCPOFFER 또는 DHCPNAK인 경우
src_ip event.idm.read_only_udm.observer.ip process_type이 dhcpd이고 dhcp_type이 DHCPREQUEST 또는 DHCPACK 또는 DHCPOFFER인 경우
src_mac event.idm.read_only_udm.network.dhcp.chaddr process_type이 dhcpd이고 dhcp_type이 DHCPREQUEST 또는 DHCPACK 또는 DHCPOFFER 또는 DHCPNAK인 경우
src_mac event.idm.read_only_udm.principal.mac process_type이 dhcpd이고 dhcp_type이 DHCPREQUEST 또는 DHCPACK 또는 DHCPOFFER 또는 DHCPNAK인 경우
srcip event.idm.read_only_udm.principal.ip
srcip event1.idm.read_only_udm.principal.ip
srcmac event.idm.read_only_udm.principal.mac
srcport event.idm.read_only_udm.principal.port
Pub/Sub이 있습니다 event.idm.read_only_udm.metadata.description
Pub/Sub이 있습니다 event1.idm.read_only_udm.metadata.description
tcpflags event.idm.read_only_udm.security_result.about.labels.value 키가 TCP Flags로 하드 코딩됨
사용자 event.idm.read_only_udm.principal.user.userid
사용자 event1.idm.read_only_udm.principal.user.userid
event.idm.read_only_udm.metadata.event_type 다른 event_type이 설정되지 않은 경우 GENERIC_EVENT srcip와 dstip이 비어 있지 않으면 NETWORK_CONNECTION입니다. 이름이 object changed인 경우 RESOURCE_WRITTEN입니다. process_type이 dhcpd인 경우 NETWORK_DHCP
event.idm.read_only_udm.metadata.log_type SOPHOS_DHCP로 하드코딩됨
event.idm.read_only_udm.metadata.product_name SOPHOS_DHCP로 하드코딩됨
event.idm.read_only_udm.metadata.vendor_name SOPHOS로 하드코딩됨
event.idm.read_only_udm.network.application_protocol process_type이 dhcpd인 경우 DHCP로 하드코딩됨
event.idm.read_only_udm.network.dhcp.opcode process_type이 dhcpd이고 dhcp_type이 DHCPREQUEST인 경우 BOOTREQUEST로 하드코딩됩니다. process_type이 dhcpd이고 dhcp_type이 DHCPACK 또는 DHCPOFFER 또는 DHCPNAK인 경우 BOOTREPLY로 하드코딩됨
event.idm.read_only_udm.network.dhcp.type process_type이 dhcpd이고 dhcp_type이 DHCPREQUEST인 경우 REQUEST process_type이 dhcpd이고 dhcp_type이 DHCPACK인 경우 ACK process_type이 dhcpd이고 dhcp_type이 DHCPOFFER인 경우 OFFER process_type이 dhcpd이고 dhcp_type이 DHCPNAK인 경우 NAK
event1.idm.read_only_udm.metadata.event_type GENERIC_EVENT로 하드코딩됨
event1.idm.read_only_udm.metadata.log_type SOPHOS_DHCP로 하드코딩됨
event1.idm.read_only_udm.metadata.product_name SOPHOS_DHCP로 하드코딩됨
event1.idm.read_only_udm.metadata.vendor_name SOPHOS로 하드코딩됨

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.