Fortinet FortiDDoS のログを収集する

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

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

Fortinet FortiDDoS は、分散型サービス拒否攻撃からネットワークとアプリケーションを保護する DDoS 攻撃緩和アプライアンスです。FortiDDoS は、ネットワーク レイヤとアプリケーション レイヤの両方の攻撃に対して、リアルタイムの攻撃検出、自動軽減、詳細なレポートを提供します。

始める前に

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

  • Google SecOps インスタンス。
  • Windows Server 2016 以降、または systemd を使用する Linux ホスト。
  • Bindplane エージェントと Fortinet FortiDDoS アプライアンス間のネットワーク接続。
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
  • ログとレポートの設定に対する読み取り / 書き込み権限を持つ FortiDDoS ウェブ インターフェースへの特権アクセス。

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/fortiddos:
    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_FORTIDDOS
    raw_log_field: body
    ingestion_labels:
        env: production

service:
    pipelines:
    logs/fortiddos_to_chronicle:
        receivers:
        - udplog
        exporters:
        - chronicle/fortiddos

構成パラメータ

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

レシーバーの構成:

  • listen_address: リッスンする IP アドレスとポート。0.0.0.0:514 を使用して、ポート 514 のすべてのインターフェースをリッスンします。

エクスポータの構成:

  • 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_FORTIDDOS でなければなりません。
  • ingestion_labels: YAML 形式の省略可能なラベル。

構成ファイルを保存する

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

  • 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"
        

FortiDDoS イベントログのリモート ロギングを構成する

FortiDDoS は、システム イベントのイベントログと DDoS 攻撃イベントの攻撃ログという 2 種類のリモート syslog ロギングをサポートしています。包括的なログを Google SecOps に送信するように両方を構成します。

  1. FortiDDoS ウェブ インターフェースにログインします。
  2. [Log & Report] > [Log Configuration] > [Event Log Remote] に移動します。
  3. [追加] をクリックして、新しいリモートログサーバー構成を作成します。
  4. 次の構成の詳細を指定します。
    • 名前: わかりやすい名前を入力します(例: Chronicle-Event-Logs)。
    • アドレス: Bindplane エージェント ホストの IP アドレスを入力します。
    • ポート: 「514」と入力します。
    • 最小ログレベル: 転送する最小重大度レベルを選択します(例: 情報通知)。
    • ファシリティ: syslog ファシリティ(local0 など)を選択します。
  5. [保存] をクリックして、構成を保存します。

FortiDDoS 攻撃ログのリモート ロギングを構成する

攻撃ログのリモート ロギングは、サービス保護プロファイル(SPP)ごとに構成されます。モニタリングする SPP ごとに攻撃ログ転送を構成する必要があります。

  1. FortiDDoS ウェブ インターフェースにログインします。
  2. [Log & Report] > [Log Configuration] > [Attack Log Remote] に移動します。
  3. [追加] をクリックして、新しいリモートログサーバー構成を作成します。
  4. 次の構成の詳細を指定します。
    • 名前: わかりやすい名前を入力します(例: Chronicle-Attack-Logs)。
    • SPP: 構成するサービス保護プロファイルを選択します。
    • アドレス: Bindplane エージェント ホストの IP アドレスを入力します。
    • ポート: 「514」と入力します。
    • 間隔: レポートの間隔(1 分5 分など)を選択します。
  5. [保存] をクリックして、構成を保存します。
  6. モニタリングする SPP ごとに手順 3 ~ 5 を繰り返します。

syslog 転送を確認する

