收集 NetScaler (舊稱 Citrix NetScaler) 記錄

剖析器版本:28.0

支援:

本文說明如何使用 Bindplane,將 NetScaler (舊稱 Citrix NetScaler) 記錄檔擷取至 Google Security Operations。

剖析器會從 NetScaler 系統記錄和鍵/值格式記錄中擷取欄位。它會使用 grok 和/或 kv 剖析記錄訊息,然後將這些值對應至統合式資料模型 (UDM)。並設定事件來源和類型的預設中繼資料值。

事前準備

請確認您符合下列必要條件:

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
  • NetScaler 網頁介面的特殊存取權

取得 Bindplane 代理程式的 Google SecOps 憑證

如要向 Google SecOps 驗證 Bindplane 代理程式,請選擇下列其中一種方法:

  • 新部署作業:使用 Chronicle API (選項 1)。
  • 舊版部署作業:繼續使用擷取驗證檔案 (選項 2),直到 Ingestion API 於 2027 年 7 月 20 日停用。
  1. 登入 Google Cloud 控制台,選取連結至 Google SecOps 執行個體的 Google Cloud 專案。
  2. 依序前往「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)。
  3. 按一下「建立服務帳戶」。
  4. 請提供下列設定詳細資料:
    • 服務帳戶名稱:輸入帳戶名稱 (例如 bindplane-ingest)。
    • 「服務帳戶說明」:輸入說明 (例如 Bindplane agent log ingestion)。
  5. 點按「Create and continue」(建立並繼續)。
  6. 在「將專案存取權授予這個服務帳戶」部分,按一下「選取角色」,然後選取「Chronicle 編輯者」。
  7. 依序點選「繼續」和「完成」。
  8. 按一下您建立的服務帳戶,然後前往「金鑰」分頁。
  9. 依序點選「新增金鑰」>「建立新的金鑰」。
  10. 選取「JSON」,然後點選「建立」。金鑰檔案會下載到電腦。
  11. 將金鑰檔案儲存為 Bindplane 收集器目錄中的 ingestion-auth.json (Linux 上的 /opt/observiq-otel-collector/ingestion-auth.json 或 Windows 上的 C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json),或更新 config.yaml 中的 creds_file_path,使其與儲存路徑相符。
  12. 依序前往「IAM & Admin」(IAM 與管理) >「Settings」(設定),然後複製「Project number」(專案編號)。設定匯出工具時會用到。

方法 2:下載擷取驗證檔案 (舊版)

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM Settings」 > 「Collection Agents」。
  3. 下載擷取驗證檔案。
  4. 將檔案安全地儲存在要安裝 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
    
  3. 等待安裝完成。

  4. 執行下列指令,確認安裝成功:

    sc query observiq-otel-collector
    

服務應顯示為「RUNNING」。

Linux 安裝

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

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. 等待安裝完成。

  4. 執行下列指令,確認安裝成功:

    sudo systemctl status observiq-otel-collector
    

服務應顯示為「active (running)」。

其他安裝資源

如需其他安裝選項和疑難排解資訊,請參閱 Bindplane 代理程式安裝指南。

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

找出設定檔

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

編輯設定檔

  • 將 config.yaml 的全部內容替換為下列設定:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: chronicle.googleapis.com
        log_type: 'CITRIX_NETSCALER'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    

設定參數

替換下列預留位置:

  • 接收器設定:

    • udplog:使用 udplog 進行 UDP 系統記錄,或使用 tcplog 進行 TCP 系統記錄
    • 0.0.0.0:要監聽的 IP 位址 (0.0.0.0 表示監聽所有介面)
    • 514:要監聽的通訊埠編號 (標準 syslog 通訊埠)
  • Exporter 設定:

    • creds_file_path:服務帳戶 JSON 金鑰檔案的完整路徑 (選項 1):
      • Linux:/opt/observiq-otel-collector/ingestion-auth.json
      • Windows:C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • YOUR_CUSTOMER_ID:取得客戶 ID 一節中的客戶 ID
    • location:將 <LOCATION> 替換為 Google SecOps 執行個體的區域 (例如 us、europe 或 asia-southeast1)。匯出工具會在這個值前面加上 chronicle.googleapis.com。如需完整清單,請參閱「區域性端點」。
    • project:依序前往「IAM 與管理」>「設定」,然後將 <PROJECT_NUMBER> 替換為專案編號。
    • endpoint:維持設為 chronicle.googleapis.com。
    • log_type:記錄類型,與 Google SecOps 中顯示的完全相同 (CITRIX_NETSCALER)

