Juniper Junos ログを収集する

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

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

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

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

Juniper Networks SRX デバイスの構造化ロギングを構成する

構造化ログ形式では、ログメッセージから情報が抽出されます。ログ形式は Syslog プロトコルに準拠しています。

  1. 管理 IP アドレスに SSH を使用して Juniper SRX CLI にログインします。
  2. シェル プロンプトで CLI と入力し、Enter キーを押します。
  3. configure と入力して Enter キーを押すと、デバイスの構成モードに入ります。
  4. 連絡先情報またはお客様の参照ポイントを入力します。
  5. フィールドをユーザー アカウントにマッピングするには、次のコマンドを実行します。

       set system syslog host FORWARDER_IP_ADDRESS any info
    
       set system syslog host FORWARDER_IP_ADDRESS structured-data
    
    

    FORWARDER_IP_ADDRESS は、Google Security Operations フォワーダの IP アドレスに置き換えます。

  6. セキュリティ ログの構造化ロギングを有効にするには、次のコマンドを使用します。

       set security log mode stream
    
       set security log source-address SRC_IP_ADDRESS
    
       set security log stream SYSLOG_STREAM_NAME host FORWARDER_IP_ADDRESS
    
       set security log stream SYSLOG_STREAM_NAME format sd-syslog
    
    

    次のように置き換えます。

    • SRC_IP_ADDRESS: Juniper SRX デバイスの IP アドレス。

    • SYSLOG_STREAM_NAME: syslog サーバーに割り当てられた名前。

    • FORWARDER_IP_ADDRESS: Google Security Operations 転送元の IP アドレス。

  7. すべてのセキュリティ ポリシーでロギングが有効になっていることを確認します。ロギングを有効にするには、次のコマンドを実行します。

       set security policies from-zone <zone-name1> to-zone <zone-name2> policy <policy-name> then log session-close
    
       set security policies from-zone <zone-name1> to-zone <zone-name2> policy <policy-name> then log session-init
    
    
  8. 次のコマンドを使用して、デバイスのホスト名を構成します。

       set system host-name HOSTNAME
    
    

    HOSTNAME は、割り当てられた Juniper Networks SRX デバイスに置き換えます。

  9. commit を入力して、実行されたコマンドを構成に保存します。

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

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

Google Security Operations フォワーダーの詳細については、Google Security Operations フォワーダーのドキュメントをご覧ください。各フォワーダ タイプの要件については、タイプ別のフォワーダ構成をご覧ください。フォワーダーの作成時に問題が発生した場合は、Google Security Operations サポートにお問い合わせください。

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

