Barracuda WAF のログを収集する

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

このドキュメントでは、Bindplane を使用して Barracuda ウェブ アプリケーション ファイアウォール(WAF)のログを収集する方法について説明します。パーサーは、JSON 形式と Syslog 形式のログからフィールドを抽出し、正規化して、Unified Data Model(UDM)にマッピングします。さまざまなログタイプ(トラフィック、ウェブ ファイアウォール)を処理し、IP アドレス/ホスト名の解決、方向性のマッピング、重大度の正規化など、フィールド値に基づいて条件付き変換を実行します。

始める前に

  • Google Security Operations インスタンスがあることを確認します。
  • Windows 2016 以降、または systemd を使用する Linux ホストを使用していることを確認します。
  • プロキシの背後で実行している場合は、ファイアウォール ポートが開いていることを確認します。
  • Barracuda WAF への特権アクセス権があることを確認します。

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

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。

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. 構成ファイルにアクセスします。

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

    receivers:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:54525"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: SYSLOG
                namespace: barracuda_waf
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。

  4. <customer_id> は、実際の顧客 ID に置き換えます。

  5. /path/to/ingestion-authentication-file.json の値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。

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

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

    sudo systemctl restart bindplane-agent
    
  • Windows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Barracuda WAF を構成する

  1. 管理者認証情報を使用して Barracuda WAF コンソールにログインします。
  2. [詳細設定] タブ > [ログをエクスポート] をクリックします。
  3. [ログをエクスポートする] セクションで、[エクスポート ログサーバーを追加] をクリックします。
  4. 次の値を指定します。
    • 名前: Google SecOps フォワーダーの名前を入力します。
    • ログサーバー タイプ: [Syslog] を選択します。
    • IP アドレスまたはホスト名: Bindplane IP アドレスを入力します。
    • ポート: Bindplane ポートを入力します。
    • 接続タイプ: TCP 接続タイプを選択します(TCP を推奨)。ただし、UDP または SSL プロトコルも使用できます)。
    • サーバー証明書を検証する: [いいえ] を選択します。
    • クライアント証明書: [なし] を選択します。
    • ログのタイムスタンプとホスト名: [はい] を選択します。
    • [追加] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
action security_result.action actionDENY の場合は、BLOCK に設定します。それ以外の場合は、ALLOW に設定します(特に WF ログタイプの場合)。一般的なファイアウォール イベントにも使用されます。
appProtocol network.application_protocol appProtocolTLSv と一致する場合は、HTTPS に設定します。それ以外の場合は、appProtocol の値を使用します。
attackDetails security_result.description WF ログタイプの未加工ログから抽出されます。
attackType security_result.summary security_result.summary の一部。ruleType と組み合わせます。
bytesReceived network.received_bytes 符号なし整数に変換され、TR ログタイプにマッピングされます。
bytesSent network.sent_bytes 符号なし整数に変換され、TR ログタイプにマッピングされます。
hostName target.hostname hostName が IP アドレスでない場合は、その値を使用します。それ以外の場合は、target.ip に統合されます。
httpMethod loginId principal.user.userid emptyToken と等しくない場合、TR ログタイプにマッピングされます。
logType metadata.product_event_type TR の場合は、metadata.product_event_typeBarracuda Access Log に設定します。WF の場合は、Barracuda Web Firewall Log に設定。
message metadata.description desc が空でない場合に使用されます。
referrer network.http.referral_url emptyToken と等しくない場合、TR ログタイプにマッピングされます。
responseCode network.http.response_code 整数に変換され、TR ログタイプにマッピングされます。
rule security_result.rule_name WF ログタイプにマッピングされます。
ruleType security_result.summary security_result.summary の一部。attackType と組み合わせます。
sec_desc security_result.rule_name 一般的なファイアウォール イベントに使用されます。
server target.ip target.ip に統合されました。
serv target.ip target.ip に統合されました。
severity security_result.severity WF ログタイプの場合: 大文字に変換されます。EMERGENCYALERCRITICAL の場合は、security_result.severityCRITICAL に設定します。ERROR の場合は、HIGH に設定します。WARNING の場合は、MEDIUM に設定します。NOTICE の場合は、LOW に設定します。それ以外の場合は INFORMATIONAL に設定します。
src principal.ip 一般的なファイアウォール イベントや一部のステータス更新にも使用されます。
srcPort principal.port 整数に変換されます。
target targetPort target.port 整数に変換されます。
time metadata.event_timestamp.secondsmetadata.event_timestamp.nanostimestamp.secondstimestamp.nanos tz と組み合わされ、解析されてイベント タイムスタンプが作成されます。秒とナノ秒が抽出され、それぞれのフィールドに入力されます。
url urlParams target.url TR ログタイプで emptyToken と等しくない場合は、url に追加されます。
userAgent userName target.user.useridtarget.user.user_display_name 一般的なファイアウォール イベントに使用されます。TR ログタイプの emptyToken と等しくない場合、target.user.user_display_name にマッピングされます。Barracuda にハードコードされています。srctarget の両方が存在する場合は、NETWORK_HTTP に設定されます。src のみ存在する場合は STATUS_UPDATE に設定します。デフォルトとして、または CEF 解析などの他のシナリオでは GENERIC_EVENT に設定します。BARRACUDA_WAF にハードコードされています。

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