舊版 Ingestion API 匯出工具

  • 如果您使用方式 2 的擷取驗證檔案,請將 exporters 區塊替換成下列內容。將 creds_file_path 設為擷取驗證檔案的路徑。如果執行個體位於美國境外,請將 malachiteingestion-pa.googleapis.com 替換為區域端點 (例如 europe-malachiteingestion-pa.googleapis.com)。

    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'CITRIX_NETSCALER'
        raw_log_field: body
        ingestion_labels:
    

儲存設定檔

  • 編輯完畢後,請儲存檔案:
    • Linux:依序按下 Ctrl+O、Enter 和 Ctrl+X
    • Windows:依序點選「檔案」>「儲存」

重新啟動 Bindplane 代理程式,套用變更

如要在 Linux 中重新啟動 Bindplane 代理程式,請按照下列步驟操作:

  1. 執行下列指令:

    sudo systemctl restart observiq-otel-collector
    
  2. 確認服務正在執行:

    sudo systemctl status observiq-otel-collector
    
  3. 查看記錄檔是否有錯誤:

    sudo journalctl -u observiq-otel-collector -f
    

如要在 Windows 重新啟動 Bindplane 代理程式,請按照下列步驟操作:

  1. 您可以選擇下列其中一個選項:

    • 以管理員身分開啟命令提示字元或 PowerShell:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • 服務控制台:
      1. 按下 Win+R,輸入 services.msc,然後按下 Enter 鍵。
      2. 找出「observIQ OpenTelemetry Collector」。
      3. 按一下滑鼠右鍵,然後選取「重新啟動」。
  2. 確認服務正在執行:

    sc query observiq-otel-collector
    
  3. 查看記錄檔是否有錯誤:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

在 NetScaler 設定 syslog 轉送

  1. 登入 NetScaler 網頁介面 (NSIP)。
  2. 依序前往「System」>「Auditing」>「Syslog」。
  3. 按一下「伺服器」分頁標籤。
  4. 按一下「新增」,建立新的系統記錄伺服器。
  5. 提供下列設定詳細資料:

    • 名稱:輸入描述性名稱 (例如 Google-SecOps-Bindplane)。
    • 伺服器 IP:輸入 Bindplane 代理程式主機的 IP 位址。
    • 「Port」(通訊埠):輸入 514。
    • 「Log Level」(記錄層級):選取所有適用層級:

      • ALL (建議用於全面記錄)

    • 設施:選取「LOCAL0」 (或偏好的設施)。

    • 日期格式:選取「MMDDYYYY」。

    • 時區:選取「GMT_TIME」 (建議使用世界標準時間)。

    • TCP 記錄:選取「無」 (適用於 UDP)。

    • Log Facility:選取「LOCAL0」。

  6. 點選「建立」。

  7. 前往「政策」分頁。

  8. 按一下「新增」,建立新的系統記錄稽核政策。

  9. 提供下列設定詳細資料:

    • 名稱:輸入描述性名稱 (例如 Google-SecOps-Policy)。
    • 伺服器:選取先前建立的系統記錄伺服器。
  10. 點選「建立」。

  11. 在全域繫結政策:

    1. 依序前往 「System」 > 「Auditing」。
    2. 按一下「Syslog Audit Policies」下方的「Global Bindings」。
    3. 按一下「Add Binding」。
    4. 選取先前建立的政策。
    5. 按一下「繫結」。
  12. 檢查 Bindplane 代理程式記錄,確認系統記錄訊息是否已傳送。

  • 或者,您也可以透過 CLI 進行設定:

    add audit syslogAction Google-SecOps-Bindplane BINDPLANE_IP -serverPort 514 -logLevel ALL -dateFormat MMDDYYYY -timeZone GMT_TIME
    add audit syslogPolicy Google-SecOps-Policy ns_true Google-SecOps-Bindplane
    bind audit syslogGlobal -policyName Google-SecOps-Policy -priority 100
    

將 BINDPLANE_IP 替換為 Bindplane 代理程式主機的 IP 位址。

UDM 對應表

