NetScaler ログを収集する

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

このドキュメントでは、Google Security Operations フォワーダーを使用して NetScaler ログを収集する方法について説明します。

詳細については、Google Security Operations へのデータの取り込みの概要をご覧ください。

取り込みラベルによって、未加工のログデータを構造化 UDM 形式に正規化するパーサーが識別されます。このドキュメントの情報は、取り込みラベル CITRIX_NETSCALER が付加されたパーサーに適用されます。

NetScaler VPX を構成する

Google Security Operations フォワーダーにログを送信するように NetScaler VPX を構成するには、次の操作を行います。

ホスト名の構成を確認する

  1. 管理者の認証情報を使用して NetScaler ウェブ インターフェースにログインします。
  2. [Configuration] > [Settings] を選択します。
  3. [Host name, DNS IP address, and Time zone] をクリックします。
  4. [ホスト名] フィールドが空の場合は、ホスト名を入力します。スペースは含めないでください。このフィールドがすでに設定されている場合は、特にご対応いただく必要はありません。
  5. [DNS IP address] フィールドで、ローカル DNS IP アドレスが指定されていることを確認します。
  6. [タイムゾーン] フィールドにタイムゾーンを入力します。

監査サーバーを作成する

  1. NetScaler ウェブ インターフェースで、[Configuration] > [System] > [Auditing] > [Syslog] > [Servers] を選択します。
  2. 次のフィールドに syslog の詳細を指定します。
    • 名前
    • サーバータイプ
    • IP アドレス
    • ポート
  3. [ログレベル] で [カスタム] を選択します。
  4. 構成で [DEBUG] レベルを除くすべてのチェックボックスをオンにします。
  5. [ログ ファシリティ] リストで [LOCAL0] を選択します。
  6. [日付の形式] リストで [MMDDYYYY] を選択します。
  7. [タイムゾーン] で [GMT] を選択します。
  8. 次のチェックボックスをオフにします。
    • TCP ロギング
    • ACL ロギング
    • ユーザーが構成可能なログ メッセージ
    • AppFlow のロギング
    • 大規模な NAT ロギング
    • ALG メッセージのロギング
    • サブスクライバーのロギング
    • DNS
    • SSL インターセプト
    • URL のフィルタリング
    • コンテンツ検査のロギング
  9. [OK] をクリックして、監査サーバーを作成します。

作成した監査ポリシーをサーバーにバインドする

  1. NetScaler ウェブ インターフェースで、[Configuration] > [System] > [Auditing] > [Syslog] を選択します。
  2. [ポリシー] タブをクリックします。
  3. [名前] フィールドに、ポリシーの名前を入力します。
  4. [サーバー] リストで、前のセクションで作成したポリシーを選択します。
  5. [作成] をクリックします。
  6. 作成した監査ポリシーを右クリックし、[アクション > グローバル バインディング] を選択します。
  7. [バインディングを追加] をクリックします。
  8. [ポリシー バインディング] ウィンドウで、次の操作を行います。
    1. [ポリシーの選択] フィールドに、作成した監査ポリシーを入力します。
    2. [バインディングの詳細] ペインの [優先度] フィールドに、デフォルトの優先度である 120 と入力します。
    3. [Bind] をクリックします。

NetScaler SDX を構成する

Google Security Operations フォワーダーにログを送信するように NetScaler SDX を構成するには、次の操作を行います。

NetScaler SDX のホスト名構成を確認する

  1. 管理者の認証情報を使用して NetScaler ウェブ インターフェースにログインします。
  2. NetScaler ウェブ インターフェースで、[System] > [System settings] を選択します。
  3. [ホスト名] フィールドが空の場合は、ホスト名を入力します。スペースは含めないでください。このフィールドがすでに設定されている場合は、特にご対応いただく必要はありません。
  4. [タイムゾーン] フィールドで、[UTC] または [GMT] を選択します。

syslog サーバーを構成する

  1. NetScaler ウェブ インターフェースで、[System] > [Notifications] > [Syslog servers] を選択します。
  2. [詳細] ペインで、[追加] をクリックします。
  3. [Create syslog server] ウィンドウで、次の syslog サーバー パラメータの値を指定します。
    1. [名前] フィールドに名前を入力します。
    2. [IP アドレス] フィールドに、Google Security Operations 転送元の IP アドレスを入力します。
    3. [ポート] フィールドにポート番号を入力します。
    4. [ログレベル] で [カスタム] を選択します。
    5. [Debug] 以外のすべてのログレベルを選択します。
  4. [作成] をクリックします。

syslog パラメータを構成する

  1. NetScaler ウェブ インターフェースで、[System] > [Notifications] > [Syslog servers] を選択します。
  2. [詳細] ペインで、[Syslog パラメータ] をクリックします。
  3. [Configure syslog parameters] ページで、[Date format] を MMDDYYYY に、[Time zone] を GMT に設定します。
  4. [OK] をクリックします。

