WatchGuard Firebox のログを収集する

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

このドキュメントでは、Bindplane を使用して WatchGuard Firebox ログを Google Security Operations に取り込む方法について説明します。WatchGuard Firebox は、ステートフル パケット インスペクション、侵入防止、アプリケーション制御、URL フィルタリング、ゲートウェイ ウイルス対策、VPN 接続などのネットワーク セキュリティ機能を提供する統合脅威管理(UTM)ファイアウォール アプライアンスです。Firebox ログには、トラフィック イベント、セキュリティ アラート、認証アクティビティ、システム健全性情報が記録されます。

始める前に

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

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

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

  1. Google SecOps コンソールにログインします。
  2. [SIEM Settings] > [Collection Agent] に移動します。
  3. 取り込み認証ファイル をダウンロードします。

    • 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
    

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
    

その他のインストール リソース

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

  1. 構成ファイルにアクセスします。

    • config.yaml ファイルを見つけます。通常、Linux では /etc/bindplane-agent/ ディレクトリに、Windows ではインストール ディレクトリにあります。
    • テキスト エディタ(nano、vi、メモ帳など)を使用してファイルを開きます。
  2. config.yaml ファイルを次のように編集します。

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'WATCHGUARD'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
  • 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
  • YOUR_CUSTOMER_ID は、実際のお客様 ID に置き換えます。
  • /path/to/ingestion-authentication-file.json の値を、手順 1 で認証ファイルを保存したファイルパスに更新します。

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

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

    sudo systemctl restart observiq-otel-collector
    
  2. Windows で Bindplane エージェントを再起動するには、サービス コンソールを使用するか、次のコマンドを入力します。

    net stop observiq-otel-collector && net start observiq-otel-collector
    

WatchGuard Firebox の syslog 転送を構成する