このパーサーは、Juniper JUNOS syslog メッセージからフィールドを抽出し、Key-Value 形式と Key-Value 以外の形式の両方を処理します。grok パターンを使用して、ファイアウォール ログ、SSH アクティビティ、コマンド実行などのさまざまなメッセージ構造を照合し、抽出されたフィールドを UDM にマッピングします。また、このパーサーは、インクルード ファイルを使用して CEF 形式のログを処理し、メッセージの内容に基づいて特定のアクションを実行します(IP アドレスとユーザー名を適切な UDM フィールドに統合するなど)。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
DPT target.port ネットワーク接続の宛先ポート(整数に変換)。
DST target.ip ネットワーク接続の宛先 IP アドレス。
FLAG additional.fields{}.key: 「FLAG」、additional.fields{}.value.string_value: FLAG の値 ネットワーク接続に関連付けられた TCP フラグ。
ID additional.fields{}.key: 「ID」、additional.fields{}.value.string_value: ID の値 IP 識別フィールド。
IN additional.fields{}.key: 「IN」、additional.fields{}.value.string_value: IN の値 受信ネットワーク インターフェース。
LEN additional.fields{}.key:「LEN」、additional.fields{}.value.string_value: LEN の値 IP パケットの長さ。
MAC principal.mac MAC フィールドから抽出された MAC アドレス。
OUT additional.fields{}.key: 「OUT」、additional.fields{}.value.string_value: OUT の値 送信ネットワーク インターフェース。
PREC additional.fields{}.key: "PREC"、additional.fields{}.value.string_value: PREC の値 IP ヘッダーの優先度フィールド。
PROTO network.ip_protocol ネットワーク接続で使用される IP プロトコル。
RES additional.fields{}.key:「RES」、additional.fields{}.value.string_value: RES の値 TCP ヘッダー内の予約済みフィールド。
SPT principal.port ネットワーク接続の送信元ポート(整数に変換)。
SRC principal.ip ネットワーク接続の送信元 IP アドレス。
TOS additional.fields{}.key:「TOS」、additional.fields{}.value.string_value: TOS の値 IP ヘッダーの Type of Service フィールド。
TTL network.dns.additional.ttl 有効期間(TTL)値(符号なし整数に変換)。
URGP additional.fields{}.key:「URGP」、additional.fields{}.value.string_value: URGP の値 TCP ヘッダーの緊急ポインタ フィールド。
WINDOW additional.fields{}.key: "WINDOW_SIZE"、additional.fields{}.value.string_value: WINDOW の値 TCP ウィンドウ サイズ。
action security_result.action ファイアウォールが行ったアクション。CEF メッセージから抽出されます。
agt observer.ip エージェントの IP アドレス。
amac target.mac ターゲットの MAC アドレス(小文字に変換され、ハイフンがコロンに置き換えられています)。
app target.application イベントに関連するアプリケーション。
artz observer.zone オブザーバーのタイムゾーン。
atz target.location.country_or_region ターゲットのタイムゾーン。
categoryBehavior additional.fields{}.key: 「カテゴリ動作」、additional.fields{}.value.string_value: スラッシュを削除した categoryBehavior の値 カテゴリの動作。
categoryDeviceGroup additional.fields{}.key: 「カテゴリ デバイス グループ」、additional.fields{}.value.string_value: スラッシュを削除した categoryDeviceGroup の値 カテゴリ デバイス グループ。
categoryObject additional.fields{}.key: 「カテゴリ オブジェクト」、additional.fields{}.value.string_value: スラッシュを削除した categoryObject の値 カテゴリ オブジェクト。
categoryOutcome additional.fields{}.key: 「カテゴリの結果」、additional.fields{}.value.string_value: スラッシュを削除した categoryOutcome の値 カテゴリの結果。
categorySignificance additional.fields{}.key: 「カテゴリ的重要性」、additional.fields{}.value.string_value: categorySignificance の値 カテゴリの重要度。
command target.process.command_line コマンドが実行されました。
cs1Label additional.fields{}.key: cs1Labeladditional.fields{}.value.string_value: 対応する CEF フィールドの値 CEF メッセージのカスタム文字列フィールド 1 のラベルと値。
cs2Label additional.fields{}.key: cs2Labeladditional.fields{}.value.string_value: 対応する CEF フィールドの値 CEF メッセージのカスタム文字列フィールド 2 のラベルと値。
cs3Label additional.fields{}.key: cs3Labeladditional.fields{}.value.string_value: 対応する CEF フィールドの値 CEF メッセージのカスタム文字列フィールド 3 のラベルと値。
cs4Label additional.fields{}.key: cs4Labeladditional.fields{}.value.string_value: 対応する CEF フィールドの値 CEF メッセージのカスタム文字列フィールド 4 のラベルと値。
cs5Label additional.fields{}.key: cs5Labeladditional.fields{}.value.string_value: 対応する CEF フィールドの値 CEF メッセージのカスタム文字列フィールド 5 のラベルと値。
cs6Label additional.fields{}.key: cs6Labeladditional.fields{}.value.string_value: 対応する CEF フィールドの値 CEF メッセージのカスタム文字列フィールド 6 のラベルと値。
dhost target.hostname 宛先ホスト名。
deviceCustomString1 additional.fields{}.key: cs1Labeladditional.fields{}.value.string_value: deviceCustomString1 の値 デバイスのカスタム文字列 1。
deviceCustomString2 additional.fields{}.key: cs2Labeladditional.fields{}.value.string_value: deviceCustomString2 の値 デバイスのカスタム文字列 2。
deviceCustomString3 additional.fields{}.key: cs3Labeladditional.fields{}.value.string_value: deviceCustomString3 の値 デバイスのカスタム文字列 3。
deviceCustomString4 additional.fields{}.key: cs4Labeladditional.fields{}.value.string_value: deviceCustomString4 の値 デバイスのカスタム文字列 4。
deviceCustomString5 additional.fields{}.key: cs5Labeladditional.fields{}.value.string_value: deviceCustomString5 の値 デバイスのカスタム文字列 5。
deviceCustomString6 additional.fields{}.key: cs6Labeladditional.fields{}.value.string_value: deviceCustomString6 の値 デバイスのカスタム文字列 6。
deviceDirection network.direction ネットワーク トラフィックの方向。
deviceEventClassId additional.fields{}.key: "eventId"、additional.fields{}.value.string_value: deviceEventClassId の値 デバイス イベント クラス ID。
deviceFacility observer.product.subproduct デバイスの施設。
deviceProcessName about.process.command_line デバイスのプロセス名。
deviceSeverity security_result.severity デバイスの重大度。
deviceTimeZone observer.zone デバイスのタイムゾーン。
deviceVendor metadata.vendor_name デバイスのベンダー。
deviceVersion metadata.product_version デバイスのバージョン。
dpt target.port 宛先ポート。
dst target.ip 宛先 IP アドレス。
duser target.user.user_display_name 移行先のユーザー。
eventId additional.fields{}.key: "eventId"、additional.fields{}.value.string_value: eventId の値 予定 ID。
event_time metadata.event_timestamp イベントが発生した日時(メッセージから解析)。
firewall_action security_result.action_details 実行されたファイアウォール アクション。
host principal.hostnameintermediary.hostname ログを生成するデバイスのホスト名。さまざまなケースで、プリンシパルと仲介者の両方に使用されます。
msg security_result.summary イベントに関連付けられたメッセージ。セキュリティ結果の概要として使用されます。
name metadata.product_event_type イベントの名前。
process_name additional.fields{}.key: "process_name"、additional.fields{}.value.string_value: process_name の値 プロセスの名前。
p_id target.process.pid プロセス ID(文字列に変換)。
sha256 principal.process.file.sha256 SSH2 鍵情報から抽出されたファイルの SHA256 ハッシュ。
shost principal.hostname 移行元のホスト名。
source_address principal.ip 送信元 IP アドレス。
source_port principal.port ソースポート(整数に変換)。
src principal.ip 送信元 IP アドレス。
src_ip principal.ip 送信元 IP アドレス。
src_port principal.port ソースポート(整数に変換)。
ssh2 security_result.detection_fields{}.key: 「ssh2」、security_result.detection_fields{}.value: ssh2 の値 SSH2 鍵情報。
subtype metadata.product_event_type イベントのサブタイプ。
task_summary security_result.description タスクの概要。セキュリティ結果の説明として使用されます。
timestamp metadata.event_timestamp イベントのタイムスタンプ。
user target.user.userid イベントに関連付けられているユーザー。
username principal.user.userid イベントに関連付けられたユーザー名。
user_name principal.user.userid ユーザー名。
metadata.vendor_name 「Juniper Firewall」にハードコードされています。「Juniper Firewall」にハードコードされています。「JUNIPER_JUNOS」にハードコードされています。ログの内容に基づいてパーサー ロジックによって決定されます。CEF メッセージではなく、他の特定のイベントタイプが特定されていない場合のデフォルトは「STATUS_UPDATE」です。CEF メッセージの場合は「NETWORK_HTTP」に設定します。desc フィールドが存在しない場合、このフィールドには未加工のログ メッセージから抽出された message_description が設定されます。

