이 문서에서는 Bindplane을 사용하여 Google Security Operations에 Snort 로그를 수집하는 방법을 설명합니다. 파서는 grok 패턴을 사용하여 관련 필드를 추출하여 두 가지 서로 다른 Snort 로그 형식 (SYSLOG + JSON)을 처리하려고 시도합니다. 식별된 형식에 따라 데이터를 추가로 처리하여 추출된 필드를 통합 데이터 모델 (UDM) 스키마에 매핑하고, 값을 정규화하고, 추가 컨텍스트로 출력을 보강합니다.
시작하기 전에
Google Security Operations 인스턴스가 있는지 확인합니다.
Windows 2016 이상 또는 systemd가 설치된 Linux 호스트를 사용하고 있는지 확인합니다.
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:SNORT_IDSraw_log_field:bodyservice:pipelines:logs/source0__chronicle_w_labels-0:receivers:-udplogexporters:-chronicle/chronicle_w_labels
[[["이해하기 쉬움","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-10(UTC)"],[],[],null,["# Collect Snort 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 collect Snort logs to Google Security Operations by using Bindplane. The parser attempts to handle two different Snort log formats (SYSLOG + JSON) using `grok` patterns to extract relevant fields. Depending on the identified format, it further processes the data, mapping extracted fields to the unified data model (UDM) schema, normalizing values, and enriching the output with additional context.\n\nBefore you begin\n----------------\n\n- Ensure that you have a Google Security Operations instance.\n- Ensure that you are using Windows 2016 or later, or a Linux host with `systemd`.\n- If running behind a proxy, ensure firewall [ports](/chronicle/docs/ingestion/use-bindplane-agent#verify_the_firewall_configuration) are open.\n- Ensure that you have privileged access to Snort.\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\n- For additional installation options, consult this [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\n 1. Locate the `config.yaml` file. Typically, it's in the `/etc/bindplane-agent/` directory on Linux or in the installation directory on Windows.\n 2. 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: SNORT_IDS\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\n [Get Google SecOps ingestion authentication file](/chronicle/docs/ingestion/default-parsers/snort#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 export on Snort v2.x\n-------------------------------------\n\n1. Sign in to the Snort device using terminal.\n2. Edit the following file: `/etc/snort/snort.conf`\n3. Go to `6) Configure output plugins`.\n4. Add following entry:\n\n # syslog\n output alert_syslog: host=\u003cvar translate=\"no\"\u003eBINDPLANE_IP_ADDRESS\u003cvar translate=\"no\"\u003e:\u003cvar translate=\"no\"\u003ePORT_NUMBER\u003cvar translate=\"no\"\u003e, LOG_AUTH LOG_ALERT\n \u003c/var\u003e\u003c/var\u003e\u003c/var\u003e\u003c/var\u003e\n\n5. Replace the following:\n\n - \u003cvar translate=\"no\"\u003eBINDPLANE_IP_ADDRESS\u003cvar translate=\"no\"\u003e: Bindplane Agent IP address.\u003c/var\u003e\u003c/var\u003e\n - \u003cvar translate=\"no\"\u003ePORT_NUMBER\u003cvar translate=\"no\"\u003e: Bindplane Agent port number.\u003c/var\u003e\u003c/var\u003e\n6. Save the file.\n\n7. Start the **snort** service.\n\n8. Stop the **rsyslog** service.\n\n9. Edit the following file: `/etc/rsyslogd.conf`\n\n # remote host is: name/ip:port\n *.* @@\u003cvar translate=\"no\"\u003eBINDPLANE_IP_ADDRESS\u003cvar translate=\"no\"\u003e:\u003cvar translate=\"no\"\u003ePORT_NUMBER\u003cvar translate=\"no\"\u003e\n \u003c/var\u003e\u003c/var\u003e\u003c/var\u003e\u003c/var\u003e\n\n10. Replace the following:\n\n - \u003cvar translate=\"no\"\u003eBINDPLANE_IP_ADDRESS\u003cvar translate=\"no\"\u003e: Bindplane Agent IP address.\u003c/var\u003e\u003c/var\u003e\n - \u003cvar translate=\"no\"\u003ePORT_NUMBER\u003cvar translate=\"no\"\u003e: Bindplane Agent port number.\u003c/var\u003e\u003c/var\u003e\n11. Start the **rsyslog** service.\n\nConfigure syslog export on Snort v3.1.53\n----------------------------------------\n\n1. Sign in to the Snort device using terminal.\n2. Stop the **rsyslog** and **snort** services.\n3. Go to the following Snort installation directory: `/usr/local/etc/snort/`\n4. Edit the following Snort configuration file: `snort.lua`\n\n | **Note:** Snort installation directory can be any custom path in which you installed Snort.\n5. In the **Configure outputs** options, append the following code (you can use any facility and level):\n\n alert_syslog =\n {\n facility = 'local3',\n level = 'info',\n }\n\n6. Save the Snort configuration file.\n\n7. Go to the **rsyslog** service default configuration files directory: `/etc/rsyslog.d`\n\n8. Create a new file: `3-snort.conf`:\n\n # cd /etc/rsyslog.d\n # vi 3-snort.conf\n\n9. To send logs over TCP or UDP, add the following configuration: `local3.* @@`\u003cvar translate=\"no\"\u003eBINDPLANE_IP_ADDRESS\u003cvar translate=\"no\"\u003e:\u003cvar translate=\"no\"\u003ePORT_NUMBER\u003cvar translate=\"no\"\u003e\u003c/var\u003e\u003c/var\u003e\u003c/var\u003e\u003c/var\u003e\n\n10. Replace the following:\n\n - \u003cvar translate=\"no\"\u003eBINDPLANE_IP_ADDRESS\u003cvar translate=\"no\"\u003e: Bindplane agent IP address.\u003c/var\u003e\u003c/var\u003e\n - \u003cvar translate=\"no\"\u003ePORT_NUMBER\u003cvar translate=\"no\"\u003e: Bindplane agent port number.\u003c/var\u003e\u003c/var\u003e\n11. Save the file.\n\n12. Start **rsyslog** and then the **snort** service.\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)"]]