Citrix NetScaler のログを収集する

以下でサポートされています。

このドキュメントでは、Bindplane を使用して Citrix NetScaler ログを Google Security Operations に取り込む方法について説明します。

パーサーは、Citrix NetScaler syslog と Key-Value 形式のログからフィールドを抽出します。grok または kv を使用してログ メッセージを解析し、これらの値を統合データモデル(UDM)にマッピングします。また、イベントのソースとタイプのデフォルトのメタデータ値も設定します。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • Windows Server 2016 以降、または systemd を使用する Linux ホスト
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します
  • Citrix NetScaler ウェブ インターフェースへの特権アクセス

Google SecOps の取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。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. root 権限または 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 エージェントのインストール ガイドをご覧ください。

Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する

構成ファイルを見つける

  • Linux:

    sudo nano /etc/bindplane-agent/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:
            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:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    

構成パラメータ

  • 各プレースホルダを次のように置き換えます。

    • レシーバーの構成:

      • udplog: UDP Syslog には udplog、TCP Syslog には tcplog を使用します。
      • 0.0.0.0: リッスンする IP アドレス(すべてのインターフェースでリッスンする場合は 0.0.0.0
      • 514: リッスンするポート番号(標準の syslog ポート)
    • エクスポータの構成:

      • creds_file_path: 取り込み認証ファイルのフルパス:
        • Linux: /etc/bindplane-agent/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • YOUR_CUSTOMER_ID: 「顧客 ID を取得する」セクションの顧客 ID
      • endpoint: リージョナル エンドポイント URL:
        • 米国: malachiteingestion-pa.googleapis.com
        • ヨーロッパ: europe-malachiteingestion-pa.googleapis.com
        • アジア: asia-southeast1-malachiteingestion-pa.googleapis.com
        • 完全なリストについては、リージョン エンドポイントをご覧ください。
      • log_type: Chronicle に表示されるログタイプ(CITRIX_NETSCALER

構成ファイルを保存する

  • 編集後、ファイルを保存します。
    • Linux: Ctrl+OEnterCtrl+X の順に押します。
    • Windows: [ファイル>保存] をクリックします。

Bindplane エージェントを再起動して変更を適用する

  • Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。

    sudo systemctl restart observiq-otel-collector
    
    1. サービスが実行されていることを確認します。

        sudo systemctl status observiq-otel-collector
      
    2. ログでエラーを確認します。

        sudo journalctl -u observiq-otel-collector -f
      
  • Windows で Bindplane エージェントを再起動するには、次のいずれかのオプションを選択します。

    • 管理者としてコマンド プロンプトまたは PowerShell を開きます。

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • サービス コンソール:

      1. Win+R キーを押し、「services.msc」と入力して Enter キーを押します。
      2. observIQ OpenTelemetry Collector を見つけます。
      3. 右クリックして [再起動] を選択します。

      4. サービスが実行されていることを確認します。

        sc query observiq-otel-collector
        
      5. ログでエラーを確認します。

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

Citrix NetScaler で Syslog 転送を構成する

  1. Citrix NetScaler ウェブ インターフェース(NSIP)にログインします。
  2. [System] > [Auditing] > [Syslog] に移動します。
  3. [Servers] タブをクリックします。
  4. [追加] をクリックして、新しい syslog サーバーを作成します。
  5. 次の構成の詳細を入力します。
    • 名前: わかりやすい名前を入力します(例: Google-SecOps-Bindplane)。
    • サーバー IP: Bindplane エージェント ホストの IP アドレスを入力します。
    • ポート: 「514」と入力します。
    • ログレベル: 該当するレベルをすべて選択します。
      • ALL(包括的なロギングに推奨)
    • ファシリティ: LOCAL0(または任意のファシリティ)を選択します。
    • 日付形式: [MMDDYYYY] を選択します。
    • タイムゾーン: GMT_TIME を選択します(UTC を推奨)。
    • TCP Logging: NONE(UDP の場合)を選択します。
    • ログ機能: [LOCAL0] を選択します。
  6. [作成] をクリックします。
  7. [ポリシー] タブに移動します。
  8. [追加] をクリックして、新しい syslog 監査ポリシーを作成します。
  9. 次の構成の詳細を入力します。
    • 名前: わかりやすい名前を入力します(例: Google-SecOps-Policy)。
    • サーバー: 先ほど作成した syslog サーバーを選択します。
  10. [作成] をクリックします。
  11. ポリシーをグローバルにバインドします。
    1. [システム > 監査] に移動します。
    2. [Syslog 監査ポリシー] で [グローバル バインディング] をクリックします。
    3. [バインディングを追加] をクリックします。
    4. 先ほど作成したポリシーを選択します。
    5. [Bind] をクリックします。
  12. Bindplane エージェントのログを確認して、syslog メッセージが送信されていることを確認します。

または、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
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
code 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
desc 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
domain security_result.detection.fields
additional.fields
domain 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
Error Code additional.fields
event_id metadata.product_log_id
event_name metadata.product_event_type
event_type sec_result.summary
expired_refmask additional.fields
factor security_result.detection.fields
flags additional.fields
flags2 additional.fields
flags3 additional.fields
flags4 additional.fields
func security_result.detection_fields
geolocation location.country_region
Group(s) target.user.group_identifiers
Group(s) 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
hostname intermediary.hostname
intermediary.asset.hostname
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
method 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
Nat_ip が IP アドレスでない場合は 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
Organization principal.resource.attribute.labels
OU principal.resource.attribute.labels
owner_from additional.fields
owner_id additional.fields
pcb_devno additional.fields
pcbdevno additional.fields
Policyname security_result.rule_name
port 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
protocol 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
request target.url
ReqURL additional.fields
resource_cmd target.resource.name
resource_name principal.resource.name
response 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
Session 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
State security_result.action_details
state additional.fields
state_value additional.fields
StatusCode additional.fields
SubjectName network.tls.client.certificate.subject
summ security_result.summary
summary security_result.summary
sysCmdPolLen security_result.detection.fields
syslog_priority additional.fields
tags 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
timestamp 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
User 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
version additional.fields
VPNexportState additional.fields
Vport target.port
Vserver Timestamp 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

UDM マッピング デルタ リファレンス

2026 年 2 月 3 日、Google SecOps は NetScaler パーサーの新しいバージョンをリリースしました。このバージョンには、NetScaler ログフィールドから UDM フィールドへのマッピングの大きな変更と、イベントタイプのマッピングの変更が含まれています。

ログフィールド マッピングの差分

次の表に、2026 年 2 月 3 日より前に公開された NetScaler ログから UDM へのフィールドのマッピングの差分と、それ以降に公開されたフィールドのマッピングの差分を示します(それぞれ [以前のマッピング] 列と [現在のマッピング] 列に記載)。

ログフィールド 以前のマッピング 現在のマッピング
act securit_.result.detetction_fields securtiy_result.action_details
security_result.action
client_ip additional.fields principal.ip
principal.asset.ip
ClientVersion network.tls.version network.tls.version_protocol
connectionId security_result.detection_fields network.session_id
CSAppname - -
domain target.user.administrative_domain security_result.detection.fields
additional.fields
end_time security_result.detection.fields security_result.last_discovered_time additional.fields
event_id additional.fields metadata.product_log_id
geolocation location.city location.country_region
Group(s) target.user.group_display_name target.user.group_identifiers
HandshakeTime network.session_duration.seconds additional.fields
host.name intermediary.hostname target.hostname
target.asset.hostname
hostname target.hostname
target.asset.hostname
intermediary.hostname
intermediary.asset.hostname
hostname principal.hostname
principal.asset.hostname
target.hostname
target.asset.hostname
ipaddress principal.ip
principal.asset.ip
target.ip
target.asset.ip
Nat_ip principal.ip
principal.asset.ip
principal.nat_ip
principal.nat_ip
port_details principal.labels principal.port
principal_ip target.ip
target.asset.ip
principal.ip
principal.asset.ip
request security_result.summary target.url
sess_seq additional.fields network.session_id
session_guid metadata.product_log_id network.session_id
source_hostname target.hostname
target.asset.hostname
principal.hostname
principal.asset.hostname
spcb_id additional.fields security_result.detecrion.fields
ssid additional.fields network.session_id
start_time security_result.detection.fields security_result.first_discovered_time additional.fields
SubjectName principal.resource.attribute.labels network.tls.client.certificate.subject
summary metadata.descritption security_result.summary
target_port principal.port target.port
trans_id security_result.detection.fields -
user_id target.user.userid principal.user.userid

イベントタイプ マッピングの差分

次の表に、2026 年 2 月 3 日より前と以降の NetScaler イベントタイプの処理の差分を示します(それぞれ [以前の event_type] 列と [現在の event_type] 列に記載)。

以前の event_type 現在の event_type 理由
NETWORK_CONNECTION NETWORK_DNS message_typeDNS_QUERY の場合、または has_network_dnstrue の場合に名前が指定されている場合。
NETWORK_CONNECTION NETWORK_HTTP message_typeSSLVPN HTTPREQUEST の場合。
STATUS_UPDATE NETWORK_CONNECTION 適切な特定のイベントタイプにマッピングされます。
STATUS_UPDATE USER_RESOURCE_UPDATE_CONTENT message_type が SNMP TRAP_SENT で、has_target_resourcetrue の場合、これは適切な特定のイベントタイプにマッピングされます。
STATUS_UPDATE USER_UNCATEGORIZED プリンシパル userid が存在する場合、適切な特定のイベントタイプにマッピングされます。
USER_RESOURCE_ACCESS NETWORK_HTTP message_type が SSLVPN HTTPREQUEST の場合
USER_STATS GENERIC_EVENT USER_STATS は非推奨であるため、適切な特定のイベントタイプにマッピングされます。
USER_STATS NETWORK_CONNECTION USER_STATS は非推奨であるため、適切な特定のイベントタイプにマッピングされます。
USER_STATS USER_LOGIN USER_STATS は非推奨であるため、適切な特定のイベントタイプにマッピングされます。
USER_STATS USER_LOGOUT USER_STATS は非推奨であるため、message_typeLOGOUT の場合、これは適切な特定のイベントタイプにマッピングされます。
USER_UNCATEGORIZED GENERIC_EVENT ログにマッピングするプリンシパル マシン フィールドがありません。
USER_UNCATEGORIZED NETWORK_CONNECTION 適切な特定のイベントタイプにマッピングされます。
USER_UNCATEGORIZED USER_LOGIN 適切な特定のイベントタイプにマッピングされます。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。