收集 Cisco VPN 記錄
支援的國家/地區:
Google SecOps
SIEM
本文說明如何使用 Bindplane,將 Cisco ASA VPN 記錄擷取至 Google Security Operations。剖析器會使用 Grok 模式從系統記錄訊息中擷取欄位,並處理標準系統記錄格式和替代訊息結構。然後將擷取的欄位對應至統一資料模型 (UDM),根據 ID 和擷取的資訊分類事件,並使用供應商、產品和事件類型等中繼資料擴充資料。剖析器也會處理特定事件 ID,套用額外的 grok 模式和邏輯,擷取相關詳細資料並對應至適當的 UDM 欄位。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- Windows 2016 以上版本,或搭載
systemd
的 Linux 主機 - 如果透過 Proxy 執行,防火牆通訊埠已開啟
- Cisco ASA 的特殊權限
取得 Google SecOps 擷取驗證檔案
- 登入 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
其他安裝資源
如需其他安裝選項,請參閱安裝指南。
設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps
- 存取設定檔:
- 找出
config.yaml
檔案。通常位於 Linux 的/etc/bindplane-agent/
目錄,或 Windows 的安裝目錄。 - 使用文字編輯器 (例如
nano
、vi
或記事本) 開啟檔案。
- 找出
按照下列方式編輯
config.yaml
檔案:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" 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: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'CISCO_VPN' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog 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
設定 Cisco ASA VPN 的系統記錄
- 開啟 Cisco ASDM。
- 依序前往「Configuration」(設定) 「Features」(功能) 「Properties」(屬性) 「Logging」(記錄) 「Logging Setup」(記錄設定)。
- 選取「啟用記錄功能」核取方塊,即可啟用系統記錄。
- 在「Logging」(記錄) 中選取「Syslog Servers」(系統記錄伺服器),然後按一下「Add」(新增)。
- 在「新增系統記錄伺服器」視窗中,輸入下列設定詳細資料:
- 介面:選取外寄通訊的介面。
- IP 位址:輸入 Bindplane 代理程式 IP 位址。
- 「通訊協定」:選取「UDP」。
- 「Port」(通訊埠):輸入 Bindplane 代理程式通訊埠編號。
- 按一下 [確定]。
- 在「記錄」部分選取「記錄篩選器」。
- 選取「Syslog Servers」(系統記錄伺服器),然後按一下「Edit」(編輯)。
- 從清單中選取「資訊」做為「依嚴重程度篩選」。
- 按一下 [確定]。
- 按一下 [套用]。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
accesslist |
target.resource.name |
從 message_info 擷取,當時 eventtype 為「ASA-4-106103」。代表存取清單的名稱。 |
action |
security_result.action |
由剖析器根據記錄訊息中的關鍵字衍生而來 (例如 「拒絕」、「拒絕」、「允許」、「接受」)。 地圖,然後選取「允許」或「封鎖」。 |
action |
security_result.action_details |
所採取動作的原始字串值 (例如 「permitted」(已允許)、「denied」(已拒絕)、「disconnected」(已中斷連線)。 |
app_name |
principal.application |
主體使用的應用程式名稱 (例如 「CLI」)。從活動 ID 111008、111009 和 111010 的 message_details 中擷取。 |
assigned_ipv4 |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
assigned_ipv6 |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
bytes_rcv |
network.received_bytes |
工作階段中接收的位元組數。從活動 ID 113019 的「log_mssg 」中擷取。 |
bytes_sent |
network.sent_bytes |
工作階段中傳送的位元組數。從活動 ID 113019 的「log_mssg 」中擷取。 |
cipher |
network.tls.cipher |
用於 SSL 工作階段的密碼。從 message_info 擷取,適用於事件類型 725012。 |
cisco_message_number |
security_result.rule_name |
從「eventtype 」欄位擷取的 Cisco 訊息號碼。 |
cisco_severity |
security_result.severity_details |
從 eventtype 欄位擷取的原始 Cisco 嚴重程度。 |
command |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
cumulative_total_count.key |
security_result.outcomes.key |
「cumulative_total_count」鍵會新增至 security_result.outcomes 陣列。 |
cumulative_total_count.value |
security_result.outcomes.value |
從 message_info 擷取的累計總計數值。 |
current_average_rate.key |
security_result.outcomes.key |
「current_average_rate」鍵會新增至 security_result.outcomes 陣列。 |
current_average_rate.value |
security_result.outcomes.value |
從 message_info 擷取的目前平均費率值。 |
current_burst_rate.key |
security_result.outcomes.key |
「current_burst_rate」鍵會新增至 security_result.outcomes 陣列。 |
current_burst_rate.value |
security_result.outcomes.value |
從 message_info 擷取的目前爆發率值。 |
desc |
metadata.description |
從記錄訊息擷取的事件說明。如果沒有更具體的說明,請使用這個值。 |
description |
metadata.description |
事件的詳細說明 (如有),取自記錄訊息。 |
destination_ip |
target.ip 、target.asset.ip |
目的地 IP 位址,從各種記錄訊息格式中擷取。 |
destination_ip_port |
target.port 或network.application_protocol |
目的地連接埠,從各種記錄訊息格式擷取。如果擷取的值不是數字,系統會將其視為應用程式通訊協定。 |
dst_email |
target.user.email_addresses 或target.user.userid |
從 message_info 擷取的目標電子郵件地址或使用者 ID。如果值符合電子郵件格式,就會新增至 email_addresses ;否則,系統會將該值做為 userid 。 |
dst_host |
target.hostname |
從 message_info 擷取的目的地主機名稱。 |
dst_ip |
target.ip 、target.asset.ip |
從主要 grok 模式或其他特定模式擷取的目的地 IP 位址。 |
dst_port |
target.port |
目的地連接埠,從主要 grok 模式或其他特定模式擷取。 |
duration |
network.session_duration |
工作階段的持續時間,從 message_details 中擷取並轉換為秒。 |
event_date |
@timestamp |
事件的日期和時間,由原始記錄中的各種時間戳記欄位建構而成,並使用 date 篩選器剖析。 |
event_id |
metadata.product_event_type (部分) |
與 event_severity 搭配使用,可形成 metadata.product_event_type 欄位。 |
event_name |
metadata.product_event_type (部分) |
與 event_severity 和 event_type 搭配使用,可在適用時形成 metadata.product_event_type 欄位。 |
event_severity |
metadata.product_event_type (部分)、security_result.severity 、is_alert 、is_significant |
與 event_id 或 event_name 和 event_type 搭配使用,可形成 metadata.product_event_type 欄位。也用於衍生 security_result.severity 、is_alert 和 is_significant 欄位。 |
event_type |
metadata.product_event_type (部分) |
與 event_name 和 event_severity 搭配使用,可在適用時形成 metadata.product_event_type 欄位。 |
eventtype |
metadata.product_event_type 、security_result.rule_name 、security_result.severity_details 、security_result.severity |
事件類型字串,用於衍生 metadata.product_event_type 、security_result.rule_name 、security_result.severity_details 和 security_result.severity 欄位。 |
fragment_id |
security_result.about.resource.id |
從事件 ID 209005 的 message_details 擷取的 IP 片段 ID。 |
group |
principal.group.group_display_name 、principal.user.group_identifiers 、target.user.group_identifiers |
從各種記錄訊息格式擷取的群組名稱。 |
group_name |
principal.group.group_display_name |
如果「group 」欄位是主機名稱,系統會從中擷取群組名稱。 |
has_principal_ip |
不適用 | 用於邏輯的內部變數,未對應至 UDM。 |
has_target_ip |
不適用 | 用於邏輯的內部變數,未對應至 UDM。 |
hostname |
principal.hostname 、principal.asset.hostname |
從各種記錄訊息格式擷取的主體主機名稱。 |
hostname2 |
principal.hostname 、principal.asset.hostname |
主體的名稱,在 hostname 無法使用時做為備援。 |
icmp_code |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
icmp_dst_ip |
target.ip 、target.asset.ip |
ICMP 錯誤訊息中的目的地 IP 位址。 |
icmp_id |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
icmp_src_ip |
principal.ip 、principal.asset.ip |
ICMP 錯誤訊息中的來源 IP 位址。 |
icmp_type |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
intermediary_ip |
principal.ip 、principal.asset.ip |
中介 IP 位址,從事件 ID 111010 的 message_info 中擷取。 |
invalid_ip |
不適用 | 用於邏輯的內部變數,未對應至 UDM。 |
ip_1 |
principal.ip 、principal.asset.ip |
如果來源和目的地 IP 相同,系統會擷取來源 IP 位址做為備援。 |
ip_2 |
target.ip 、target.asset.ip |
如果來源和目的地 IP 相同,系統會擷取目的地 IP 位址做為備援。 |
ipprotocol |
network.ip_protocol |
IP 通訊協定,從各種記錄訊息格式擷取並轉換為大寫。 |
issuer |
network.tls.client.certificate.issuer |
對等互連憑證的簽發者,從活動 ID 717037 的 message_details 中擷取。 |
local_proxy_ip |
intermediary.ip |
從事件 ID 713041 的 message_details 擷取的本機 Proxy IP 位址。 |
log_mssg |
security_result.description 、sr.action |
用於填入 security_result.description 欄位,以及擷取驗證動作。 |
login |
security_result.summary |
登入狀態,從 message_info 擷取。 |
max_configured_rate.key |
security_result.outcomes.key |
「max_configured_rate」鍵會新增至 security_result.outcomes 陣列。 |
max_configured_rate.value |
security_result.outcomes.value |
從 message_info 擷取的最高設定速率值。 |
message_details |
各種欄位 | 記錄訊息的主要部分,包含事件的詳細資料。根據事件 ID 使用各種 grok 模式剖析。 |
message_info |
metadata.description |
用於在可用的情況下填入 metadata.description 欄位。 |
observer |
observer.hostname 或observer.ip |
從記錄訊息中擷取的觀察器主機名稱或 IP 位址。 |
observer_ip |
observer.ip |
觀察員 IP 位址,從 observer 欄位擷取。 |
peer_type |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
policy |
target.resource.name |
從事件 ID 113003 的 message_details 中擷取的政策名稱。 |
policy_name |
target.resource.name |
政策名稱,從事件 ID 113009 和 113011 的 message_details 中擷取。 |
principal_ip |
principal.ip 、principal.asset.ip |
從事件 ID 113009 的 message_details 中擷取的委託人 IP 位址。 |
privilege_level_from |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
privilege_level_to |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
process |
principal.process.command_line |
從事件 ID 711004 的 message_details 擷取的程序名稱。 |
protocol |
network.ip_protocol 或network.application_protocol |
事件中使用的通訊協定,從各種記錄訊息格式中擷取。如果通訊協定是標準 IP 通訊協定 (ICMP、TCP、UDP、ESP),則會對應至 network.ip_protocol ;否則會對應至 network.application_protocol 。 |
reason |
security_result.description |
事件原因,從事件 ID 113016 的 message_details 中擷取。 |
remote_proxy_ip |
intermediary.ip |
從事件 ID 713041 的 message_details 中擷取的遠端 Proxy IP 位址。 |
retrieved_file |
target.file.full_path |
從 message_info 擷取的檔案路徑。 |
security_action |
security_result.action |
安全措施,由剖析器根據事件內容衍生而來。 |
security_category |
security_result.category |
安全類別,由剖析器根據事件內容衍生而來。 |
security_result.description |
security_result.description |
從記錄訊息擷取或衍生的安全性結果說明。 |
security_result.severity |
security_result.severity |
安全結果的嚴重程度,衍生自 event_severity 欄位。 |
security_result.summary |
security_result.summary |
從記錄訊息擷取或衍生而來的安全性結果摘要。 |
sent_bytes |
network.sent_bytes |
從 message_info 擷取的傳送位元組數。 |
ses_id |
network.session_id |
從 message_info 擷取的工作階段 ID。 |
session_id |
network.session_id |
從 message_info 擷取的工作階段 ID。 |
sess_type |
principal.hostname 、principal.asset.hostname |
工作階段類型,從 log_mssg 擷取,並在 hostname 無法使用時做為主機名稱。 |
source_ip |
principal.ip 、principal.asset.ip |
從各種記錄訊息格式中擷取的來源 IP 位址。 |
source_ip_port |
principal.port |
來源埠,從各種記錄訊息格式中擷取。 |
src_email |
principal.user.email_addresses 或principal.user.userid |
從 message_info 擷取的來源電子郵件地址或使用者 ID。如果值符合電子郵件格式,就會新增至 email_addresses ;否則,系統會將該值做為 userid 。 |
src_ip |
principal.ip 、principal.asset.ip |
從主要 grok 模式或其他特定模式擷取的來源 IP 位址。 |
src_port |
principal.port |
從主要 grok 模式或其他特定模式擷取的來源埠。 |
src_user |
principal.user.user_display_name |
來源使用者顯示名稱,從事件 ID 713049 和 713120 的 message_details 中擷取。 |
subject |
network.tls.client.certificate.subject |
從事件 ID 717037 的 message_details 中擷取的對等互連憑證主體。 |
summary |
security_result.summary |
活動摘要,從活動 ID 113016 的 message_details 擷取。 |
target_host |
target.hostname |
目標主機名稱,從事件 ID 113004 的 message_details 中擷取。 |
target_ip |
target.ip 、target.asset.ip |
從事件 ID 113004 的 message_details 中擷取的目標 IP 位址。 |
target_user |
target.user.userid |
目標使用者 ID,從事件 ID 113003 的 message_details 中擷取。 |
task_duration |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
tcp_dst_ip |
target.ip 、target.asset.ip |
ICMP 錯誤訊息原始 TCP 酬載中的目的地 IP 位址。 |
tcp_dst_port |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
tcp_src_ip |
principal.ip 、principal.asset.ip |
ICMP 錯誤訊息原始 TCP 酬載的來源 IP 位址。 |
tcp_src_port |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
threshold |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
tls_version |
network.tls.version |
從事件 ID 725002 的 message_details 中擷取的傳輸層安全標準 (TLS) 版本。 |
ts |
@timestamp |
事件的時間戳記,使用 date 篩選器剖析。 |
ts_day |
@timestamp (部分) |
時間戳記中的當月第幾日,用於建構 @timestamp 欄位。 |
ts_month |
@timestamp (部分) |
時間戳記中的月份,用於建構 @timestamp 欄位。 |
ts_time |
@timestamp (部分) |
時間戳記中的時間,用於建構 @timestamp 欄位。 |
ts_year |
@timestamp (部分) |
時間戳記中的年份,用於建構 @timestamp 欄位。 |
tunnel_type |
不適用 | 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。 |
user |
principal.user.userid 、target.user.userid |
從各種記錄訊息格式擷取的使用者 ID。 |
user_agent |
network.http.user_agent |
使用者代理程式字串,從事件 ID 722055 的 message_details 中擷取。 |
user_attr.key |
principal.user.attribute.labels.key |
從事件 ID 734003 和 734001 的 message_details 擷取的使用者屬性鍵。 |
user_attr.value |
principal.user.attribute.labels.value |
使用者屬性的值,從事件 ID 734003 和 734001 的 message_details 擷取。 |
userid |
principal.user.userid |
從事件 ID 106103 的 message_details 擷取的使用者 ID。 |
username |
principal.user.userid |
使用者名稱,從事件 ID 111008、111009、111010 和 113008 的 message_details 中擷取。 |
不適用 | metadata.vendor_name |
硬式編碼為「CISCO」。 |
不適用 | metadata.product_name |
硬式編碼為「ASA VPN」或「VPN」。 |
不適用 | metadata.event_type |
剖析器邏輯會根據特定欄位和事件 ID 是否存在來判斷。可以是 GENERIC_EVENT、NETWORK_CONNECTION、STATUS_UPDATE、NETWORK_FTP、USER_LOGIN、USER_LOGOUT、NETWORK_UNCATEGORIZED、USER_UNCATEGORIZED、NETWORK_FLOW。 |
不適用 | metadata.log_type |
硬式編碼為「CISCO_VPN」。 |
不適用 | metadata.event_timestamp |
從已剖析的 @timestamp 欄位複製。 |
不適用 | extensions.auth.type |
視事件脈絡而定,設為「VPN」、「AUTHTYPE_UNSPECIFIED」或「MACHINE」。 |
不適用 | security_result.about.resource.type |
將事件 ID 209005 設為「PACKET FRAGMENT」。 |
不適用 | is_alert |
針對嚴重程度高的事件 (event_severity 0 或 1) 設為 true。 |
不適用 | is_significant |
針對嚴重程度高的事件 (event_severity 0 或 1) 設為 true。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。