이 문서에서는 Bindplane을 사용하여 BeyondTrust Privileged Identity 로그를 Google Security Operations에 수집하는 방법을 설명합니다. 파서는 BeyondTrust Remote Support 로그를 추출하여 CEF 및 비 CEF 형식 syslog 메시지를 모두 처리합니다. 키 필드를 파싱하고, 통합 데이터 모델 (UDM)에 매핑하고, dst, src, suid, sEventID와 같은 추출된 필드를 기반으로 이벤트 유형을 결정하여 사용자 세부정보, IP 주소, 보안 결과와 같은 추가 컨텍스트로 데이터를 보강합니다.
Syslog를 수집하여 Google SecOps로 전송하도록 Bindplane 에이전트 구성
구성 파일에 액세스합니다.
config.yaml 파일을 찾습니다. 일반적으로 Linux에서는 /etc/bindplane-agent/ 디렉터리에 있고 Windows에서는 설치 디렉터리에 있습니다.
텍스트 편집기 (예: nano, vi, 메모장)를 사용하여 파일을 엽니다.
다음과 같이 config.yaml 파일을 수정합니다.
receivers:udplog:# Replace the port and IP address as requiredlisten_address:"0.0.0.0:514"exporters:chronicle/chronicle_w_labels:compression:gzip# Adjust the path to the credentials file you downloaded in Step 1creds:'/path/to/ingestion-authentication-file.json'# Replace with your actual customer ID from Step 2customer_id:<customer_id>
endpoint:malachiteingestion-pa.googleapis.com# Add optional ingestion labels for better organizationingestion_labels:log_type:'BEYONDTRUST_PI'raw_log_field:bodyservice:pipelines:logs/source0__chronicle_w_labels-0:receivers:-udplogexporters:-chronicle/chronicle_w_labels
Windows에서 Bindplane 에이전트를 다시 시작하려면 서비스 콘솔을 사용하거나 다음 명령어를 입력하면 됩니다.
net stop BindPlaneAgent && net start BindPlaneAgent
BeyondTrust Privileged Identity에서 Syslog 구성
Beyondtrust Privileged Appliance에 로그인합니다.
어플라이언스 > 보안 > 어플라이언스 관리로 이동합니다.
Syslog 섹션으로 이동합니다.
다음 구성 세부정보를 제공합니다.
호스트 이름: Bindplane 에이전트 IP 주소를 입력합니다.
포트: 기본 포트는 514 (UDP)로 설정됩니다.
형식: RFC 5424를 선택합니다.
저장을 클릭합니다.
UDM 매핑 테이블
로그 필드
UDM 매핑
논리
cs1
additional.fields[0].key
원시 로그 필드 cs1Label에서 직접 매핑됩니다.
cs1Label
additional.fields[0].value.string_value
원시 로그 필드 cs1에서 직접 매핑됩니다.
cs3
additional.fields[1].value.string_value
원시 로그 필드 cs3Label에서 직접 매핑됩니다.
cs3Label
additional.fields[1].key
원시 로그 필드 cs3에서 직접 매핑됩니다.
cs4
additional.fields[2].value.string_value
원시 로그 필드 cs4Label에서 직접 매핑됩니다.
cs4Label
additional.fields[2].key
원시 로그 필드 cs4에서 직접 매핑됩니다.
데이터
metadata.description
CEF 메시지의 경우 msg 필드 (data에서 추출됨)가 metadata.description에 매핑됩니다. CEF가 아닌 메시지의 경우 sMessage 필드 (또는 특정 메시지 형식에 따라 일부)가 metadata.description에 매핑됩니다.
dhost
target.hostname
원시 로그 필드 dhost에서 직접 매핑됩니다.
dntdom
target.administrative_domain
원시 로그 필드 dntdom에서 직접 매핑됩니다.
duser
target.user.user_display_name
원시 로그 필드 duser에서 직접 매핑됩니다.
msg
metadata.description
CEF 메시지의 원시 로그 필드 msg에서 직접 매핑됩니다.
rt
metadata.event_timestamp.seconds
에포크 타임스탬프는 CEF 메시지의 rt 필드에서 추출됩니다.
sEventType
metadata.product_event_type
CEF가 아닌 메시지의 원시 로그 필드 sEventType에서 직접 매핑됩니다.
shost
principal.ip
원시 로그 필드 shost에서 직접 매핑됩니다.
sIpAddress
principal.ip
CEF가 아닌 메시지의 원시 로그 필드 sIpAddress에서 직접 매핑됩니다.
sLoginName
principal.user.userid
도메인과 사용자 ID를 구분하기 위해 정규 표현식을 사용하여 sLoginName 필드에서 추출됩니다.
sMessage
security_result.description
CEF가 아닌 메시지의 원시 로그 필드 sMessage에서 직접 매핑되거나 추출된 부분이 security_result.description에 사용됩니다.
sntdom
principal.administrative_domain
원시 로그 필드 sntdom에서 직접 매핑됩니다.
sOriginatingAccount
principal.user.userid
도메인과 사용자 ID를 구분하기 위해 정규 표현식을 사용하여 sOriginatingAccount 필드에서 추출됩니다.
sOriginatingApplicationComponent
principal.application
sOriginatingApplicationName와 함께 사용하여 principal.application를 채웁니다.
sOriginatingApplicationName
principal.application
sOriginatingApplicationComponent와 함께 사용하여 principal.application를 채웁니다.
sOriginatingSystem
principal.hostname
CEF가 아닌 메시지의 원시 로그 필드 sOriginatingSystem에서 직접 매핑됩니다.
suser
principal.user.user_display_name
원시 로그 필드 suser에서 직접 매핑됩니다. dst, src, shost, suid와 같은 다른 필드의 존재 및 값에 따라 파서 논리에 의해 결정됩니다. 가능한 값은 NETWORK_CONNECTION, STATUS_UPDATE, USER_UNCATEGORIZED, GENERIC_EVENT입니다. 'BEYONDTRUST_PI'로 설정합니다. 'BeyondTrust Remote Support'로 설정합니다. CEF 메시지의 CEF 헤더에서 추출됩니다. 'BeyondTrust'로 설정합니다. status, reason 또는 sMessage 필드에 따라 'ALLOW' 또는 'BLOCK'으로 설정됩니다. LOW로 설정합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[],[],null,["# Collect BeyondTrust Privileged Identity logs\n============================================\n\nSupported in: \nGoogle secops [SIEM](/chronicle/docs/secops/google-secops-siem-toc)\n| **Note:** This feature is covered by [Pre-GA Offerings Terms](https://chronicle.security/legal/service-terms/) of the Google Security Operations Service Specific Terms. Pre-GA features might have limited support, and changes to pre-GA features might not be compatible with other pre-GA versions. For more information, see the [Google SecOps Technical Support Service guidelines](https://chronicle.security/legal/technical-support-services-guidelines/) and the [Google SecOps Service Specific Terms](https://chronicle.security/legal/service-terms/).\n\nThis document explains how to ingest BeyondTrust Privileged Identity logs to\nGoogle Security Operations using Bindplane. The parser extracts BeyondTrust Remote\nSupport logs, handling both CEF and non-CEF formatted syslog messages. It parses\nkey fields, maps them to the Unified Data Model (UDM), and determines the event\ntype based on extracted fields like `dst`, `src`, `suid`, and `sEventID`,\nenriching the data with additional context like user details, IP addresses, and\nsecurity outcomes.\n\nBefore you begin\n----------------\n\nMake sure you have the following prerequisites:\n\n- Google SecOps instance\n- Windows 2016 or later, or a Linux host with `systemd`\n- If running behind a proxy, firewall [ports](/chronicle/docs/ingestion/use-bindplane-agent#verify_the_firewall_configuration) are open\n- Privileged access to BeyondTrust Privileged Remote Access Appliance\n\nGet Google SecOps ingestion authentication file\n-----------------------------------------------\n\n1. Sign in to the Google SecOps console.\n2. Go to **SIEM Settings \\\u003e Collection Agents**.\n3. Download the **Ingestion Authentication File**. Save the file securely on the system where Bindplane will be installed.\n\nGet Google SecOps customer ID\n-----------------------------\n\n1. Sign in to the Google SecOps console.\n2. Go to **SIEM Settings \\\u003e Profile**.\n3. Copy and save the **Customer ID** from the **Organization Details** section.\n\nInstall the Bindplane agent\n---------------------------\n\n### Windows installation\n\n1. Open the **Command Prompt** or **PowerShell** as an administrator.\n2. Run the following command:\n\n msiexec /i \"https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi\" /quiet\n\n### Linux installation\n\n1. Open a terminal with root or sudo privileges.\n2. Run the following command:\n\n sudo sh -c \"$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)\" install_unix.sh\n\n### Additional installation resources\n\nFor additional installation options, consult the [installation guide](/chronicle/docs/ingestion/use-bindplane-agent#install_the_bindplane_agent).\n\nConfigure the Bindplane agent to ingest Syslog and send to Google SecOps\n------------------------------------------------------------------------\n\n1. Access the configuration file:\n - Locate the `config.yaml` file. Typically, it's in the `/etc/bindplane-agent/` directory on Linux or in the installation directory on Windows.\n - Open the file using a text editor (for example, `nano`, `vi`, or Notepad).\n2. Edit the `config.yaml` file as follows:\n\n receivers:\n udplog:\n # Replace the port and IP address as required\n listen_address: \"0.0.0.0:514\"\n\n exporters:\n chronicle/chronicle_w_labels:\n compression: gzip\n # Adjust the path to the credentials file you downloaded in Step 1\n creds: '/path/to/ingestion-authentication-file.json'\n # Replace with your actual customer ID from Step 2\n customer_id: \u003ccustomer_id\u003e\n endpoint: malachiteingestion-pa.googleapis.com\n # Add optional ingestion labels for better organization\n ingestion_labels:\n log_type: 'BEYONDTRUST_PI'\n raw_log_field: body\n\n service:\n pipelines:\n logs/source0__chronicle_w_labels-0:\n receivers:\n - udplog\n exporters:\n - chronicle/chronicle_w_labels\n\n3. Replace the port and IP address as required in your infrastructure.\n\n4. Replace `\u003ccustomer_id\u003e` with the actual customer ID.\n\n5. Update `/path/to/ingestion-authentication-file.json` to the path where the authentication file was saved in the [Get Google SecOps ingestion authentication file](/chronicle/docs/ingestion/default-parsers/beyondtrust-pi#get-auth-file) section.\n\nRestart the Bindplane agent to apply the changes\n------------------------------------------------\n\n- To restart the Bindplane agent in Linux, run the following command:\n\n sudo systemctl restart bindplane-agent\n\n- To restart the Bindplane agent in Windows, you can either use the **Services** console or enter the following command:\n\n net stop BindPlaneAgent && net start BindPlaneAgent\n\nConfigure Syslog in BeyondTrust Privileged Identity\n---------------------------------------------------\n\n1. Sign in to the **Beyondtrust Privileged Appliance**.\n2. Go to **Appliance \\\u003e Security \\\u003e Appliance Administration**.\n3. Go to the **Syslog** section.\n4. Provide the following configuration details:\n - **Hostname**: Enter the Bindplane agent IP address.\n - **Port** : Default port is set to **514 (UDP)**.\n - **Format** : Select **RFC 5424**.\n5. Click **Save**.\n\nUDM mapping table\n-----------------\n\n**Need more help?** [Get answers from Community members and Google SecOps professionals.](https://security.googlecloudcommunity.com/google-security-operations-2)"]]