Symantec EDR 로그 수집

다음에서 지원:

이 문서에서는 Bindplane을 사용하여 Symantec 엔드포인트 탐지 및 대응 (EDR) 로그를 Google Security Operations에 수집하는 방법을 설명합니다. 파서는 JSON 또는 CEF 형식의 로그를 처리합니다. 필드를 추출하고 UDM에 매핑하며 로그 콘텐츠, 네트워크 연결, 프로세스 이벤트, 파일 시스템 활동, 레지스트리 작업, 사용자 로그인/로그아웃 이벤트를 처리하여 이벤트 유형 분류를 실행합니다.

시작하기 전에

  • Google SecOps 인스턴스가 있는지 확인합니다.
  • Windows 2016 이상을 사용 중이거나 systemd와 함께 Linux 호스트를 사용하고 있는지 확인합니다.
  • 프록시 뒤에서 실행하는 경우 방화벽 포트가 열려 있는지 확인합니다.
  • Symantec EDR에 대한 권한이 있는지 확인합니다.

Google SecOps 처리 인증 파일 가져오기

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

Google SecOps 고객 ID 가져오기

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

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. 구성 파일에 액세스합니다.

    1. config.yaml 파일을 찾습니다. 일반적으로 Linux의 /etc/bindplane-agent/ 디렉터리 또는 Windows의 설치 디렉터리에 있습니다.
    2. 텍스트 편집기 (예: 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: '/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
            ingestion_labels:
                log_type: 'SYMANTEC_EDR'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 인프라에서 필요에 따라 포트와 IP 주소를 바꿉니다.

  4. <customer_id>를 실제 고객 ID로 바꿉니다.

  5. Google SecOps 처리 인증 파일 가져오기 섹션에서 인증 파일이 저장된 경로로 /path/to/ingestion-authentication-file.json를 업데이트합니다.

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

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Symantec EDR에서 Syslog 구성

  1. Symantec EDR 웹 UI에 로그인합니다.
  2. EDR Cloud 콘솔에서 환경 > 설정으로 이동합니다.
  3. 기기를 선택한 다음 기기를 클릭합니다.
  4. EDR 어플라이언스 콘솔에서 설정 > 어플라이언스를 클릭합니다.
  5. 기본 어플라이언스 수정을 클릭합니다.
  6. Appliances(기기) 목록에서 기기를 더블클릭합니다.
  7. Syslog 섹션에서 Use default(기본값 사용)를 선택 해제합니다(선택된 경우).
  8. +Syslog Server 추가를 클릭합니다.
  9. 다음 구성 세부정보를 제공합니다.
    • 호스트: Bindplane 에이전트 IP 주소를 입력합니다.
    • 프로토콜: Bindplane 에이전트 서버에서 구성된 프로토콜을 선택합니다(예: UDP).
    • 포트: Bindplane 에이전트 포트 번호를 입력합니다(예: 514).
  10. 저장을 클릭합니다.

UDM 매핑 표

로그 필드 UDM 매핑 논리
actor.cmd_line principal.process.command_line 작업자 프로세스에서 실행된 명령줄입니다.
actor.file.md5 principal.process.file.md5 작업 수행자의 실행 파일의 MD5 해시입니다.
actor.file.path principal.process.file.full_path 행위자의 실행 파일의 전체 경로입니다.
actor.file.sha2 principal.process.file.sha256 행위자의 실행 파일의 SHA256 해시입니다.
actor.pid principal.process.pid 행위자의 프로세스 ID입니다.
actor.uid principal.resource.id 행위자의 고유 식별자입니다.
actor.user.name principal.user.userid 행위자의 사용자 이름입니다.
actor.user.sid principal.user.windows_sid 작업 수행자 사용자의 Windows SID입니다.
attack.technique_name security_result.threat_name MITRE ATT&CK 기법의 이름입니다.
attack.technique_uid security_result.description attack.technique_name와 함께 사용하여 security_result.description<technique_uid>: <technique_name> 형식으로 채웁니다.
collector_device_ip intermediary.ip 수집기 기기의 IP 주소입니다.
collector_device_name intermediary.hostname 수집기 기기의 호스트 이름입니다.
collector_name intermediary.resource.name 수집기 이름입니다.
collector_uid intermediary.resource.id 수집자의 고유 식별자입니다.
connection.bytes_download network.received_bytes 연결에서 다운로드한 바이트 수입니다.
connection.bytes_upload network.sent_bytes 연결에서 업로드된 바이트 수입니다.
connection.direction_id network.direction 네트워크 연결의 방향입니다 (인바운드의 경우 1, 아웃바운드의 경우 2).
connection.dst_ip target.ip 연결의 대상 IP 주소입니다.
connection.dst_port target.port 연결의 대상 포트입니다.
connection.src_ip principal.ip 연결의 소스 IP 주소입니다.
connection.src_name principal.hostname 연결의 소스 호스트 이름입니다.
connection.src_port principal.port 연결의 소스 포트입니다.
connection.url.host target.hostname 연결 URL의 호스트 이름입니다.
connection.url.scheme network.application_protocol 연결 URL의 스키마입니다 (예: HTTP, HTTPS).
connection.url.text target.url 전체 연결 URL입니다.
data_source_url_domain target.url 데이터 소스 URL의 도메인입니다.
device_domain principal.administrative_domain/target.administrative_domain 기기의 도메인입니다. connection.direction_id와 관련된 로직에 따라 주 구성원 또는 대상에 매핑됩니다.
device_ip principal.ip/target.ip 기기의 IP 주소입니다. connection.direction_id와 관련된 로직에 따라 주 구성원 또는 대상에 매핑됩니다.
device_name principal.hostname/target.hostname 기기의 이름입니다. connection.direction_id와 관련된 로직에 따라 주 구성원 또는 대상에 매핑됩니다.
device_os_name principal.platform_version/target.platform_version 기기의 운영체제 connection.direction_id와 관련된 로직에 따라 주 구성원 또는 대상에 매핑됩니다.
device_uid target.asset_id 기기의 고유 식별자이며 접두사는 Device ID:입니다.
directory.path target.file.full_path 디렉터리의 경로입니다.
domain_name target.administrative_domain 도메인 이름입니다.
event_actor.file.path target.process.file.full_path 이벤트 행위자의 실행 파일 경로입니다.
event_actor.pid target.process.pid 이벤트 행위자의 프로세스 ID입니다.
event_desc metadata.description 이벤트 설명.
externalIP target.ip 외부 IP 주소입니다.
file.md5 target.file.md5 파일의 MD5 해시
file.path target.file.full_path 파일의 경로입니다.
file.rep_prevalence_band additional.fields.value.number_value prevalence_score로 매핑된 파일의 평판 빈도 범위입니다.
file.rep_score_band additional.fields.value.number_value reputation_score로 매핑된 파일의 평판 점수 범위입니다.
file.sha2 target.file.sha256 파일의 SHA256 해시입니다.
file.size target.file.size 파일 크기입니다.
internalHost principal.hostname 내부 호스트 이름입니다.
internalIP principal.ip 내부 IP 주소입니다.
internal_port principal.port 내부 포트입니다.
kernel.name target.resource.name 커널 객체의 이름입니다. target.resource.typeMUTEX으로 설정됩니다.
message metadata.description 로그 메시지입니다.
module.md5 target.process.file.md5 모듈의 MD5 해시입니다.
module.path target.process.file.full_path 모듈의 경로입니다.
module.sha2 target.process.file.sha256 모듈의 SHA256 해시입니다.
module.size target.process.file.size 모듈의 크기입니다.
process.cmd_line target.process.command_line 프로세스의 명령줄입니다.
process.file.md5 target.process.file.md5 프로세스의 실행 파일의 MD5 해시입니다.
process.file.path target.process.file.full_path 프로세스의 실행 파일 경로입니다.
process.file.sha2 target.process.file.sha256 프로세스의 실행 파일의 SHA256 해시입니다.
process.pid target.process.pid 프로세스 ID입니다.
process.uid target.resource.id 프로세스의 고유 식별자입니다.
process.user.name target.user.userid 프로세스와 연결된 사용자 이름입니다.
process.user.sid target.user.windows_sid 프로세스 사용자의 Windows SID입니다.
product_name metadata.product_name 로그를 생성하는 제품의 이름입니다.
product_ver metadata.product_version 로그를 생성하는 제품의 버전입니다.
reg_key.path target.registry.registry_key 레지스트리 키 경로입니다.
reg_value.data target.registry.registry_value_data 레지스트리 값 데이터입니다.
reg_value.name target.registry.registry_value_name 레지스트리 값 이름입니다.
reg_value.path target.registry.registry_key 값의 레지스트리 키 경로입니다.
security_result.severity security_result.severity 보안 결과의 심각도입니다. 숫자 값에서 UDM enum으로 변환됩니다 (예: 1~낮음, 5~중간, 10~낮음, 15~낮음)
session.id network.session_id 세션 ID입니다.
session.user.name target.user.userid 세션과 연결된 사용자 이름입니다.
sid principal.user.userid 보안 식별자 (SID)입니다.
status_detail security_result.summary 상태에 대한 추가 세부정보입니다.
type_id metadata.product_event_type 이벤트 유형 ID입니다.
user_agent_ip target.ip 사용자 에이전트의 IP 주소입니다.
user_name principal.user.userid/target.user.user_display_name 사용자 이름입니다. CEF 또는 JSON 파싱과 관련된 로직에 따라 사용자 또는 대상에 매핑됩니다.
user_uid target.user.userid 사용자의 고유 식별자입니다.
uuid metadata.product_log_id 이벤트의 UUID입니다.
event.idm.read_only_udm.metadata.event_timestamp event.idm.read_only_udm.metadata.event_timestamp 이벤트의 타임스탬프입니다. log_time 또는 CEF device_time에서 파생됩니다.
event.idm.read_only_udm.metadata.log_type event.idm.read_only_udm.metadata.log_type 로그 유형입니다. SYMANTEC_EDR로 하드코딩되었습니다.
event.idm.read_only_udm.metadata.vendor_name event.idm.read_only_udm.metadata.vendor_name 공급업체의 이름입니다. Symantec로 하드코딩되었습니다.
event.idm.read_only_udm.extensions.auth.type event.idm.read_only_udm.extensions.auth.type 인증 유형입니다. 로그인 및 로그아웃 이벤트의 경우 MACHINE로 설정합니다.
security_result.action security_result.action 보안 이벤트로 인해 취해진 조치입니다. 성공적인 로그인 및 로그아웃의 경우 ALLOW로 설정합니다.

변경사항

2022-03-31

  • 애셋 세부정보에 기기 ID 접두사가 추가되었습니다.
  • CEF 파싱 지원이 추가되었습니다.

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가의 답변을 받아 보세요.