收集 Barracuda WAF 記錄
支援的國家/地區:
Google SecOps
SIEM
本文說明如何使用 Bindplane 收集 Barracuda Web Application Firewall (WAF) 記錄。剖析器會從 JSON 和 Syslog 格式的記錄中擷取欄位、將欄位正規化,然後對應至統合式資料模型 (UDM)。可處理各種記錄類型 (流量、網頁防火牆),並根據欄位值執行條件轉換,包括 IP 位址/主機名稱解析、方向性對應和嚴重程度常態化。
事前準備
- 確認您有 Google Security Operations 執行個體。
- 確認您使用的是 Windows 2016 以上版本,或是搭載
systemd
的 Linux 主機。 - 如果透過 Proxy 執行,請確認防火牆通訊埠已開啟。
- 確認您具備 Barracuda WAF 的特殊權限。
取得 Google SecOps 擷取驗證檔案
- 登入 Google SecOps 控制台。
- 依序前往「SIEM 設定」>「收集代理程式」。
- 下載擷取驗證檔案。將檔案安全地儲存在要安裝 Bindplane 的系統上。
取得 Google SecOps 客戶 ID
- 登入 Google SecOps 控制台。
- 依序前往「SIEM 設定」>「設定檔」。
- 複製並儲存「機構詳細資料」專區中的客戶 ID。
安裝 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
其他安裝資源
- 如需其他安裝選項,請參閱這份安裝指南。
設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps
存取設定檔:
- 找出
config.yaml
檔案。通常位於 Linux 的/etc/bindplane-agent/
目錄,或 Windows 的安裝目錄。 - 使用文字編輯器 (例如
nano
、vi
或記事本) 開啟檔案。
- 找出
按照下列方式編輯
config.yaml
檔案:receivers: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:54525" 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: SYSLOG namespace: barracuda_waf raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
視基礎架構需求,替換通訊埠和 IP 位址。
將
<customer_id>
替換為實際的客戶 ID。將
/path/to/ingestion-authentication-file.json
更新為「取得 Google SecOps 擷取驗證檔案」一節中儲存驗證檔案的路徑。
重新啟動 Bindplane 代理程式,以套用變更
如要在 Linux 中重新啟動 Bindplane 代理程式,請執行下列指令:
sudo systemctl restart bindplane-agent
如要在 Windows 中重新啟動 Bindplane 代理程式,可以使用「服務」控制台,或輸入下列指令:
net stop BindPlaneAgent && net start BindPlaneAgent
設定 Barracuda WAF
- 使用管理員憑證登入 Barracuda WAF 控制台。
- 依序點選「進階」分頁標籤 >「匯出記錄」。
- 在「匯出記錄」部分中,按一下「新增匯出記錄伺服器」。
- 提供下列值:
- 名稱:輸入 Google SecOps 轉送器的名稱。
- 記錄伺服器類型:選取「Syslog」。
- IP 位址或主機名稱:輸入
Bindplane
IP 位址。 - 「Port」(通訊埠):輸入
Bindplane
通訊埠。 - 連線類型:選取
TCP
連線類型 (建議使用 TCP)。但也可以使用 UDP 或 SSL 通訊協定)。 - 驗證伺服器憑證:選取「否」。
- 用戶端憑證:選取「無」。
- 記錄時間戳記和主機名稱:選取「是」。
- 按一下「新增」。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
action |
security_result.action |
如果 action 是 DENY ,則設為 BLOCK 。否則,請設為 ALLOW (專為 WF 記錄類型而設)。也可用於一般防火牆事件。 |
appProtocol |
network.application_protocol |
如果 appProtocol 符合 TLSv ,則設為 HTTPS 。否則,請使用 appProtocol 的值。 |
attackDetails |
security_result.description |
從 WF 記錄類型的原始記錄中擷取。 |
attackType |
security_result.summary |
「security_result.summary 」的一部分,與「ruleType 」合併。 |
bytesReceived |
network.received_bytes |
轉換為無正負號整數,並對應至 TR 記錄類型。 |
bytesSent |
network.sent_bytes |
轉換為無正負號整數,並對應至 TR 記錄類型。 |
hostName |
target.hostname |
如果 hostName 不是 IP 位址,請使用其值。否則會合併至 target.ip 。 |
httpMethod loginId |
principal.user.userid |
如果不是 emptyToken ,則會對應至 TR 記錄類型。 |
logType |
metadata.product_event_type |
如果 TR ,請將 metadata.product_event_type 設為 Barracuda Access Log 。如果 WF ,請設為 Barracuda Web Firewall Log 。 |
message |
metadata.description |
如果 desc 不為空白,則為必要欄位。 |
referrer |
network.http.referral_url |
如果不是 emptyToken ,則會對應至 TR 記錄類型。 |
responseCode |
network.http.response_code |
轉換為整數,並對應至 TR 記錄類型。 |
rule |
security_result.rule_name |
已對應 WF 個記錄類型。 |
ruleType |
security_result.summary |
「security_result.summary 」的一部分,與「attackType 」合併。 |
sec_desc |
security_result.rule_name |
用於一般防火牆事件。 |
server |
target.ip |
已合併至「target.ip 」。 |
serv |
target.ip |
已合併至「target.ip 」。 |
severity |
security_result.severity |
「WF 」記錄類型:轉換為大寫。如果 EMERGENCY 、ALER 或 CRITICAL ,請將 security_result.severity 設為 CRITICAL 。如果 ERROR ,請設為 HIGH 。如果 WARNING ,請設為 MEDIUM 。如果 NOTICE ,請設為 LOW 。否則請設為 INFORMATIONAL 。 |
src |
principal.ip |
也用於一般防火牆事件和部分狀態更新。 |
srcPort |
principal.port |
轉換成整數。 |
target targetPort |
target.port |
轉換成整數。 |
time |
metadata.event_timestamp.seconds 、metadata.event_timestamp.nanos 、timestamp.seconds 、timestamp.nanos |
與 tz 結合並經過剖析,即可建立事件時間戳記。系統會擷取秒數和奈秒,並填入對應欄位。 |
url urlParams |
target.url |
如果 TR 記錄類型不等於 emptyToken ,則會附加至 url 。 |
userAgent userName |
target.user.userid 、target.user.user_display_name |
用於一般防火牆事件。如果不是 TR 記錄類型的 emptyToken ,則會對應至 target.user.user_display_name 。硬式編碼為 Barracuda 。如果同時存在 src 和 target ,則設為 NETWORK_HTTP 。如果只有 src ,請設為 STATUS_UPDATE 。設為預設值或用於其他情境,例如 CEF 剖析。GENERIC_EVENT 硬式編碼為 BARRACUDA_WAF 。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。