收集 Cisco VPN 記錄

支援的國家/地區:

本文說明如何使用 Bindplane,將 Cisco ASA VPN 記錄擷取至 Google Security Operations。剖析器會使用 Grok 模式從系統記錄訊息中擷取欄位,並處理標準系統記錄格式和替代訊息結構。然後將擷取的欄位對應至統一資料模型 (UDM),根據 ID 和擷取的資訊分類事件,並使用供應商、產品和事件類型等中繼資料擴充資料。剖析器也會處理特定事件 ID,套用額外的 grok 模式和邏輯,擷取相關詳細資料並對應至適當的 UDM 欄位。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • Windows 2016 以上版本,或搭載 systemd 的 Linux 主機
  • 如果透過 Proxy 執行,防火牆通訊埠已開啟
  • Cisco ASA 的特殊權限

取得 Google SecOps 擷取驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案。將檔案安全地儲存在要安裝 Bindplane 的系統上。

取得 Google SecOps 客戶 ID

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「設定檔」
  3. 複製並儲存「機構詳細資料」專區中的客戶 ID

安裝 Bindplane 代理程式

請按照下列操作說明,在 Windows 或 Linux 作業系統上安裝 Bindplane 代理程式。

Windows 安裝

  1. 以系統管理員身分開啟「命令提示字元」或「PowerShell」
  2. 執行下列指令:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux 安裝

  1. 開啟具有根層級或 sudo 權限的終端機。
  2. 執行下列指令:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

其他安裝資源

如需其他安裝選項,請參閱安裝指南

設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps

  1. 存取設定檔:
    • 找出 config.yaml 檔案。通常位於 Linux 的 /etc/bindplane-agent/ 目錄,或 Windows 的安裝目錄。
    • 使用文字編輯器 (例如 nanovi 或記事本) 開啟檔案。
  2. 按照下列方式編輯 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 的系統記錄

  1. 開啟 Cisco ASDM
  2. 依序前往「Configuration」(設定) 「Features」(功能) 「Properties」(屬性) 「Logging」(記錄) 「Logging Setup」(記錄設定)
  3. 選取「啟用記錄功能」核取方塊,即可啟用系統記錄。
  4. 在「Logging」(記錄) 中選取「Syslog Servers」(系統記錄伺服器),然後按一下「Add」(新增)
  5. 在「新增系統記錄伺服器」視窗中,輸入下列設定詳細資料:
    • 介面:選取外寄通訊的介面。
    • IP 位址:輸入 Bindplane 代理程式 IP 位址。
    • 「通訊協定」:選取「UDP」
    • 「Port」(通訊埠):輸入 Bindplane 代理程式通訊埠編號。
    • 按一下 [確定]
  6. 在「記錄」部分選取「記錄篩選器」
  7. 選取「Syslog Servers」(系統記錄伺服器),然後按一下「Edit」(編輯)
  8. 從清單中選取「資訊」做為「依嚴重程度篩選」
  9. 按一下 [確定]
  10. 按一下 [套用]

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.iptarget.asset.ip 目的地 IP 位址,從各種記錄訊息格式中擷取。
destination_ip_port target.portnetwork.application_protocol 目的地連接埠,從各種記錄訊息格式擷取。如果擷取的值不是數字,系統會將其視為應用程式通訊協定。
dst_email target.user.email_addressestarget.user.userid message_info 擷取的目標電子郵件地址或使用者 ID。如果值符合電子郵件格式,就會新增至 email_addresses;否則,系統會將該值做為 userid
dst_host target.hostname message_info 擷取的目的地主機名稱。
dst_ip target.iptarget.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_severityevent_type 搭配使用,可在適用時形成 metadata.product_event_type 欄位。
event_severity metadata.product_event_type (部分)、security_result.severityis_alertis_significant event_idevent_nameevent_type 搭配使用,可形成 metadata.product_event_type 欄位。也用於衍生 security_result.severityis_alertis_significant 欄位。
event_type metadata.product_event_type (部分) event_nameevent_severity 搭配使用,可在適用時形成 metadata.product_event_type 欄位。
eventtype metadata.product_event_typesecurity_result.rule_namesecurity_result.severity_detailssecurity_result.severity 事件類型字串,用於衍生 metadata.product_event_typesecurity_result.rule_namesecurity_result.severity_detailssecurity_result.severity 欄位。
fragment_id security_result.about.resource.id 從事件 ID 209005 的 message_details 擷取的 IP 片段 ID。
group principal.group.group_display_nameprincipal.user.group_identifierstarget.user.group_identifiers 從各種記錄訊息格式擷取的群組名稱。
group_name principal.group.group_display_name 如果「group」欄位是主機名稱,系統會從中擷取群組名稱。
has_principal_ip 不適用 用於邏輯的內部變數,未對應至 UDM。
has_target_ip 不適用 用於邏輯的內部變數,未對應至 UDM。
hostname principal.hostnameprincipal.asset.hostname 從各種記錄訊息格式擷取的主體主機名稱。
hostname2 principal.hostnameprincipal.asset.hostname 主體的名稱,在 hostname 無法使用時做為備援。
icmp_code 不適用 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。
icmp_dst_ip target.iptarget.asset.ip ICMP 錯誤訊息中的目的地 IP 位址。
icmp_id 不適用 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。
icmp_src_ip principal.ipprincipal.asset.ip ICMP 錯誤訊息中的來源 IP 位址。
icmp_type 不適用 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。
intermediary_ip principal.ipprincipal.asset.ip 中介 IP 位址,從事件 ID 111010 的 message_info 中擷取。
invalid_ip 不適用 用於邏輯的內部變數,未對應至 UDM。
ip_1 principal.ipprincipal.asset.ip 如果來源和目的地 IP 相同,系統會擷取來源 IP 位址做為備援。
ip_2 target.iptarget.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.descriptionsr.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.hostnameobserver.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.ipprincipal.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_protocolnetwork.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.hostnameprincipal.asset.hostname 工作階段類型,從 log_mssg 擷取,並在 hostname 無法使用時做為主機名稱。
source_ip principal.ipprincipal.asset.ip 從各種記錄訊息格式中擷取的來源 IP 位址。
source_ip_port principal.port 來源埠,從各種記錄訊息格式中擷取。
src_email principal.user.email_addressesprincipal.user.userid message_info 擷取的來源電子郵件地址或使用者 ID。如果值符合電子郵件格式,就會新增至 email_addresses;否則,系統會將該值做為 userid
src_ip principal.ipprincipal.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.iptarget.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.iptarget.asset.ip ICMP 錯誤訊息原始 TCP 酬載中的目的地 IP 位址。
tcp_dst_port 不適用 雖然已剖析,但這個欄位不會對應至 UDM 中的 IDM 物件。
tcp_src_ip principal.ipprincipal.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.useridtarget.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 專業人員尋求答案。