Fortinet Switch のログを収集する

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

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

Fortinet Switch は、企業ネットワーク向けに設計された安全で高性能なイーサネット スイッチのラインナップです。FortiSwitch は、レイヤ 2 とレイヤ 3 のスイッチング機能、VLAN サポート、リンク アグリゲーション、PoE(Power over Ethernet)、統合セキュリティ機能を提供します。FortiSwitch ユニットは、スタンドアロン モードで動作するか、FortiLink を介して FortiGate ファイアウォールで管理できます。

始める前に

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

  • Google SecOps インスタンス。
  • Windows Server 2016 以降、または systemd を使用する Linux ホスト。
  • Bindplane エージェントと Fortinet スイッチ間のネットワーク接続。
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
  • Fortinet Switch 管理コンソールまたは FortiGate コンソール(マネージド スイッチの場合)への特権アクセス。
  • FortiSwitchOS 7.0 以降を実行する Fortinet Switch。

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/fortiswitch:
    compression: gzip
    creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
    customer_id: 'YOUR_CUSTOMER_ID'
    endpoint: malachiteingestion-pa.googleapis.com
    log_type: FORTINET_SWITCH
    raw_log_field: body
    ingestion_labels:
        env: production

service:
    pipelines:
    logs/fortiswitch_to_chronicle:
        receivers:
        - udplog
        exporters:
        - chronicle/fortiswitch

構成パラメータ

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

レシーバーの構成:

  • レシーバーは、Fortinet Switch からの syslog メッセージを UDP ポート 514 でリッスンするように構成されています。
  • すべてのインターフェースでリッスンするには、0.0.0.0:514 を使用します。
  • Linux で非特権ポートを使用するには、0.0.0.0:1514 に変更し、ポート 1514 に送信するように Fortinet Switch を構成します。

エクスポータの構成:

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

構成ファイルを保存する

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

  • 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 スイッチの syslog 転送を構成する

Bindplane エージェントにログを送信するように Fortinet Switch を構成します。構成の手順は、スイッチがスタンドアロンか FortiGate によって管理されているかによって異なります。

スタンドアロンの FortiSwitch(GUI 構成)

  1. FortiSwitch ウェブ インターフェースにログインします。
  2. [Log > Config] に移動します。
  3. [Syslog] で [有効] を選択します。
  4. ログに記録するイベントの重大度([情報] 以上など)を選択します。
  5. [Server] フィールドに、Bindplane エージェント ホストの IP アドレスまたは完全修飾ドメイン名を入力します。
  6. [ポート] フィールドに、514(または Bindplane エージェントで構成されたポート)を入力します。
  7. [Facility] プルダウンで、[local7] を選択します。
  8. [適用] をクリックします。

スタンドアロン FortiSwitch(CLI 構成)

  1. SSH またはコンソールを使用して FortiSwitch CLI にログインします。
  2. 次のコマンドを入力します。

    config log syslogd setting
        set status enable
        set server <BINDPLANE_AGENT_IP>
        set port 514
        set facility local7
    end
    
    config log syslogd filter
        set severity information
    end
    

    <BINDPLANE_AGENT_IP> は、Bindplane エージェント ホストの IP アドレスに置き換えます。

  3. 構成を確認します。

    show log syslogd setting
    

FortiGate で管理される FortiSwitch の場合

FortiGate で FortiSwitch を管理する場合は、FortiGate CLI から syslog 転送を構成します。

  1. SSH またはコンソール経由で FortiGate CLI にログインします。
  2. 次のコマンドを入力して、マネージド FortiSwitch のリモート syslog を構成します。

    config switch-controller remote-log
        edit "chronicle-syslog"
            set status enable
            set server <BINDPLANE_AGENT_IP>
            set port 514
            set severity information
            set facility local7
        next
    end
    

    <BINDPLANE_AGENT_IP> は、Bindplane エージェント ホストの IP アドレスに置き換えます。

  3. 構成を確認します。

    show switch-controller remote-log
    
  4. FortiGate ファイアウォール ポリシーで、FortiLink インターフェースから Bindplane エージェントが配置されているインターフェースへの syslog トラフィックが許可されていることを確認します。必要に応じて、ポリシーを作成します。

    config firewall policy
        edit 0
            set srcintf <fortilink_interface>
            set dstintf <bindplane_interface>
            set srcaddr "all"
            set dstaddr "all"
            set action accept
            set schedule "always"
            set service "SYSLOG"
        next
    end
    

    <fortilink_interface> は FortiLink インターフェース名に、<bindplane_interface> は Bindplane エージェントに到達可能なインターフェースに置き換えます。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
metadata.event_type このレコードが表すイベントのタイプ。
イベント metadata.product_event_type プロダクトによって報告されたイベントタイプ。
log_id metadata.product_log_id プロダクトによって割り当てられたログエントリの一意の識別子。
device_id principal.asset.asset_id アセットの一意の識別子。
devname principal.asset.hostname プリンシパルに関連付けられているアセットのホスト名。
devname principal.hostname プリンシパルに関連付けられたホスト名。
vd principal.user.attribute.labels ユーザーに関連付けられているラベルのリスト。
oldrole principal.user.attribute.roles ユーザーに関連付けられたロールのリスト。
ユニット principal.user.role_description ユーザーの役割の説明。
ユーザー principal.user.userid ユーザーの固有識別子。
アクション security_result.action_details 実行されたアクションの詳細。
msg security_result.description セキュリティ結果の説明。
type、subtype、switch.physical-port、instanceid security_result.detection_fields 検出に使用されたフィールドのリスト。
pri security_result.priority_details イベントの優先度に関する詳細。
ステータス security_result.summary セキュリティ結果の概要。
newrole target.user.attribute.roles ターゲット ユーザーに関連付けられたロールのリスト。
metadata.product_name イベントを生成したプロダクトの名前。
metadata.vendor_name 製品を製造したベンダーの名前。

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