收集 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 專業人員尋求答案。