Juniper Junos ログを収集する
このドキュメントでは、Google Security Operations フォワーダーを使用して Juniper Junos のログを収集する方法について説明します。
詳細については、Google Security Operations へのデータの取り込みの概要をご覧ください。
取り込みラベルによって、未加工のログデータを構造化 UDM 形式に正規化するパーサーが識別されます。このドキュメントの情報は、取り込みラベル JUNIPER_JUNOS
が付加されたパーサーに適用されます。
Juniper Networks SRX デバイスの構造化ロギングを構成する
構造化ログ形式では、ログメッセージから情報が抽出されます。ログ形式は Syslog プロトコルに準拠しています。
- 管理 IP アドレスに SSH を使用して Juniper SRX CLI にログインします。
- シェル プロンプトで
CLI
と入力し、Enter キーを押します。 configure
と入力して Enter キーを押すと、デバイスの構成モードに入ります。- 連絡先情報またはお客様の参照ポイントを入力します。
フィールドをユーザー アカウントにマッピングするには、次のコマンドを実行します。
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 アドレスに置き換えます。セキュリティ ログの構造化ロギングを有効にするには、次のコマンドを使用します。
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 アドレス。
すべてのセキュリティ ポリシーでロギングが有効になっていることを確認します。ロギングを有効にするには、次のコマンドを実行します。
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
次のコマンドを使用して、デバイスのホスト名を構成します。
set system host-name HOSTNAME
HOSTNAME
は、割り当てられた Juniper Networks SRX デバイスに置き換えます。commit
を入力して、実行されたコマンドを構成に保存します。
Juniper Junos ログを取り込むように Google Security Operations フォワーダーと Syslog を構成する
- [SIEM の設定] > [転送元] を選択します。
- [新しいフォワーダーの追加] をクリックします。
- [フォワーダーの名前] フィールドに一意の名前を入力します。
- [送信]、[確認] の順にクリックします。フォワーダーが追加され、[コレクタの構成を追加する] ウィンドウが表示されます。
- [コレクタ名] フィールドに、コレクタの一意の名前を入力します。
- [Log type] として [Juniper Junos] を選択します。
- [Collector type] として [Syslog] を選択します。
- 次の入力パラメータを構成します。
- プロトコル: プロトコルを UDP として指定します。
- Address: コレクタが存在し、Syslog データをリッスンするターゲット IP アドレスまたはホスト名を指定します。
- ポート: コレクタが存在し、syslog データをリッスンするターゲット ポートを指定します。
- [送信] をクリックします。
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 : cs1Label 、additional.fields{}.value.string_value : 対応する CEF フィールドの値 |
CEF メッセージのカスタム文字列フィールド 1 のラベルと値。 |
cs2Label |
additional.fields{}.key : cs2Label 、additional.fields{}.value.string_value : 対応する CEF フィールドの値 |
CEF メッセージのカスタム文字列フィールド 2 のラベルと値。 |
cs3Label |
additional.fields{}.key : cs3Label 、additional.fields{}.value.string_value : 対応する CEF フィールドの値 |
CEF メッセージのカスタム文字列フィールド 3 のラベルと値。 |
cs4Label |
additional.fields{}.key : cs4Label 、additional.fields{}.value.string_value : 対応する CEF フィールドの値 |
CEF メッセージのカスタム文字列フィールド 4 のラベルと値。 |
cs5Label |
additional.fields{}.key : cs5Label 、additional.fields{}.value.string_value : 対応する CEF フィールドの値 |
CEF メッセージのカスタム文字列フィールド 5 のラベルと値。 |
cs6Label |
additional.fields{}.key : cs6Label 、additional.fields{}.value.string_value : 対応する CEF フィールドの値 |
CEF メッセージのカスタム文字列フィールド 6 のラベルと値。 |
dhost |
target.hostname |
宛先ホスト名。 |
deviceCustomString1 |
additional.fields{}.key : cs1Label 、additional.fields{}.value.string_value : deviceCustomString1 の値 |
デバイスのカスタム文字列 1。 |
deviceCustomString2 |
additional.fields{}.key : cs2Label 、additional.fields{}.value.string_value : deviceCustomString2 の値 |
デバイスのカスタム文字列 2。 |
deviceCustomString3 |
additional.fields{}.key : cs3Label 、additional.fields{}.value.string_value : deviceCustomString3 の値 |
デバイスのカスタム文字列 3。 |
deviceCustomString4 |
additional.fields{}.key : cs4Label 、additional.fields{}.value.string_value : deviceCustomString4 の値 |
デバイスのカスタム文字列 4。 |
deviceCustomString5 |
additional.fields{}.key : cs5Label 、additional.fields{}.value.string_value : deviceCustomString5 の値 |
デバイスのカスタム文字列 5。 |
deviceCustomString6 |
additional.fields{}.key : cs6Label 、additional.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.hostname 、intermediary.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
- 新しいデフォルト パーサー。