Fireware Web UI を使用して syslog メッセージを Bindplane エージェントに転送するように WatchGuard Firebox を構成する手順は次のとおりです。

  1. Fireware ウェブ UI(https://<firebox-ip>:8080)にログインします。
  2. [システム] > [ロギング] に移動します。
  3. [Syslog Servers] セクションで [Add] をクリックします。
  4. 次の構成情報を提供してください。

    • IP アドレス: Bindplane エージェント ホストの IP アドレス(192.168.1.100 など)を入力します。
    • ポート: 514(または Bindplane エージェントで構成されたポート)を入力します。
    • ログ形式: [Syslog](標準の BSD syslog 形式)を選択します。
  5. [Syslog の設定] セクションで、ログレベルを構成します。

    • トラフィック、セキュリティ、システム イベントをキャプチャするには、[ログレベル] を [情報] 以上に設定します。
  6. [保存] をクリックします。

転送するログタイプを構成する

  1. Fireware ウェブ UI で、System > Logging > Syslog に移動します。
  2. syslog 転送で次のログタイプが有効になっていることを確認します。

    • トラフィック - ファイアウォール トラフィック イベント(許可、拒否)。
    • アラーム - IPS とセキュリティ警報イベント。
    • イベント - システム イベントとステータスの変更。
    • Debug - 省略可。トラブルシューティング専用。
  3. [保存] をクリックします。

(代替)WatchGuard System Manager で構成する

  1. WatchGuard System Manager を開き、Firebox に接続します。
  2. [設定]> [ロギング]> [この Syslog サーバーにログ メッセージを送信する] に移動します。
  3. [追加] をクリックします。
  4. 次の構成情報を提供してください。

    • IP アドレス: Bindplane エージェント ホストの IP アドレスを入力します。
    • ポート: 「514」と入力します。
    • ログ形式: [Syslog] を選択します。
  5. [OK] をクリックして、構成を Firebox に保存します。

詳細については、WatchGuard Fireware ロギングのドキュメントをご覧ください。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
action security_result.action_details 未加工ログの action の値が security_result.action_details に割り当てられます。
action target.labels.value 未加工ログの action の値が target.labels.value に割り当てられ、target.labels.key は「リソースに対するアクション」になります。
arg target.file.full_path 未加工ログの arg の値が target.file.full_path に割り当てられます。
app_cat_id about.labels.value 未加工ログの app_cat_id の値が about.labels.value に割り当てられ、about.labels.key は「app_cat_id」になります。
app_cat_name target.application app_name と組み合わせて使用され、target.application の値を形成します(例: 「Google - Web サービス」)。
app_id about.labels.value 未加工ログの app_id の値が about.labels.value に割り当てられ、about.labels.key は「app_id」になります。
app_name target.application app_cat_name と組み合わせて使用され、target.application の値を形成します(例: 「Google - Web サービス」)。
cats security_result.category_details 未加工ログの cats の値が security_result.category_details に割り当てられます。
cert_issuer network.tls.server.certificate.issuer 未加工ログの cert_issuer の値が network.tls.server.certificate.issuer に割り当てられます。
cert_subject network.tls.server.certificate.subject 未加工ログの cert_subject の値が network.tls.server.certificate.subject に割り当てられます。
cn network.tls.server.certificate.subject 未加工ログの cn の値が network.tls.server.certificate.subject に割り当てられます。
conn_action security_result.action_details 未加工ログの conn_action の値が security_result.action_details に割り当てられます。
content_type マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
description metadata.description 未加工ログから取得された description の値が metadata.description に割り当てられます。
dhcp_type network.dhcp.type 未加工ログの dhcp_type の値は、network.dhcp.type の対応する DHCP タイプ(「REQUEST」、「ACK」など)にマッピングされます。
dst_host target.hostname 未加工ログの dst_host の値が target.hostname に割り当てられます。
dst_ip target.ip 未加工ログの dst_ip の値が target.ip に割り当てられます。
dst_mac target.mac 未加工ログの dst_mac の値が target.mac に割り当てられます。
dst_port target.port 未加工ログの dst_port の値が target.port に割り当てられます。
dst_user target.user.user_display_name 未加工ログの dst_user の値が target.user.user_display_name に割り当てられます。
dstname target.administrative_domain 未加工ログの dstname の値が target.administrative_domain に割り当てられます。
duration マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
elapsed_time マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
endpoint intermediary.labels.value 未加工ログの endpoint の値が intermediary.labels.value に割り当てられ、intermediary.labels.key は「Gateway-Endpoint」になります。
event_name principal.application 未加工ログの event_name の値が principal.application に割り当てられます。
firewall_id intermediary.asset_id 未加工ログの firewall_id の値に「Firewall ID : 」が追加され、intermediary.asset_id に割り当てられます。
firewall_name principal.asset_id 未加工ログの firewall_name の値に「Firewall: 」が追加され、principal.asset_id に割り当てられます。
firewallname intermediary.hostname 未加工ログの firewallname の値が intermediary.hostname に割り当てられます。
firewallname principal.hostname 未加工ログの firewallname の値が principal.hostname に割り当てられます。
fqdn_dst_match マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
geo マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
geo_dst target.location.country_or_region 未加工ログの geo_dst の値が target.location.country_or_region に割り当てられます。
geo_src principal.location.country_or_region 未加工ログの geo_src の値が principal.location.country_or_region に割り当てられます。
host マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
ike_policy security_result.rule_id 未加工ログの ike_policy の値が security_result.rule_id に割り当てられます。
ike_policy_version security_result.rule_version 未加工ログの ike_policy_version の値が security_result.rule_version に割り当てられます。
intermediary_host intermediary.hostname 未加工ログの intermediary_host の値が intermediary.hostname に割り当てられます。
ipaddress マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
ipsec_policy マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
ipsec_policy_version マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
keyword マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
line マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
log_message metadata.description 他のより具体的な説明がない場合、未加工ログの log_message の値が metadata.description に割り当てられます。
log_reason security_result.summary 未加工ログの log_reason の値が security_result.summary に割り当てられます。
log_type metadata.log_type 未加工ログの log_type の値が metadata.log_type に割り当てられます。常に「WATCHGUARD」に設定されます。
msg security_result.summary 未加工ログの msg の値が security_result.summary に割り当てられます。
msg_id metadata.product_event_type 未加工ログの msg_id の値が metadata.product_event_type に割り当てられます。
new_action security_result.action_details conn_action と組み合わせて security_result.action_details の値を形成します(例: 「ProxyReplace: IP protocol - HTTPS-Client.DPI-Off」)。
op network.http.method 未加工ログの op の値が network.http.method に割り当てられます。
path target.url 未加工ログの path の値が target.url に割り当てられます。
pid マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
policy_name intermediary.resource.name 未加工ログの policy_name の値が intermediary.resource.name に割り当てられます。
policy_name security_result.rule_name 未加工ログの policy_name の値が security_result.rule_name に割り当てられます。
policyname_label.value security_result.rule_labels.value 未加工ログの policy_name の値が security_result.rule_labels.value に割り当てられ、security_result.rule_labels.key は「PolicyName」になります。
prin_host principal.hostname 未加工ログの prin_host の値が principal.hostname に割り当てられます。
proc_id マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
protocol network.ip_protocol 未加工ログの protocol の値が大文字に変換され、network.ip_protocol に割り当てられます。「EXTERNAL ICMP」の特殊な処理(「ICMP」にマッピングされます)。
proxy_act security_result.rule_id 未加工ログの proxy_act の値が security_result.rule_id に割り当てられます。
proxy_act security_result.rule_name 未加工ログの proxy_act の値が security_result.rule_name に割り当てられます。
query_name network.dns.questions.name 未加工ログの query_name の値が network.dns.questions.name に割り当てられます。
query_type network.dns.questions.type 未加工ログの query_type の値が network.dns.questions.type に割り当てられます。数値クエリタイプの特別な処理と、標準 DNS クエリタイプへのマッピング。
rc マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
reason security_result.summary 未加工ログの reason の値が security_result.summary に割り当てられます。
record_type network.dns.answers.type 未加工ログの record_type の値は、network.dns.answers.type の対応する DNS レコード タイプにマッピングされます。
redirect_action マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
reputation additional.fields.value.string_value 未加工ログの reputation の値が additional.fields.value.string_value に割り当てられ、additional.fields.key は「reputation」になります。
response マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
response_code network.dns.response_code 未加工ログの response_code の値は、network.dns.response_code の対応する DNS レスポンス コードにマッピングされます。
route_type マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
rule_name security_result.rule_name 未加工ログの rule_name の値が security_result.rule_name に割り当てられます。
rcvd_bytes network.received_bytes 未加工ログの rcvd_bytes の値が network.received_bytes に割り当てられます。
sent_bytes network.sent_bytes 未加工ログの sent_bytes の値が network.sent_bytes に割り当てられます。
server_ssl マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
severity マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
sig_vers network.tls.server.certificate.version 未加工ログの sig_vers の値が network.tls.server.certificate.version に割り当てられます。
signature_cat additional.fields.value.string_value 未加工ログの signature_cat の値が additional.fields.value.string_value に割り当てられ、additional.fields.key は「signature_cat」になります。
signature_id additional.fields.value.string_value 未加工ログの signature_id の値が additional.fields.value.string_value に割り当てられ、additional.fields.key は「signature_id」になります。
signature_name additional.fields.value.string_value 未加工ログの signature_name の値が additional.fields.value.string_value に割り当てられ、additional.fields.key は「signature_name」になります。
sni network.tls.client.server_name 未加工ログの sni の値が network.tls.client.server_name に割り当てられます。
src_ctid マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
src_host principal.hostname 未加工ログの src_host の値が principal.hostname に割り当てられます。
src_ip principal.ip 未加工ログの src_ip の値が principal.ip に割り当てられます。
src_ip_nat マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
src_mac principal.mac 未加工ログの src_mac の値が principal.mac に割り当てられます。
src_port principal.port 未加工ログの src_port の値が principal.port に割り当てられます。
src_user principal.user.user_display_name 未加工ログの src_user の値が principal.user.user_display_name に割り当てられます。
src_user_name principal.user.user_display_name 未加工ログの src_user_name の値が principal.user.user_display_name に割り当てられます。
src_vpn_ip principal.ip 未加工ログの src_vpn_ip の値が principal.ip に割り当てられます。
srv_ip マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
srv_port マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
ssl_offload マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
tcp_info マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
time metadata.event_timestamp.seconds、timestamp.seconds 未加工ログの time の値が解析され、metadata.event_timestamp.seconds と timestamp.seconds の入力に使用されます。
time1 metadata.event_timestamp.seconds、timestamp.seconds 未加工ログの time1 の値が解析され、metadata.event_timestamp.seconds と timestamp.seconds の入力に使用されます。
tls_profile about.labels.value 未加工ログの tls_profile の値が about.labels.value に割り当てられ、about.labels.key は「tls_profile」になります。
tls_version マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
user_name principal.user.userid、principal.user.user_display_name 未加工ログの user_name の値は、コンテキストに応じて principal.user.userid または principal.user.user_display_name に割り当てられます。
user_type マッピングされていません 提供された UDM の例では、IDM オブジェクトにマッピングされていません。
(なし) intermediary.resource.type 常に「ACCESS_POLICY」に設定されます。
(なし) metadata.event_type msg_id、log_type、event_name などのフィールドに基づいてパーサー ロジックによって決定されます。NETWORK_CONNECTION、SERVICE_MODIFICATION、NETWORK_SMTP、NETWORK_DNS、NETWORK_HTTP、USER_LOGIN、USER_LOGOUT、USER_RESOURCE_UPDATE_CONTENT、RESOURCE_PERMISSIONS_CHANGE、RESOURCE_CREATION、GENERIC_EVENT、STATUS_UPDATE、USER_UNCATEGORIZED のいずれかです。
(なし) metadata.product_name 常に「Fireware」に設定されます。
(なし) metadata.vendor_name 常に「Watchguard」に設定されます。
(なし) security_result.action disposition に基づくパーサー ロジックによって決定されます。「ALLOW」または「BLOCK」を指定できます。
(なし) extensions.auth.type ユーザーのログイン/ログアウト イベントの場合は「AUTHTYPE_UNSPECIFIED」に、VPN に関連するネットワーク イベントの場合は「VPN」に設定します。
(なし) network.application_protocol msg_id と event_name に基づくパーサー ロジックによって決定されます。「DNS」、「DHCP」、「HTTP」、「HTTPS」のいずれかになります。
(なし) network.dns.questions.type 「A」レコードのクエリの場合は 1 に設定します。
(なし) target.labels.key action が target.labels.value にマッピングされている場合は、「リソースに対するアクション」に設定します。
(なし) intermediary.labels.key prin_host が intermediary.labels.value にマッピングされている場合は、「ファイアウォール メンバー名」に設定します。
(なし) intermediary.labels.key endpoint が intermediary.labels.value にマッピングされている場合は、「Gateway-Endpoint」に設定します。
(なし) principal.labels.key gateway が principal.labels.value にマッピングされている場合は、「Gateway」に設定します。
(なし) target.labels.key gateway が target.labels.value にマッピングされている場合は、「Gateway」に設定します。
(なし) principal.labels.key status が principal.labels.value にマッピングされている場合は、「state」に設定します。
(なし) target.labels.key status が target.labels.value にマッピングされている場合は、「Gateway Status」に設定します。
(なし) additional.fields.key 対応する値が未加工ログからマッピングされる場合は、「signature_name」、「signature_cat」、「signature_id」、「reputation」に設定します。

変更ログ

このパーサーの変更ログを表示する

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