リモート ロギングを構成したら、ログが Bindplane エージェントに送信されていることを確認します。

  1. Bindplane エージェント ホストで、受信 syslog トラフィックをモニタリングします。

    Linux:

    sudo tcpdump -i any -n port 514
    

    Windows:

    ネットワーク モニタリング ツールを使用するか、Bindplane エージェントのログを確認します。

  2. FortiDDoS アプライアンスで、テスト ログメッセージを生成します。

    イベントログのテスト:

    • FortiDDoS ウェブ インターフェースで構成を変更して、イベントログを生成します。

    攻撃ログのテスト:

    • 設定されたレポート間隔(1 分または 5 分)まで待ちます。FortiDDoS は定期的にレポートを作成し、レポートの集計にさらに 2 分かかります。たとえば、5 分の時点で報告されたログは、7 分の時点で syslog サーバーに表示されます。
  3. 5 ~ 10 分以内にログが Google SecOps コンソールに表示されることを確認します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
追加の 追加の 値を直接コピー
additional.fields.additional_label.key 「type」に設定
type additional.fields.additional_label.value.string_value 値を直接コピー
additional.fields.src_label.key 「device_id」に設定
devid additional.fields.src_label.value.string_value 値を直接コピー
log_id security_result.detection_fields.log_id_label.value 値を直接コピー
security_result.detection_fields.log_id_label.key 「log_id」に設定
メタデータ メタデータ 値を直接コピー
desc_Data metadata.description 値を直接コピー
sip、dip、user metadata.event_type sip と dip が空でない場合は「NETWORK_CONNECTION」、user が空でない場合は「USER_UNCATEGORIZED」、sip が空でない場合は「STATUS_UPDATE」、それ以外の場合は「GENERIC_EVENT」に設定します。
network network 値を直接コピー
プリンシパル プリンシパル 値を直接コピー
sip principal.asset.ip 値を直接コピー
sip principal.ip 値を直接コピー
date,time,tz principal.labels.date_label.value 日付、時刻、タイムゾーンをスペースで連結
principal.labels.date_label.key 「date」に設定
dir principal.labels.direction_label.value 値を直接コピー
principal.labels.direction_label.key 「direction」に設定
dport principal.port 整数に変換しました
ユーザー principal.user.userid 値を直接コピー
security_result security_result 値を直接コピー
direction security_result.detection_fields.direction_label.value 値を直接コピー
security_result.detection_fields.direction_label.key 「direction」に設定
dropcount security_result.detection_fields.dropcount_label.value 値を直接コピー
security_result.detection_fields.dropcount_label.key 「dropcount」に設定
evecode security_result.detection_fields.evecode_label.value 値を直接コピー
security_result.detection_fields.evecode_label.key 「evecode」に設定
evesubcode security_result.detection_fields.evesubcode_label.value 値を直接コピー
security_result.detection_fields.evesubcode_label.key 「evesubcode」に設定
facility security_result.detection_fields.facility_label.value 値を直接コピー
security_result.detection_fields.facility_label.key 「facility」に設定
レベル security_result.detection_fields.level_label.value 値を直接コピー
security_result.detection_fields.level_label.key 「level」に設定
msg_id security_result.detection_fields.msg_id_label.value 値を直接コピー
security_result.detection_fields.msg_id_label.key 「msg_id」に設定します。
spp_name security_result.detection_fields.spp_name_label.value 値を直接コピー
security_result.detection_fields.spp_name_label.key 「spp_name」に設定
spp security_result.detection_fields.spp_label.value 値を直接コピー
security_result.detection_fields.spp_label.key 「spp」に設定
sppoperatingmode security_result.detection_fields.sppoperatingmode_label.value 値を直接コピー
security_result.detection_fields.sppoperatingmode_label.key 「sppoperatingmode」に設定
subnet_name security_result.detection_fields.subnet_name_label.value 値を直接コピー
security_result.detection_fields.subnet_name_label.key 「subnet_name」に設定します。
subnetid security_result.detection_fields.subnetid_label.value 値を直接コピー
security_result.detection_fields.subnetid_label.key 「subnetid」に設定します。
subtype security_result.detection_fields.subtype_label.value 値を直接コピー
security_result.detection_fields.subtype_label.key 「subtype」に設定します。
ターゲット ターゲット 値を直接コピー
dip target.asset.ip 値を直接コピー
dip target.ip 値を直接コピー

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