McAfee ESM 로그 수집
이 문서에서는 Bindplane 에이전트를 사용하여 Trellix Enterprise Security Manager 로그를 Google Security Operations로 수집하는 방법을 설명합니다.
Trellix Enterprise Security Manager (이전 명칭: McAfee ESM)는 실시간 위협 탐지, 상관관계 분석, 규정 준수 모니터링을 제공하는 보안 정보 및 이벤트 관리 (SIEM) 플랫폼입니다. 기업 전반의 보안 이벤트 데이터를 수집, 정규화, 분석하여 보안팀이 중앙 집중식 대시보드, 고급 분석, 자동 알림을 통해 위협을 식별하고 대응할 수 있도록 지원합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- Windows 2016 이상 또는
systemd가 설치된 Linux 호스트 - 프록시 뒤에서 실행하는 경우 Bindplane 에이전트 요구사항에 따라 방화벽 포트가 열려 있는지 확인합니다.
- Trellix Enterprise Security Manager 콘솔에 대한 권한 있는 액세스
Bindplane 에이전트의 Google SecOps 사용자 인증 정보 가져오기
Bindplane 에이전트를 Google SecOps에 인증하려면 다음 방법 중 하나를 선택하세요.
- 신규 배포: Chronicle API (옵션 1)를 사용합니다.
- 기존 배포: 2027년 7월 20일에 Ingestion API가 중단될 때까지 데이터 수집 인증 파일 (옵션 2)을 계속 사용합니다.
옵션 1: Chronicle API의 서비스 계정 만들기 (권장)
- Google Cloud 콘솔에 로그인하고 Google SecOps 인스턴스에 연결된 Google Cloud 프로젝트를 선택합니다.
- IAM 및 관리자 > 서비스 계정으로 이동합니다.
- 서비스 계정 만들기를 클릭합니다.
- 다음 구성 세부정보를 제공합니다.
- 서비스 계정 이름: 계정 이름을 입력합니다 (예:
bindplane-ingest). - 서비스 계정 설명: 설명 (예:
Bindplane agent log ingestion)을 입력합니다.
- 서비스 계정 이름: 계정 이름을 입력합니다 (예:
- 만들고 계속하기를 클릭합니다.
- 이 서비스 계정에 프로젝트에 대한 액세스 권한 부여 섹션에서 역할 선택을 클릭하고 Chronicle 편집자를 선택합니다.
- 계속을 클릭한 다음 완료를 클릭합니다.
- 만든 서비스 계정을 클릭한 다음 키 탭으로 이동합니다.
- 키 추가 > 새 키 만들기를 클릭합니다.
- JSON을 선택하고 만들기를 클릭합니다. 키 파일이 컴퓨터에 다운로드됩니다.
- 키 파일을 Bindplane 수집기 디렉터리 (Linux의 경우
/opt/observiq-otel-collector/ingestion-auth.json, Windows의 경우C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)에ingestion-auth.json로 저장하거나config.yaml의creds_file_path를 업데이트하여 저장한 경로와 일치시킵니다. - IAM 및 관리자 > 설정으로 이동하여 프로젝트 번호를 복사합니다. 내보내기 도구 구성에 필요합니다.
옵션 2: 데이터 수집 인증 파일 다운로드 (기존)
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 수집 에이전트로 이동합니다.
- 데이터 수집 인증 파일을 다운로드합니다.
- Bindplane 에이전트가 설치될 시스템에 파일을 안전하게 저장합니다.
Google SecOps 고객 ID 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 프로필로 이동합니다.
- 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.
Bindplane 에이전트 설치
다음 안내에 따라 Windows 또는 Linux 운영체제에 Bindplane 에이전트를 설치합니다.
Windows 설치
- 명령 프롬프트 또는 PowerShell을 관리자로 엽니다.
다음 명령어를 실행합니다.
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux 설치
- 루트 또는 sudo 권한으로 터미널을 엽니다.
다음 명령어를 실행합니다.
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
추가 설치 리소스
- 추가 설치 옵션은 이 설치 가이드를 참고하세요.
Syslog를 수집하고 Google SecOps로 전송하도록 Bindplane 에이전트 구성
구성 파일에 액세스합니다.
config.yaml파일을 찾습니다. 일반적으로 Linux의/opt/observiq-otel-collector/디렉터리 또는 Windows의 설치 디렉터리에 있습니다.- 텍스트 편집기 (예:
nano,vi, 메모장)를 사용하여 파일을 엽니다.
다음과 같이
config.yaml파일을 수정합니다.receivers: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' 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: YOUR_CUSTOMER_ID_HERE endpoint: chronicle.googleapis.com # Add optional ingestion labels for better organization log_type: 'MCAFEE_ESM' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
- 인프라에 필요한 대로 포트와 IP 주소를 바꿉니다.
YOUR_CUSTOMER_ID_HERE를 실제 고객 ID로 바꿉니다.- 1단계에서 서비스 계정 키 파일 (옵션 1)이 저장된 파일 경로로
/path/to/ingestion-authentication-file.json을 업데이트합니다. <LOCATION>을 Google SecOps 인스턴스의 리전 (예:us,europe,asia-southeast1)으로 바꿉니다. 내보내기 도구는chronicle.googleapis.com에 이 값을 접두사로 추가합니다. 전체 목록은 리전 엔드포인트를 참조하세요.<PROJECT_NUMBER>를 IAM 및 관리자 > 설정의 프로젝트 번호로 바꿉니다.
기존 수집 API 내보내기 도구
옵션 2의 수집 인증 파일을 사용하는 경우
exporters블록을 다음으로 바꿉니다.creds_file_path을 수집 인증 파일의 경로로 설정하고 인스턴스가 미국 외부에 있는 경우malachiteingestion-pa.googleapis.com을 리전 엔드포인트 (예:europe-malachiteingestion-pa.googleapis.com)로 바꿉니다.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: YOUR_CUSTOMER_ID_HERE endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'MCAFEE_ESM' raw_log_field: body ingestion_labels:
Bindplane 에이전트를 다시 시작하여 변경사항을 적용합니다.
Linux에서 Bindplane 에이전트를 다시 시작하려면 다음 명령어를 실행합니다.
sudo systemctl restart observiq-otel-collectorWindows에서 Bindplane 에이전트를 다시 시작하려면 서비스 콘솔을 사용하거나 다음 명령어를 입력합니다.
net stop observiq-otel-collector && net start observiq-otel-collector
Trellix Enterprise Security Manager syslog 전달 구성
- Trellix Enterprise Security Manager 콘솔에 로그인합니다.
- 시스템 속성 > 이벤트 전달로 이동합니다.
- 추가를 클릭하여 새 이벤트 전달 대상을 만듭니다.
- 이름 필드에 설명이 포함된 이름을 입력합니다 (예:
Chronicle-Bindplane). - 대상 섹션에서 다음 구성 세부정보를 제공합니다.
- IP 주소: Bindplane 에이전트 호스트의 IP 주소를 입력합니다 (예:
192.168.1.100). - 포트:
514(또는 Bindplane에서 구성된 포트)을 입력합니다. - 프로토콜: TCP를 선택합니다.
- 형식: Syslog (CEF 또는 표준 syslog 형식)를 선택합니다.
- IP 주소: Bindplane 에이전트 호스트의 IP 주소를 입력합니다 (예:
- 필터 섹션에서 전달할 이벤트 유형과 심각도 수준을 선택합니다.
- 모든 이벤트를 선택하여 모든 이벤트를 전달하거나 특정 필터를 구성합니다.
- 필요에 따라 심각도 기준을 설정합니다 (예: 모든 심각도 수준에 대해 1~100).
- 사용 설정됨 체크박스를 선택하여 전달 규칙을 사용 설정합니다.
- 확인을 클릭하여 구성을 저장합니다.
- 적용을 클릭하여 이벤트 전달을 활성화합니다.
ESM 콘솔에서 이벤트 전달 상태를 확인하여 이벤트가 전달되고 있는지 확인합니다.
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 로직 |
|---|---|---|
about |
about |
병합됨 |
about_token |
about |
병합됨 |
deviceNtDomain |
about.administrative_domain |
이름 변경/매핑됨 |
deviceExternalId |
about.asset.asset_id |
직접 매핑됨 |
device_product |
about.asset.asset_id |
직접 매핑됨 |
device_vendor |
about.asset.asset_id |
직접 매핑됨 |
fileHash |
about.file.full_path |
직접 매핑됨 |
filePath |
about.file.full_path |
이름 변경/매핑됨 |
_hash |
about.file.sha256 |
이름 변경/매핑됨 |
fileHash |
about.file.sha256 |
이름 변경/매핑됨 |
fsize |
about.file.size |
이름 변경/매핑됨 |
dvchost |
about.hostname |
이름 변경/매핑됨 |
ips |
about.ip |
병합됨 |
subjectLogonId_label |
about.labels |
병합됨 |
dvcmac |
about.mac |
병합됨 |
mac_address |
about.mac |
병합됨 |
deviceTranslatedAddress |
about.nat_ip |
병합됨 |
Emne |
about.process.command_line |
직접 매핑됨 |
Path |
about.process.command_line |
직접 매핑됨 |
Subject |
about.process.command_line |
직접 매핑됨 |
deviceProcessName |
about.process.command_line |
이름 변경/매핑됨 |
dvcpid |
about.process.pid |
이름 변경/매핑됨 |
permissions |
about.resource.attribute.permissions |
병합됨 |
ARCH_label |
additional.fields |
병합됨 |
AUID_label |
additional.fields |
병합됨 |
EGID_label |
additional.fields |
병합됨 |
EUID_label |
additional.fields |
병합됨 |
FSGID_label |
additional.fields |
병합됨 |
FSUID_label |
additional.fields |
병합됨 |
GID_label |
additional.fields |
병합됨 |
SGID_label |
additional.fields |
병합됨 |
SUID_label |
additional.fields |
병합됨 |
SYSCALL_label |
additional.fields |
병합됨 |
UID_label |
additional.fields |
병합됨 |
additional_cfp1 |
additional.fields |
병합됨 |
additional_cfp2 |
additional.fields |
병합됨 |
additional_cfp3 |
additional.fields |
병합됨 |
additional_cfp4 |
additional.fields |
병합됨 |
additional_cn1 |
additional.fields |
병합됨 |
additional_cn2 |
additional.fields |
병합됨 |
additional_cn3 |
additional.fields |
병합됨 |
additional_cs1 |
additional.fields |
병합됨 |
additional_cs2 |
additional.fields |
병합됨 |
additional_cs3 |
additional.fields |
병합됨 |
additional_cs4 |
additional.fields |
병합됨 |
additional_cs5 |
additional.fields |
병합됨 |
additional_cs6 |
additional.fields |
병합됨 |
additional_cs7 |
additional.fields |
병합됨 |
additional_devicePayloadId |
additional.fields |
병합됨 |
additional_euid |
additional.fields |
병합됨 |
additional_eventId |
additional.fields |
병합됨 |
additional_flexString1 |
additional.fields |
병합됨 |
additional_fname |
additional.fields |
병합됨 |
additional_logname |
additional.fields |
병합됨 |
additional_rsa_signature |
additional.fields |
병합됨 |
additional_tty |
additional.fields |
병합됨 |
arch_label |
additional.fields |
병합됨 |
attack_count_label |
additional.fields |
병합됨 |
auid_label |
additional.fields |
병합됨 |
category_label |
additional.fields |
병합됨 |
cmd_param_a0_label |
additional.fields |
병합됨 |
cmd_param_a1_label |
additional.fields |
병합됨 |
cmd_param_a2_label |
additional.fields |
병합됨 |
cmd_param_a3_label |
additional.fields |
병합됨 |
cs5_label |
additional.fields |
병합됨 |
egid_label |
additional.fields |
병합됨 |
euid_label |
additional.fields |
병합됨 |
execution_status_label |
additional.fields |
병합됨 |
exit_code_label |
additional.fields |
병합됨 |
fsgid_label |
additional.fields |
병합됨 |
fsuid_label |
additional.fields |
병합됨 |
interface_label |
additional.fields |
병합됨 |
items_label |
additional.fields |
병합됨 |
key_label |
additional.fields |
병합됨 |
node_label |
additional.fields |
병합됨 |
proctitle_label |
additional.fields |
병합됨 |
sensor_name_label |
additional.fields |
병합됨 |
severity_label |
additional.fields |
병합됨 |
sgid_label |
additional.fields |
병합됨 |
suid_label |
additional.fields |
병합됨 |
syscall_label |
additional.fields |
병합됨 |
tty_label |
additional.fields |
병합됨 |
auth_mechanism |
extensions.auth.mechanism |
병합됨 |
vuln_token |
extensions.vulns.vulnerabilities |
병합됨 |
intermediary |
intermediary |
병합됨 |
Hostname |
intermediary.hostname |
직접 매핑됨 |
msg |
metadata.description |
직접 매핑됨 |
event_type |
metadata.event_type |
직접 매핑됨 |
log_category |
metadata.log_type |
직접 매핑됨 |
device_event_class_id |
metadata.product_event_type |
직접 매핑됨 |
event_name |
metadata.product_event_type |
직접 매핑됨 |
log_type |
metadata.product_event_type |
직접 매핑됨 |
type |
metadata.product_event_type |
직접 매핑됨 |
column1 |
metadata.product_log_id |
직접 매핑됨 |
externalId |
metadata.product_log_id |
직접 매핑됨 |
device_product |
metadata.product_name |
직접 매핑됨 |
sourceName |
metadata.product_name |
직접 매핑됨 |
device_version |
metadata.product_version |
직접 매핑됨 |
device_vendor |
metadata.vendor_name |
이름 변경/매핑됨 |
app_protocol_output |
network.application_protocol |
직접 매핑됨 |
requestMethod |
network.http.method |
이름 변경/매핑됨 |
requestClientApplication |
network.http.user_agent |
이름 변경/매핑됨 |
ip_protocol_out |
network.ip_protocol |
직접 매핑됨 |
in |
network.received_bytes |
이름 변경/매핑됨 |
out |
network.sent_bytes |
이름 변경/매핑됨 |
ses |
network.session_id |
직접 매핑됨 |
session_id |
network.session_id |
직접 매핑됨 |
sntdom |
principal.administrative_domain |
이름 변경/매핑됨 |
sourceServiceName |
principal.application |
이름 변경/매핑됨 |
Group_name |
principal.group.group_display_name |
직접 매핑됨 |
Gruppenavn |
principal.group.group_display_name |
직접 매핑됨 |
Device_name |
principal.hostname |
직접 매핑됨 |
Enhetsnavn |
principal.hostname |
직접 매핑됨 |
hostname |
principal.hostname |
직접 매핑됨 |
shost |
principal.hostname |
이름 변경/매핑됨 |
data.src_ip |
principal.ip |
병합됨 |
principal_ip |
principal.ip |
병합됨 |
shost |
principal.ip |
병합됨 |
src_ip |
principal.ip |
병합됨 |
valid_src_ip |
principal.ip |
병합됨 |
data.src_mac |
principal.mac |
직접 매핑됨 |
mac |
principal.mac |
병합됨 |
sourceTranslatedAddress |
principal.nat_ip |
병합됨 |
sourceTranslatedPort |
principal.nat_port |
이름 변경/매핑됨 |
INT:principal_port |
principal.port |
직접 매핑됨 |
data.src_port |
principal.port |
직접 매핑됨 |
principal_port |
principal.port |
이름 변경/매핑됨 |
source_port |
principal.port |
이름 변경/매핑됨 |
spt |
principal.port |
이름 변경/매핑됨 |
comm |
principal.process.command_line |
직접 매핑됨 |
sproc |
principal.process.command_line |
이름 변경/매핑됨 |
exe |
principal.process.file.full_path |
직접 매핑됨 |
ppid |
principal.process.parent_pid |
직접 매핑됨 |
pid |
principal.process.pid |
직접 매핑됨 |
spid |
principal.process.pid |
이름 변경/매핑됨 |
principal_role |
principal.user.attribute.roles |
병합됨 |
gid |
principal.user.groupid |
직접 매핑됨 |
ruser |
principal.user.user_display_name |
직접 매핑됨 |
suser |
principal.user.user_display_name |
직접 매핑됨 |
data.UserIDSrc |
principal.user.userid |
직접 매핑됨 |
suid |
principal.user.userid |
이름 변경/매핑됨 |
uid |
principal.user.userid |
직접 매핑됨 |
user_id |
principal.user.userid |
직접 매핑됨 |
data.Source_UserID |
principal.user.windows_sid |
직접 매핑됨 |
security_result |
security_result |
병합됨 |
security_token |
security_result |
병합됨 |
_action |
security_result.action |
병합됨 |
Action_Taken |
security_result.action_details |
직접 매핑됨 |
act |
security_result.action_details |
직접 매핑됨 |
cat |
security_result.category_details |
병합됨 |
Scan_Type |
security_result.description |
직접 매핑됨 |
Type |
security_result.description |
직접 매핑됨 |
data.sig.name |
security_result.description |
직접 매핑됨 |
msg_data_2 |
security_result.description |
직접 매핑됨 |
infection_channel_label |
security_result.detection_fields |
병합됨 |
operasjon_label |
security_result.detection_fields |
병합됨 |
operation_label |
security_result.detection_fields |
병합됨 |
permission_label |
security_result.detection_fields |
병합됨 |
spyware_Grayware_Type_label |
security_result.detection_fields |
병합됨 |
threat_probability_label |
security_result.detection_fields |
병합됨 |
tillatelse_label |
security_result.detection_fields |
병합됨 |
mwProfile |
security_result.rule_name |
직접 매핑됨 |
Result |
security_result.summary |
직접 매핑됨 |
appcategory |
security_result.summary |
직접 매핑됨 |
reason |
security_result.summary |
이름 변경/매핑됨 |
Spyware |
security_result.threat_name |
직접 매핑됨 |
Unknown_Threat |
security_result.threat_name |
직접 매핑됨 |
Virus_Malware_Name |
security_result.threat_name |
직접 매핑됨 |
oldFilePath |
src.file.full_path |
이름 변경/매핑됨 |
oldFileSize |
src.file.size |
이름 변경/매핑됨 |
old_permissions |
src.resource.attribute.permissions |
병합됨 |
data.DomainID |
target.administrative_domain |
직접 매핑됨 |
dntdom |
target.administrative_domain |
이름 변경/매핑됨 |
data.AppID |
target.application |
직접 매핑됨 |
destinationServiceName |
target.application |
이름 변경/매핑됨 |
data.Destination_Hostname |
target.hostname |
직접 매핑됨 |
data.HostID |
target.hostname |
직접 매핑됨 |
temp_dhost |
target.hostname |
직접 매핑됨 |
IPv6_Address |
target.ip |
병합됨 |
data.dst_ip |
target.ip |
병합됨 |
dest_ip |
target.ip |
병합됨 |
dst_ip |
target.ip |
병합됨 |
data.dst_mac |
target.mac |
직접 매핑됨 |
mac_address |
target.mac |
병합됨 |
destination_translated_address |
target.nat_ip |
병합됨 |
destinationTranslatedPort |
target.nat_port |
이름 변경/매핑됨 |
INT:target_port |
target.port |
직접 매핑됨 |
data.dst_port |
target.port |
직접 매핑됨 |
destination_port |
target.port |
이름 변경/매핑됨 |
dpt |
target.port |
이름 변경/매핑됨 |
target_port |
target.port |
이름 변경/매핑됨 |
data.Process_Name |
target.process.command_line |
직접 매핑됨 |
dproc |
target.process.command_line |
이름 변경/매핑됨 |
File_name |
target.process.file.full_path |
직접 매핑됨 |
Infected_Resource |
target.process.file.full_path |
직접 매핑됨 |
Object |
target.process.file.full_path |
직접 매핑됨 |
Objekt |
target.process.file.full_path |
직접 매핑됨 |
data.PID |
target.process.pid |
직접 매핑됨 |
dpid |
target.process.pid |
이름 변경/매핑됨 |
resource_Type_label |
target.resource.attribute.labels |
병합됨 |
request |
target.url |
직접 매핑됨 |
target_role |
target.user.attribute.roles |
병합됨 |
CustomerName |
target.user.user_display_name |
직접 매핑됨 |
temp_duser |
target.user.user_display_name |
직접 매핑됨 |
username |
target.user.user_display_name |
직접 매핑됨 |
Bruker |
target.user.userid |
직접 매핑됨 |
User_value |
target.user.userid |
직접 매핑됨 |
data.UserIDDst |
target.user.userid |
직접 매핑됨 |
temp_duid |
target.user.userid |
직접 매핑됨 |
data.Destination_UserID |
target.user.windows_sid |
직접 매핑됨 |
| 해당 사항 없음 | about |
상수: about_token |
| 해당 사항 없음 | about.ip |
상수: ips |
| 해당 사항 없음 | about.labels |
상수: subjectLogonId_label |
| 해당 사항 없음 | about.mac |
상수: mac_address |
| 해당 사항 없음 | about.nat_ip |
상수: deviceTranslatedAddress |
| 해당 사항 없음 | about.resource.attribute.permissions |
상수: permissions |
| 해당 사항 없음 | additional.fields |
상수: severity_label |
| 해당 사항 없음 | extensions.auth.auth_details |
상수: UNKNOWN_AUTHENTICATION_STATUS |
| 해당 사항 없음 | extensions.auth.mechanism |
상수: auth_mechanism |
| 해당 사항 없음 | extensions.vulns.vulnerabilities |
상수: vuln_token |
| 해당 사항 없음 | intermediary |
상수: intermediary |
| 해당 사항 없음 | metadata.event_type |
상수: GENERIC_EVENT |
| 해당 사항 없음 | metadata.vendor_name |
상수: MCAFEE |
| 해당 사항 없음 | network.application_protocol |
상수: SSH |
| 해당 사항 없음 | network.direction |
상수: INBOUND |
| 해당 사항 없음 | principal.ip |
상수: src_ip |
| 해당 사항 없음 | principal.mac |
상수: mac |
| 해당 사항 없음 | principal.nat_ip |
상수: sourceTranslatedAddress |
| 해당 사항 없음 | principal.user.attribute.roles |
상수: principal_role |
| 해당 사항 없음 | security_result |
상수: security_token |
| 해당 사항 없음 | security_result.action |
상수: _action |
| 해당 사항 없음 | security_result.category_details |
상수: cat |
| 해당 사항 없음 | security_result.detection_fields |
상수: operation_label |
| 해당 사항 없음 | security_result.severity |
상수: LOW |
| 해당 사항 없음 | src.resource.attribute.permissions |
상수: old_permissions |
| 해당 사항 없음 | target.ip |
상수: dest_ip |
| 해당 사항 없음 | target.mac |
상수: mac_address |
| 해당 사항 없음 | target.nat_ip |
상수: destination_translated_address |
| 해당 사항 없음 | target.resource.attribute.labels |
상수: resource_Type_label |
| 해당 사항 없음 | target.user.attribute.roles |
상수: target_role |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.