NetScaler ログを取り込むように Google Security Operations フォワーダーを構成する

  1. [SIEM の設定] > [転送元] を選択します。
  2. [新しいフォワーダーの追加] をクリックします。
  3. [フォワーダーの名前] フィールドに、フォワーダーの一意の名前を入力します。
  4. [送信]、[確認] の順にクリックします。フォワーダーが追加され、[コレクタの構成を追加する] ウィンドウが表示されます。
  5. [コレクタ名] フィールドに、コレクタの一意の名前を入力します。
  6. [ログタイプ] で [Citrix NetScaler] を選択します。
  7. [コレクタのタイプ] フィールドで [Syslog] を選択します。
  8. 次の必須入力パラメータを構成します。
    • プロトコル: コレクタが syslog データをリッスンするために使用する接続プロトコルを指定します。
    • Address: コレクタが存在し、Syslog データをリッスンするターゲット IP アドレスまたはホスト名を指定します。
    • Port: コレクタが存在し、syslog データをリッスンするターゲット ポートを指定します。
  9. [送信] をクリックします。

Google Security Operations フォワーダーの詳細については、Google Security Operations UI でフォワーダー構成を管理するをご覧ください。

フォワーダーの作成時に問題が発生した場合は、Google Security Operations サポートにお問い合わせください。

フィールド マッピング リファレンス

このパーサーは、Citrix Netscaler SYSLOG ログを Key-Value 形式で処理し、message フィールドから JSON 形式のデータを抽出します。また、host.hostnameuser_agent.original などの他のフィールドの情報をサニタイズしてから UDM を拡充します。プライマリ メッセージが空の場合、元のログメッセージにフォールバックして処理します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
AAA トランザクション ID security_result.detection_fields[].value 「AAA trans id」フィールドから抽出された値。
アクセス security_result.action_details [アクセス] が [許可] の場合は、security_result.action を ALLOW に設定します。[アクセス] が [拒否] の場合は、security_result.action を BLOCK に設定します。
applicationName principal.application 「applicationName」フィールドから抽出された値。
Browser_type network.http.user_agent 「Browser_type」フィールドから抽出された値。
ClientIP principal.ipprincipal.asset.ip 「ClientIP」フィールドから抽出された値。
ClientPort principal.port [ClientPort] フィールドから抽出された値。
client_cookie additional.fields[].value.string_value 「client_cookie」フィールドから抽出された値。
コマンド target.process.command_line [Command] フィールドから抽出された値。
connectionId security_result.detection_fields[].value 「connectionId」フィールドから抽出された値。
目的地 target.iptarget.asset.ip [Destination] フィールドから抽出された値。
目的地 target.iptarget.asset.ip [Destination] フィールドから抽出された値。
device_serial_number target.asset_id target.asset_id が「device_serial_number:」に設定されている。
所要時間 network.session_duration.seconds 時間は秒に変換され、マッピングされます。
終了時刻 security_result.detection_fields[].value [終了時間] フィールドから抽出された値。
Failure_reason metadata.description 「Failure_reason」フィールドから抽出された値。
flags additional.fields[].value.string_value 「flags」フィールドから抽出された値。
グループ target.group.group_display_name [グループ] フィールドから抽出された値。
理由 metadata.description [理由] フィールドから抽出された値。
Remote_ip target.iptarget.asset.ip 「Remote_ip」フィールドから抽出された値。
ServerIP target.iptarget.asset.ip [ServerIP] フィールドから抽出された値。
ServerPort target.port 「ServerPort」フィールドから抽出された値。
session_guid metadata.product_log_id 「session_guid」フィールドから抽出された値。
SessionId network.session_id 「SessionId」フィールドから抽出された値。
ソース principal.ipprincipal.asset.ip [ソース] フィールドから抽出された値。
開始時刻 security_result.detection_fields[].value [開始時間] フィールドから抽出された値。
startTime security_result.detection_fields[].value [startTime] フィールドから抽出された値。
ステータス security_result.description [ステータス] フィールドから抽出された値。
Total_bytes_recv network.received_bytes 「Total_bytes_recv」フィールドから抽出された値。
Total_bytes_send network.sent_bytes [Total_bytes_send] フィールドから抽出された値。
Total_bytes_wire_recv security_result.detection_fields[].value 「Total_bytes_wire_recv」フィールドから抽出された値。
Total_bytes_wire_send security_result.detection_fields[].value [Total_bytes_wire_send] フィールドから抽出された値。
ユーザー principal.user.userid [ユーザー] フィールドから抽出された値。
VserverServiceIP target.iptarget.asset.ip 「VserverServiceIP」フィールドから抽出された値。
VserverServicePort target.port 「VserverServicePort」フィールドから抽出された値。「CITRIX」にハードコードされています。「NETSCALER」にハードコードされています。「CITRIX_NETSCALER」にハードコードされています。product_event_type に基づいてパーサーによって決定されます。例: NETWORK_CONNECTION、USER_LOGIN、USER_LOGOUT、USER_STATS、STATUS_UPDATE、USER_UNCATEGORIZED、GENERIC_EVENT。ログの接頭辞から抽出された値(例: CONN_DELINK、CONN_TERMINATE、OTHERCONN_DELINK など)。イベントの簡単な説明。他のフィールド(「Reason」や「Failure_reason」など)から派生する場合もあります。ログエントリの日時フィールドから計算されます。パーサーはさまざまな形式とタイムゾーンを処理します。「username:domainname」フィールドから抽出されます。コロンより後の部分が使用されます。metadata.product_event_type に「TCP」が含まれているイベントについては、TCP にハードコードされました。ログインとコマンドが成功した場合は ALLOW に、ログインに失敗した場合やリソースへのアクセスがブロックされた場合は BLOCK に設定します。[Status]、[Failure_reason]、[Access] などのフィールドから派生します。ユーザー名とパスワードが認証に使用される場合は USERNAME_PASSWORD に設定します(特定のログ メッセージから推測されます)。VPN 関連のログイン/ログアウト イベントの場合は VPN に設定します。ユーザー エージェント解析ライブラリを使用して network.http.user_agent フィールドから解析されます。

