Fortinet FortiManager のログを収集する

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

このガイドでは、Bindplane エージェントを使用して Fortinet FortiManager ログを Google Security Operations に取り込む方法について説明します。

Fortinet FortiManager は、Fortinet のセキュリティ デバイスとネットワーク デバイスに対して、統合管理、ベスト プラクティスのコンプライアンス、ワークフローの自動化を提供する一元化されたネットワーク管理プラットフォームです。FortiManager を使用すると、管理者は Security Fabric 内の数千台の FortiGate ファイアウォールやその他の Fortinet デバイスの構成、ポリシー、ファームウェア アップデート、セキュリティ サービスを一元管理できます。

始める前に

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

  • Google SecOps インスタンス。
  • Windows Server 2016 以降、または systemd を使用する Linux ホスト。
  • Bindplane エージェントと Fortinet FortiManager 間のネットワーク接続。
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
  • システム設定を変更する権限を持つ Fortinet FortiManager 管理コンソールへの特権アクセス。
  • FortiManager バージョン 5.0.7 以降。

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

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [収集エージェント] に移動します。
  3. [ダウンロード] をクリックして、取り込み認証ファイルをダウンロードします。
  4. 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
    

サービスが [アクティブ(実行中)] と表示されます。

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

その他のインストール オプションとトラブルシューティングについては、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/fortimanager:
    compression: gzip
    creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
    customer_id: 'your-customer-id-here'
    endpoint: malachiteingestion-pa.googleapis.com
    log_type: FORTINET_FORTIMANAGER
    raw_log_field: body
    ingestion_labels:
        env: production
        source: fortimanager

service:
    pipelines:
    logs/fortimanager_to_chronicle:
        receivers:
        - udplog
        exporters:
        - chronicle/fortimanager

構成パラメータ

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

レシーバーの構成:

  • listen_address: リッスンする IP アドレスとポート。0.0.0.0:514 を使用して、ポート 51 のすべてのインターフェースをリッスンします。ポート 514 で Linux の root 権限が必要な場合は、0.0.0.0:1514 を使用して、ポート 1514 に送信するように FortiManager を構成します。