記錄欄位 UDM 對應
aaa_info_flags additional.fields
aaa_trans_id security_result.detection.fields
aaad_flags additional.fields
aaad_resp additional.fields
aaaFlags additional.fields
aaaFlags2 additional.fields
act securtiy_result.action_details,, security_result.action
動作 security_result.action
ADM_User additional.fields
allowed_interface security_result.detection.fields
applicationname target.application
auth_type additional.fields
authActionLen security_result.detection_fields
AuthAgent additional.fields
AuthDuration network.session_duration.seconds
authnvs additional.fields
authorizationStatus security_result.detection.fields
AuthStage additional.fields
Authtype additional.fields
C principal.location.country_or_region
caseId additional.fields
cfg_limit additional.fields
cgp_tag sec_result.detection_fields
channel_id_X additional.fields
channel_id_X_val additional.fields
channel_update_begin additional.fields
channel_update_end additional.fields
cipher_suite network.tls.cipher
client_fip target.ip target.asset.ip
client_fport target.port
client_ip principal.ip、principal.asset.ip
client_port principal.port
Client_security_expression additional.fields
client_type additional.fields
client_version network.tls.version
client.nat.ip principal.nat_ip,, principal.asset.nat_ip
clientside_jitter additional.fields
clientside_packet_retransmits additional.fields
clientside_rtt additional.fields
clientside_rxbytes network.sent_bytes
clientside_txbytes network.received_bytes
ClientVersion network.tls.version_protocol
CN principal.resource.attribute.labels
cn1 additional.fields
cn2 additional.fields
程式碼 additional.fields
commandExecutionStatus security_result.action_details
Compression_ratio_recv additional.fields
Compression_ratio_send additional.fields
configurationCmd security_result.detection.fields
connectionId network.session_id
copied_nsb sec_result.detection_fields
core_id additional.fields
core_refmask additional.fields
cs1 additional.fields
cs2 additional.fields
cs4 additional.fields
cs5 additional.fields
cs6 additional.fields
CSappid additional.fields
CSAppname -
csg_flags additional.fields
ctx_flags additional.fields
cur_attempts additional.fields
CurfactorPolname additional.fields
customername additional.fields
days_for_pwd_exp additional.fields
days_for_pwd_exp_STR additional.fields
delinkTime additional.fields
Denied_by_policy security_result.rule_name
遞減 metadata.description
destination.ip target.ip、target.asset.ip
destination.port target.resource.attribute.labels
device_event_class_id metadata.product_event_type
device_version metadata.product_version
Deviceid target.resource.product_object_id
Devicetype additional.fields
dht_delete_status additional.fields
diagnostic_info additional.fields
digestSignatureAlgorithm security_result.detection_fields
dns_additional_count additional.fields
dns_answer_count additional.fields
dns_authority_count additional.fields
dns_flags additional.fields
dns_flags_raw network.dns.recursion_desired
dns_flags_raw network.dns.recursion_available
dns_id network.dns.id
dns_question_count additional.fields
dns_question_name network.dns.question.name
網域 security_result.detection.fields,, additional.fields
網域 target.administrative_domain
ecs_version additional.fields
encrypt_status security_result.detection_fields
end_time additional.fields
End_time additional.fields
entityName target.resource.name
錯誤代碼 additional.fields
event_id metadata.product_log_id
event_name metadata.product_event_type
event_type sec_result.summary
expired_refmask additional.fields
要素 security_result.detection.fields
flags additional.fields
flags2 additional.fields
flags3 additional.fields
flags4 additional.fields
func security_result.detection_fields
地理位置 location.country_region
群組 target.user.group_identifiers
群組 target.user.group.identifiers
handshake_time network.session_duration.seconds
HandshakeTime additional.fields
host_hostname principal.hostname
host_ip principal.ip principal.asset.ip
host.name target.hostname、target.asset.hostname
主機名稱 intermediary.hostname、intermediary.asset.hostname
主機名稱 target.hostname、target.asset.hostname
hostname_1 target.hostname、target.asset.hostname
http_method network.http.method
Http_resources_accessed security_result.detection.fields
http_uri target.url
HTTPS network.application_protocol
ica_conn_owner_refmask sec_result.detection_fields
ica_rtt additional.fields
ica_uuid network.session_id
ICAUUID network.session_id
id metadata.id
init_icamode_homepage additional.fields
inter_hostname intermediary.hostname
interfaceKind security_result.detection.fields
ip intermediary.asset.ip
ip_x principal.ip principal.asset.ip
ipaddress target.ip,, target.asset.ip
is_post additional.fields
IssuerName network.tls.server.certificate.issuer
L principal.location.city
last_contact additional.fields
loc target.url
localdate additional.fields
lock_duration additional.fields
log_action sec_result.detection_fields
log_action security_result.detection.fields
log_category additional.fields
log_data additional.fields
log_format additional.fields
log_timestamp additional.fields
log_type additional.fields
log.syslog.priority additional.fields
login_count sec_result.detection_fields
login_count security_result.detection_fields
LogoutMethod additional.fields
max_attempts additional.fields
message_content security_result.summary
message_id metadata.product_log_id
message_status_code additional.fields
方法 network.http.method
monitored_resource additional.fields
msg metadata.description
msi_client_cookie additional.fields
msticks additional.fields
Nat_ip additional.fields,, principal.nat_ip,, principal.asset.nat_ip, (If the Nat_ip isn't an IP address, it is in additional.fields.)
netscaler_principal_ip_context principal.resource.attribute.labels
netscaler_tag intermediary.asset.product_object_id
netscaler_target_ip_context target.resource.attribute.labels
new_webview additional.fields
newWebview additional.fields
NonHttp_services_accessed security_result.detection.fields
nsPartitionName additional.fields
on_port additional.fields
組織 principal.resource.attribute.labels
機構單位 principal.resource.attribute.labels
owner_from additional.fields
owner_id additional.fields
pcb_devno additional.fields
pcbdevno additional.fields
Policyname security_result.rule_name
通訊埠 principal.port
port_details principal.port
prin_ip principal.ip principal.asset.ip
prin_user principal.user.userid
principal_ip principal.ip、principal.asset.ip
principal_port principal.port
prod_event_type metadata.product_event_type
通訊協定 network.ip_protocol
protocol_feature security_result.detection.fields
ProtocolVersion network.tls.protocol_version
pwdlen additional.fields
pwdlen2 additional.fields
q_flags additional.fields
reason_val security_result.description
receiver_version additional.fields
record_type network.dns.question.type
refmask additional.fields
remote_ip principal.ip principal.asset.ip
remote_port principal.port
要求 target.url
ReqURL additional.fields
resource_cmd target.resource.name
資源名稱 principal.resource.name
回應 additional.fields
response_code additional.fields
rule_id security_result.rule.id
rule_name security_result.rule_name
SerialNumber network.tls.server.certificate.serial
server_authenticated additional.fields
serverside_jitter additional.fields
serverside_packet_retransmits additional.fields
serverside_rtt additional.fields
service_name principal.applications
sess_flags2: additional.fields
sess_seq network.session_id
sessFlags2 additional.fields
工作階段 additional.fields
session_cookie security_result.detection_fields
session_guid network.session_id
session_id_label network.session_id
session_setup_time additional.fields
session_type sec_result.description
SessionId network.session_id
skip_code additional.fields
source_file additional.fields
source_hostname principal.hostname,, principal.asset.hostname
source_line additional.fields
source.ip principal.ip、principal.asset.ip
source.port principal.resource.attribute.labels
spcb_id security_result.detecrion.fields
SPCBId sec_result.detection_fields
spt principal.port
src principal.ip principal.asset.ip
src_hostname principal.hostname principal.asset.hostname
src_ip principal.ip principal.asset.ip
src_ip1 src.ip、src.asset.ip
src_port principal.port
ssid network.session_id
SSLVPN_client_type additional.fields
單一登入 (SSO) additional.fields
sso additional.fields
sso_auth_type additional.fields
sso_flags security_result.detection_fields
sso_state additional.fields
SSOduration additional.fields
SSOurl additional.fields
ssoUsername additional.fields
ssoUsername2 additional.fields
ST principal.location.state
sta_port additional.fields
sta_ticket additional.fields
start_time additional.fields
Start_time additional.fields
狀態 security_result.action_details
最終的隱藏狀態 additional.fields
state_value additional.fields
StatusCode additional.fields
SubjectName network.tls.client.certificate.subject
summ security_result.summary
摘要 security_result.summary
sysCmdPolLen security_result.detection.fields
syslog_priority additional.fields
標記 additional.fields
tar_ip target.ip target.asset.ip
tar_port target.port
target_id target.resource.id
target_port target.port
TCP network.ip_protocol
timeout_ms additional.fields
時間戳記 metadata.event_timestamp
Total_bytes_send network.sent_bytes
Total_compressedbytes_recv additional.fields
Total_compressedbytes_send additional.fields
Total_policies_allowed security_result.detection.fields
Total_policies_denied security_result.detection.fields
Total_TCP_connections security_result.detection.fields
Total_UDP_flows security_result.detection.fields
track_flags additional.fields
trans_id -
tt metadata.event_timestamp
使用者 principal.user.userid
user_agent.original network.http.user_agent
user_email principal.user.email_addresses
user_id principal.user.userid
user.domain target.administrative_domain
user.name principal.user.user_display_name
userids target.user.userid
ValidFrom network.tls.server.certificate.not_before
ValidTo network.tls.server.certificate.not_after
版本 additional.fields
VPNexportState additional.fields
Vport target.port
Vserver 時間戳記 additional.fields
vserver_id target.resource.product_object_id
Vserver_ip target.ip、target.asset.ip
vserver_port target.port
Vserver_port target.port
vserver_timestamp additional.fields
vserver.ip target.ip,, target.asset.ip
wirep additional.fields
wirep_name additional.fields
wirep_ref_cnt additional.fields
url_value event.idm.read_only_udm.target.url
host_port event.idm.read_only_udm.additional.fields
region event.idm.read_only_udm.principal.location.country_or_region
NAT_IP event.idm.read_only_udm.principal.nat_ip 和 event.idm.read_only_udm.principal.asset.nat_ip
USER event.idm.read_only_udm.target.user.userid
URL event.idm.read_only_udm.additional.fields
proxy_action event.idm.read_only_udm.security_result.action_details
SRC_IP event.idm.read_only_udm.principal.ip 和 event.idm.read_only_udm.principal.asset.ip
HOST event.idm.read_only_udm.target.hostname 和 event.idm.read_only_udm.target.asset.hostname
url_port event.idm.read_only_udm.target.port
User-Agent event.idm.read_only_udm.network.http.user_agent
User-Agent event.idm.read_only_udm.network.http.parsed_user_agent
PROXY_IP event.idm.read_only_udm.intermediary.ip 和 event.idm.read_only_udm.intermediary.asset.ip
proxy_action event.idm.read_only_udm.security_result.action
v_ip event.idm.read_only_udm.observer.ip 和 event.idm.read_only_udm.observer.asset.ip
v_port event.idm.read_only_udm.observer.port
gwip event.idm.read_only_udm.observer.ip 和 event.idm.read_only_udm.observer.asset.ip
gwport event.idm.read_only_udm.observer.port
Username event.idm.read_only_udm.principal.user.userid
VPNfqdn event.idm.read_only_udm.target.hostname
VPNfqdn event.idm.read_only_udm.target.asset.hostname
VPNfqdn event.idm.read_only_udm.target.ip
VPNfqdn event.idm.read_only_udm.target.asset.ip
Remote ip event.idm.read_only_udm.principal.ip
Remote ip event.idm.read_only_udm.principal.asset.ip
Remote ip event.idm.read_only_udm.principal.port
BackendIP event.idm.read_only_udm.target.ip
BackendIP event.idm.read_only_udm.target.asset.ip
BackendIP event.idm.read_only_udm.target.port
ts event.idm.read_only_udm.metadata.event_timestamp
id event.idm.read_only_udm.metadata.product_log_id
policy event.idm.read_only_udm.security_result.detection_fields
Nat_ip event.idm.read_only_udm.principal.nat_ip
v_ip event.idm.read_only_udm.intermediary.ip
v_port event.idm.read_only_udm.intermediary.port
event_id event.idm.read_only_udm.additional.fields
Nat_ip event.idm.read_only_udm.principal.ip 和 event.idm.read_only_udm.principal.asset.ip
Nat_port event.idm.read_only_udm.principal.nat_port
v_ip event.idm.read_only_udm.target.ip 和 event.idm.read_only_udm.target.asset.ip
v_port event.idm.read_only_udm.target.port
delinkTime event.idm.read_only_udm.additional.fields
hostname event.idm.read_only_udm.intermediary.hostname
intermediary_ip intermediary.ip
Remote_ip target.ip
VserverIP src.ip
VserverPort src.port
Start_time sec_result.first_discovered_time
End_time sec_result.last_discovered_time
prin_ip principal.ip and principal.asset.ip
user_prin principal.user.userid
trans id security_result.detection_fields
request principal.url
Client_ip principal.ip
Errmsg metadata.description
Sessionid network.session_id
user_name" and "user target.user.userid
Authentication details security_result.description
Browser network.http.parsed_user_agent
ClientIP principal.asset.ip
type", "aaa_trans_id", "pcb_trans_id", "pcb_state", "pcb_label", "trans_id", "authPolicyLen", "login_attempts", "PromptLen", "partitionLen", "cmdPolicyLen", and "ssh_pubkey_len security_result.detection_fields
principal_hostname principal.hostname
hostname observer.asset.hostname
cip", "ServerIP", "VIP", "VserverServiceIP", and "Remote_ip target.asset.ip
startTime", "endTime", "Duration security_result.detection_fields

變更記錄

查看這個剖析器的變更記錄

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。