変更点

2024-05-21

  • ドロップされたログを解析するように Grok パターンを変更しました。

2024-05-20

  • 未解析ログを解析するための新しい Grok パターンを追加しました。

2024-05-08

  • 時間情報のマッピングを「security_results」から「network.session_duration」に更新しました。

2024-04-29

  • 「Browser_type」の条件付きチェックを追加し、「network.http.parsed_user_agent」にマッピングしました。
  • 「userId」と「user_email」の条件付きチェックを追加しました。
  • 「Browser」を「network.http.parsed_user_agent」にマッピングしました。

2024-02-23

  • UDM フィールドで想定どおりにホスト名を解析するように Grok パターンを更新しました。

2024-01-25

  • 「message_type」が「Message」、「NONHTTP_RESOURCEACCESS_DENIED」、「UDPFLOWSTAT」、「EXTRACTED_GROUPS」であるログを解析するための Grok パターンを追加しました。
  • 「feature」が「GUI」と「EVENT」のログを解析するサポートを追加しました。
  • 「principal_port」を「principal.port」にマッピングしました。
  • 「ClientIP」を「principal.asset.ip」にマッピングしました。
  • 「principal_ip」を「principal.ip」と「principal.asset.ip」にマッピングしました。
  • 「target_ip」を「target.ip」と「target.asset.ip」にマッピングしました。
  • 「target_port」を「target.port」にマッピングしました。
  • 「description」を「metadata.description」にマッピングしました。
  • 「type」、「aaa_trans_id」、「pcb_trans_id」、「pcb_state」、「pcb_label」、「trans_id」、「authPolicyLen」、「login_attempts」、「PromptLen」、「partitionLen」、「cmdPolicyLen」、「ssh_pubkey_len」を「security_result.detection_fields」にマッピングしました。
  • 「principal_hostname」を「principal.hostname」と「principal.asset.hostname」にマッピングしました。
  • 「hostname」を「intermediary.asset.hostname」にマッピングしました。
  • 「hostname」を「observer.asset.hostname」にマッピングしました。
  • 「cip」、「ServerIP」、「VIP」、「VserverServiceIP」、「Remote_ip」を「target.asset.ip」にマッピングしました。
  • 「message_type」が「Message」の場合、「User」を「principal.user.userid」にマッピングしました。
  • 「principal_ip」と「target_ip」が存在する場合は、「metadata.event_type」を「NETWORK_CONNECTION」に設定します。
  • 「Client_ip」と「target_ip」が存在する場合は、「metadata.event_type」を「NETWORK_CONNECTION」に設定します。
  • 「message_type」が「NONHTTP_RESOURCEACCESS_DENIED」と「UDPFLOWSTAT」の場合、「metadata.event_type」を「USER_STATS」に設定します。
  • 「message_type」が「Message」で、「User」が存在する場合は、「metadata.event_type」を「USER_UNCATEGORIZED」に設定します。
  • 「principal_ip」が存在する場合は、「metadata.event_type」を「STATUS_UPDATE」に設定します。

2023-11-26

  • Enhancement-
  • 「message_type」が「Message」であるログを解析するための Grok パターンを追加しました。

2023-07-21

  • 機能拡張 - 機能「CLI」を含むログを正しく解析するようにパーサーを更新しました。

2022-09-26

  • 機能拡張 - カスタム パーサーをデフォルトのパーサーに移行しました。

2022-06-09

  • 機能拡張 - リクエストされたマッピングを追加しました。
  • 「startTime」、「endTime」、「Duration」を「security_result.detection_fields」にマッピングしました。
  • パーサーを更新して、message_type が「CHANNEL_UPDATE」、「NETWORK_UPDATE」、「AAATM Message」のログを解析できるようにしました。

2022-05-09

  • バグ修正 - message_type が「TCPCONNSTAT」を含むログを正しく解析するようにパーサーを更新しました。
  • 「principal.administrative_domain」に完全なドメイン名を含めるように grok を更新しました。
  • Validation API のテスト中に失敗したログを解析しました。

2022-04-27

  • 機能強化 - リクエストされたマッピングを追加しました
  • マッピングされた intermediary.hostname フィールド
  • 解析された API の失敗ログ