エクスポータの構成:

  • creds_file_path: 取り込み認証ファイルのフルパス:
    • Linux: /etc/bindplane-agent/ingestion-auth.json
    • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
  • customer_id: 前の手順の顧客 ID(例: a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6
  • endpoint: リージョン エンドポイント URL:
    • 米国: malachiteingestion-pa.googleapis.com
    • ヨーロッパ: europe-malachiteingestion-pa.googleapis.com
    • アジア: asia-southeast1-malachiteingestion-pa.googleapis.com
    • 完全なリストについては、リージョン エンドポイントをご覧ください。
  • log_type: FORTINET_FORTIMANAGER にする必要があります
  • ingestion_labels: フィルタリングと整理に使用する省略可能なラベル

構成ファイルを保存する

編集が完了したら、ファイルを保存します。

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

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

  • Linux

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

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

      sudo journalctl -u observiq-otel-collector -f
      
  • Windows

    次のいずれかのオプションを選択します。

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

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Services コンソールを使用する場合:

      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"
        

Fortinet FortiManager の syslog 転送を構成する

FortiManager の syslog 構成は 2 段階のプロセスです。まず、GUI で syslog サーバーを定義し、次に CLI でローカルログ転送を有効にします。

ステップ 1: FortiManager GUI で syslog サーバーを追加する

  1. Fortinet FortiManager ウェブ インターフェースにログインします。
  2. [System Settings> Advanced> Syslog Server] に移動します。
  3. ツールバーの [新規作成] をクリックします。
  4. [Create New Syslog Server Settings] ペインが開きます。
  5. 以下の設定を構成します。
    • 名前: わかりやすい名前を入力します(例: Chronicle-Bindplane)。
    • IP アドレス(または FQDN): Bindplane エージェント ホストの IP アドレスを入力します(例: 192.168.1.100)。
    • Syslog サーバー ポート: 514 と入力します(非特権ポートでリッスンするように Bindplane を構成した場合は 1514)。
    • Reliable Connection: UDP の場合は無効のまま(デフォルト)、TCP の場合は有効にします。
    • 安全な接続: TLS 証明書を設定していない場合は、無効のままにします。
  6. [OK] をクリックして、Syslog サーバーの構成を保存します。

ステップ 2: CLI でローカルログ転送を有効にする

GUI で syslog サーバーを追加したら、CLI を使用して FortiManager がローカルログを syslog サーバーに送信できるようにする必要があります。

  1. SSH またはコンソール経由で FortiManager CLI に接続します。
  2. 次のコマンドを実行します。

    FortiManager 5.0.7 以降の場合:

    config system locallog syslogd setting
        set syslog-name Chronicle-Bindplane
        set severity information
        set status enable
    end
    

    構成パラメータ:

    • syslog-name: GUI で構成した [名前](Chronicle-Bindplane など)と一致する必要があります。
    • severity: すべてのローカルログをキャプチャするには、information に設定します。デフォルトは notification で、キャプチャされるイベントの数が少なくなります。オプションは、emergencyalertcriticalerrorwarningnotificationinformationdebug です。
    • status: ログの転送を開始するには、enable に設定します。
  3. 構成を確認します。

    config system locallog syslogd setting
        show
    end
    
  4. Bindplane エージェントのログを確認するか、Bindplane エージェントのホストでパケット キャプチャを使用して、ログが送信されていることを確認します。

Linux:

sudo tcpdump -i any port 514 -A

Windows:

Wireshark または Microsoft Message Analyzer を使用して、ポート 514 のトラフィックをキャプチャします。

FortiManager の syslog の動作に関する注意事項

  • FortiManager は、管理対象の FortiGate デバイスのログではなく、独自のローカル イベントログ(システム、構成の変更、管理アクション)を構成済みの syslog サーバーに送信します。
  • デフォルトでは、[Reliable Connection] は無効になっています。つまり、ログはポート 51 の UDP 経由で送信されます。[Reliable Connection] を有効にすると、ログはポート 514 の TCP 経由で送信されます。
  • FortiManager の syslog メッセージは、RFC 3164 または RFC 5424 に厳密に準拠していない Fortinet 固有の形式を使用します。Google SecOps の FORTINET_FORTIMANAGER パーサーは、この形式を処理するように設計されています。
  • 正確なログ タイムスタンプのために、FortiManager のシステム時刻が NTP と同期され、UTC に設定されていることを確認します。システム時刻を構成するには、[ダッシュボード] に移動し、[システム情報] ウィジェットで、[システム時刻] フィールドの横にあるシステム時刻の編集ボタンをクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
type、subtype、pri、operation、performed_on、lograte、msgrate、logratelimit、logratepeak、action、cpuusage、memusage、diskusage、disk2usage、userfrom about.resource.attribute.labels リソースに関連付けられたラベル。
clearpass-spt、allow-routing、color、comment、fabric-object、name、node-ip-only、obj-type、sdn-addr-type、sub-type、adom、pkgname、_signal-lte-rsrq、_signal-lte-rssi、performed_on_dev、changetype event.idm.read_only_udm.additional.fields 標準の UDM スキーマでカバーされていない追加フィールド。
event.idm.read_only_udm.about イベントに関する情報。
event.idm.read_only_udm.extensions イベントの拡張機能。
event.idm.read_only_udm.metadata イベントに関するメタデータ。
cache_ttl_label event.idm.read_only_udm.network ネットワーク関連の情報。
event.idm.read_only_udm.principal プリンシパル エンティティに関する情報。
event.idm.read_only_udm.security_result セキュリティ分析の結果。
event.idm.read_only_udm.target ターゲット エンティティに関する情報。
extensions.auth.type 認証のタイプ。
変更 metadata.description イベントの説明。
event_type metadata.event_type イベントタイプ。
log_id metadata.product_log_id ログエントリのプロダクト固有の識別子。
cache_ttl_label network.dns.answers DNS Answer。
session_id network.session_id ネットワーク接続のセッション ID。
adminprof principal.administrative_domain プリンシパルの管理ドメイン。
devname principal.asset.hostname プリンシパルに関連付けられているアセットのホスト名。
src_ip principal.asset.ip プリンシパルに関連付けられたアセットの IP アドレス。
devname principal.hostname プリンシパルのホスト名。
src_ip principal.ip プリンシパルの IP アドレス。
device_id principal.resource.product_object_id リソースのプロダクト固有の識別子。
principal.resource.resource_type リソースのタイプ。
uuid principal.user.userid プリンシパル ユーザーのユーザー ID。
action_details security_result.action セキュリティ イベントの結果として行われたアクション。
ワイルドカード、サブネット、end-ip、start-ip security_result.detection_fields セキュリティ結果の検出に使用されるフィールド。
msg security_result.summary セキュリティ結果の概要。
target_ip、tar_ip、remote_ip target.asset.ip ターゲットに関連付けられているアセットの IP アドレス。
target_ip、tar_ip、remote_ip target.ip ターゲットの IP アドレス。
tar_port、remote_port target.port ターゲットのポート番号。
ユーザー target.user.userid ターゲット ユーザーのユーザー ID。
metadata.vendor_name ベンダー名。
metadata.product_name 商品名。

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