変更点

2024-05-02

  • Enhancement-
  • 新しい SYSLOG + KV 形式のログをサポートする Grok パターンを追加しました。

2023-10-25

  • Enhancement-
  • 未解析ログを解析するための Grok パターンを追加しました。
  • 「source_port」を「principal.port」にマッピングしました。
  • 「source_address」を「principal.ip」にマッピングしました。
  • 「user_name」を「target.user.userid」にマッピングしました。
  • 「application_name」を「target.application」にマッピングしました。
  • 「p_id」を「target.process.pid」にマッピングしました。
  • KV マッピングの前に「invalid_pattern」チェックを追加しました。
  • 「description_present」が false の場合に「security_result.description」をマッピングする Grok パターンを追加しました。

2023-08-17

  • Enhancement-
  • 未解析ログの解析に Grok パターンを追加しました。
  • 「msg」を「security_result.summary」にマッピングしました。
  • 「src_ip」を「principal.ip」にマッピングしました。
  • 「user」を「target.user.userid」にマッピングしました。
  • 「username」を「principal.user.userid」にマッピングしました。
  • 「command」を「target.process.command_line」にマッピングしました。
  • 「src_port」を「principal.port」にマッピングしました。
  • 「ssh2」を「security_result.detection_fields」にマッピングしました。
  • 「sha256」を「principal.process.file.sha256」にマッピングしました。
  • 「desc」を「sec_result.summary」にマッピングしました。
  • 「mac-address」を「principal.mac」にマッピングしました。
  • event_type が「STATUS_UPDATE」の場合、「host」を「principal.hostname」にマッピングしました。

2023-01-15

  • Enhancement-
  • タイプ「UI_CMDLINE_READ_LINE」、「UI_COMMIT_PROGRESS」、「UI_CHILD_START」を含む未解析ログをサポートするように Grok パターンを変更しました。
  • "UI_CFG_AUDIT_OTHER", "UI_LOGIN_EVENT", "UI_CHILD_STATUS", "UI_LOGOUT_EVENT", "UI_LOAD_EVENT",
  • 「JTASK_IO_CONNECT_FAILED」、「UI_AUTH_EVENT」、「UI_NETCONF_CMD」、「UI_COMMIT_NO_MASTER_PASSWORD」、「UI_CFG_AUDIT_SET」、「UI_JUNOSCRIPT_CMD」
  • "SNMPD_AUTH_FAILURE", "UI_CFG_AUDIT_NEW", "UI_COMMIT" , "LIBJNX_LOGIN_ACCOUNT_LOCKED", "UI_COMMIT_COMPLETED",
  • "PAM_USER_LOCK_LOGIN_REQUESTS_DENIED", "RTPERF_CPU_USAGE_OK", "RTPERF_CPU_THRESHOLD_EXCEEDED", "LIBJNX_LOGIN_ACCOUNT_UNLOCKED",
  • 「JSRPD_SET_OTHER_INTF_MON_FAIL」、「JSRPD_SET_SCHED_MON_FAILURE」、「UI_CHILD_WAITPID」、「UI_DBASE_LOGIN_EVENT」。

2022-05-02

  • 新しいデフォルト パーサー。