找出 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_file_path:'/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 organizationlog_type:'VSFTPD'raw_log_field:bodyingestion_labels:service:pipelines:logs/source0__chronicle_w_labels-0:receivers:-udplogexporters:-chronicle/chronicle_w_labels
視基礎架構需求,替換通訊埠和 IP 位址。
將 <customer_id> 替換為實際的客戶 ID。
將 /path/to/ingestion-authentication-file.json 更新為「取得 Google SecOps 擷取驗證檔案」部分中,驗證檔案的儲存路徑。
重新啟動 Bindplane 代理程式,以套用變更
如要在 Linux 中重新啟動 Bindplane 代理程式,請執行下列指令:
sudosystemctlrestartbindplane-agent
如要在 Windows 中重新啟動 Bindplane 代理程式,可以使用「服務」控制台,或輸入下列指令:
net stop BindPlaneAgent && net start BindPlaneAgent
如果 type 是「FTP 指令」,則值會對應至 network.ftp.command。如果 type 是「DEBUG」且不符合特定 SSL 模式,則會對應至 security_result.description。如果 type 以「OK」開頭,但不是「OK LOGIN」,且記錄檔說明檔案作業 (MKDIR、RMDIR、DELETE),則會對應至 target.file.full_path。
file_name
target.file.full_path
file_name 欄位的值會直接對應。
file_size
network.received_bytes network.sent_bytes
如果 type 是「OK DOWNLOAD」或「FAIL DOWNLOAD」,系統會將值轉換為不帶正負號的整數,並對應至 network.received_bytes。如果 type 是「OK UPLOAD」或「FAIL UPLOAD」,系統會將值轉換為不帶正負號的整數,並對應至 network.sent_bytes。如果 type 為「OK LOGIN」,請設為「USER_LOGIN」。如果 type 與檔案作業相關 (「OK UPLOAD」、「OK DOWNLOAD」、「FAIL DOWNLOAD」、「OK MKDIR」、「OK RMDIR」、「OK DELETE」、「FAIL UPLOAD」),請設為「FILE_UNCATEGORIZED」。所有其他 type 值都設為「STATUS_UPDATE」。一律設為「VSFTPD」。一律設為「VSFTPD」。一律設為「VSFTPD」。
month
metadata.event_timestamp
與 day、year 和 time 搭配使用,可建構 metadata.event_timestamp。
type 欄位的值會對應至 metadata.description,但「OK LOGIN」除外。如果表示允許或封鎖動作 (開頭為「OK」或「FAIL」),也會對應至 security_result.action_details。
userid
principal.user.userid target.user.userid
如果 type 是「OK LOGIN」,則值會對應至 target.user.userid。否則會對應至 principal.user.userid。
year
metadata.event_timestamp
與 day、month 和 time 搭配使用,可建構 metadata.event_timestamp。如果 type 為「OK LOGIN」,請設為「NETWORK」。如果 type 為「OK LOGIN」,請設為「MACHINE」。如果 type 開頭為「OK」,請設為「ALLOW」。如果 type 開頭為「FAIL」,請設為「BLOCK」。
[[["容易理解","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 (世界標準時間)。"],[],[],null,["# Collect VSFTPD 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 VSFTPD logs to Google Security Operations using Bindplane. The parser uses grok patterns to extract fields from the logs, mapping them to the UDM. It handles various log types, including logins, uploads, downloads, and directory operations, enriching the data with additional context like SSL/TLS information and actions (allow/block). It also performs specific transformations for different log message types, such as extracting response codes and descriptions, and converting file sizes to integers.\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, ensure firewall [ports](/chronicle/docs/ingestion/use-bindplane-agent#verify_the_firewall_configuration) are open\n- Privileged access to the host with VSFTPD\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\nInstall the Bindplane agent on your Windows or Linux operating system according\nto the following instructions.\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_file_path: '/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 log_type: 'VSFTPD'\n raw_log_field: body\n ingestion_labels:\n\n service:\n pipelines:\n logs/source0__chronicle_w_labels-0:\n receivers:\n - udplog\n exporters:\n - chronicle/chronicle_w_labels\n\n - Replace the port and IP address as required in your infrastructure.\n - Replace `\u003ccustomer_id\u003e` with the actual customer ID.\n - 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/vsftpd#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\n **Services** console or enter the following command:\n\n net stop BindPlaneAgent && net start BindPlaneAgent\n\nConfigure Syslog on VSFTPD\n--------------------------\n\n1. Sign in to the VSFTPD host.\n2. To install rsyslog in **Ubuntu/Debian**, run the following command:\n\n sudo apt install rsyslog\n\n3. To install rsyslog in **CentOS/RHEL**, run the following command:\n\n sudo yum install rsyslog\n\n4. Edit the vsftpd configuration to use Syslog:\n\n sudo vi /etc/vsftpd.conf\n\n5. Ensure the following parameters are set:\n\n syslog_enable=YES\n xferlog_enable=NO\n log_ftp_protocol=YES\n\n6. Save and exit.\n\n7. Restart vsftpd:\n\n sudo systemctl restart vsftpd\n\n8. Edit the rsyslog configuration to forward logs to the Bindplane agent:\n\n sudo nano /etc/rsyslog.d/90-vsftpd.conf\n\n9. Add the following line to forward logs using `UDP` (default port `514`):\n\n if ($programname == 'vsftpd') then @@BINDPLANE_IP:514\n\n10. Replace `BINDPLANE_IP` with the actual Bindplane agent IP address.\n\n - Use `@` for **UDP** , `@@` for **TCP**.\n11. Restart rsyslog:\n\n sudo systemctl restart rsyslog\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)"]]