Kiteworks(旧 Accellion)のログを収集する

パーサーのバージョン: 16.0

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

このドキュメントでは、Bindplane を使用して Kiteworks(旧称 Accellion)のログを Google Security Operations に取り込む方法について説明します。

Kiteworks は、メール、ファイル共有、マネージド ファイル転送、ウェブフォームにわたるエンタープライズ コンテンツ通信を提供する、安全なファイル共有およびガバナンス プラットフォームです。組織内外に移動する機密コンテンツの可視性、コンプライアンス、制御を実現します。

始める前に

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

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

Bindplane エージェントの Google SecOps 認証情報を取得する

Bindplane エージェントを Google SecOps に対して認証するには、次のいずれかの方法を選択します。

  • 新規デプロイ: Chronicle API を使用します(オプション 1)。
  • 以前のデプロイ: 2027 年 7 月 20 日に Ingestion API が廃止されるまで、取り込み認証ファイル(オプション 2)を引き続き使用します。
  1. Google Cloud コンソールにログインし、Google SecOps インスタンスにリンクされている Google Cloud プロジェクトを選択します。
  2. [IAM と管理] > [サービス アカウント] に移動します。
  3. [サービス アカウントを作成] をクリックします。
  4. 次の構成情報を指定します。
    • サービス アカウント名: アカウントの名前を入力します(例: bindplane-ingest)。
    • サービス アカウントの説明: 説明を入力します(例: Bindplane agent log ingestion)。
  5. [作成して続行] をクリックします。
  6. [このサービス アカウントにプロジェクトへのアクセスを許可する] セクションで、[ロールを選択] をクリックし、[Chronicle 編集者] を選択します。
  7. [続行] をクリックして [完了] をクリックします。
  8. 作成したサービス アカウントをクリックし、[キー] タブに移動します。
  9. [鍵を追加] > [新しい鍵を作成] の順にクリックします。
  10. [JSON] を選択し、[作成] をクリックします。キーファイルがパソコンにダウンロードされます。
  11. 鍵ファイルを ingestion-auth.json として Bindplane コレクタ ディレクトリ(Linux の場合は /opt/observiq-otel-collector/ingestion-auth.json、Windows の場合は C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)に保存するか、config.yaml の creds_file_path を更新して、保存先のパスと一致させます。
  12. [IAM と管理] > [設定] に移動し、[プロジェクト番号] をコピーします。エクスポーターの構成に必要になります。

オプション 2: 取り込み認証ファイルをダウンロードする(以前のバージョン)

  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
    

サービスが active (running) と表示されます。

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

その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。

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

構成ファイルを探します。

  • Linux:

    sudo nano /opt/observiq-otel-collector/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/accellion:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: ACCELLION
        raw_log_field: body
    
    service:
      pipelines:
        logs/accellion_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/accellion
    

構成パラメータ

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

  • レシーバーの構成:

    • listen_address: リッスンする IP アドレスとポート。
      • 0.0.0.0: すべてのインターフェースでリッスンします(推奨)。
      • ポート 514 は標準の syslog ポートです(Linux では root が必要です。root 以外の場合は 1514 を使用します)。
  • エクスポータの構成:

    • creds_file_path: サービス アカウントの JSON キーファイルのフルパス(オプション 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: Google SecOps コンソールからコピーしたお客様 ID
    • location: <LOCATION> は、Google SecOps インスタンスのリージョン(us、europe、asia-southeast1 など)に置き換えます。エクスポーターは、chronicle.googleapis.com の先頭にこの値を付加します。完全なリストについては、リージョン エンドポイントをご覧ください。
    • project: <PROJECT_NUMBER> を [IAM と管理] > [設定] のプロジェクト番号に置き換えます。
    • endpoint: chronicle.googleapis.com に設定したままにします。

以前の Ingestion API エクスポータ

  • オプション 2 の取り込み認証ファイルを使用する場合は、exporters ブロックを次のように置き換えます。creds_file_path を取り込み認証ファイルのパスに設定します。インスタンスが米国以外にある場合は、malachiteingestion-pa.googleapis.com をリージョン エンドポイント(例: europe-malachiteingestion-pa.googleapis.com)に置き換えます。

    exporters:
      chronicle/accellion:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: ACCELLION
        raw_log_field: body
    

構成ファイルを保存する

  • 編集後、ファイルを保存します。
    • Linux: Ctrl+O、Enter、Ctrl+X の順に押します。
    • Windows の場合: [ファイル] > [保存] をクリックします。

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

Linux で Bindplane エージェントを再起動するには:

  1. 次のコマンドを実行します。

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

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

    sudo journalctl -u observiq-otel-collector -f
    

Windows で Bindplane エージェントを再起動するには:

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

    • 管理者としてコマンド プロンプトまたは PowerShell を開きます。
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • サービス コンソール:
      1. Win+R を押し、「services.msc」と入力して Enter キーを押します。
      2. observIQ OpenTelemetry Collector を見つけます。
      3. 右クリックして [再起動] を選択します。
  2. サービスが実行されていることを確認します。

    sc query observiq-otel-collector
    
  3. ログでエラーを確認します。

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

Kiteworks(旧称 Accellion)で syslog 転送を構成する

  1. システム管理者として Kiteworks 管理コンソールにログインします。
  2. [ロケーション] ページに移動します。
    • 以前の管理 UI: [System] > [Locations] に移動します。
    • 新しい管理 UI: [システム設定>拠点] に移動します。
  3. リストからターゲットの場所を選択します。
  4. [外部サービス] セクションに移動します。
  5. [Syslog 設定] パネルを開きます。
  6. [追加] をクリックして、新しい syslog サーバー構成を作成します。
  7. 次の構成情報を指定します。
    • Syslog サーバー: Bindplane エージェント ホストの IP アドレスを入力します(例: 192.168.1.100)。
    • プロトコル: Bindplane エージェント レシーバの構成に応じて、[UDP] または [TCP] を選択します。
    • ポート: Bindplane エージェントのポート番号(例: 514)を入力します。
    • TLS を使用する: TLS 経由で Syslog メッセージを転送する場合は、このチェックボックスをオンにします(プロトコルとして TCP が選択されている場合にのみ使用できます)。
    • 形式: [JSON 形式] を選択します(構造化解析に推奨)。
  8. [保存] をクリックして、構成を適用します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
acct principal.user.user_display_name 未加工ログの msg フィールドの acct の値。
acct target.user.user_display_name 未加工ログの msg フィールドの acct の値。
addr principal.ip 未加工ログの msg フィールドの addr の値。
a0 security_result.about.labels.value 未加工ログの msg フィールドの a0 の値。対応する key は「a0」です。
a1 security_result.about.labels.value 未加工ログの msg フィールドの a1 の値。対応する key は「a1」です。
a2 security_result.about.labels.value 未加工ログの msg フィールドの a2 の値。対応する key は「a2」です。
a3 security_result.about.labels.value 未加工ログの msg フィールドの a3 の値。対応する key は「a3」です。
arch security_result.about.platform_version 未加工ログの msg フィールドの arch の値。type_name SYSCALL にのみ適用されます。
auid about.user.userid 未加工ログの msg フィールドの auid の値。
auid security_result.detection_fields.value 未加工ログの msg フィールドの auid の値。ここで、対応する key は「auid」です。
comm principal.application 未加工ログの msg フィールドの comm の値。
cmd principal.process.command_line 未加工ログの msg フィールドの cmd の値。
cwd security_result.detection_fields.value 未加工ログの msg フィールドの cwd の値。対応する key は「cwd」です。
cwd target.process.file.full_path 未加工ログの msg フィールドの cwd の値。
exe principal.process.file.full_path 未加工ログの msg フィールドの exe の値。
exe target.process.file.full_path 未加工ログの msg フィールドの exe の値。
exit security_result.about.labels.value 未加工ログの msg フィールドの exit の値。対応する key は「Exit Code」です。
hostname principal.hostname 未加工ログの msg フィールドの hostname の値。
key security_result.about.registry.registry_key 未加工ログの msg フィールドの key の値。type_name SYSCALL にのみ適用されます。
log_type metadata.log_type 未加工ログの log_type の値。
msg security_result.action_details 未加工ログの msg フィールドの res= の後の値。
msg security_result.summary 未加工ログの msg フィールドのフィールドの組み合わせ。未加工ログの msg フィールドの audit セクションからパースされます。未加工ログの type フィールドに基づいてマッピングされます。たとえば、「USER_START」は「USER_LOGIN」にマッピングされ、「CRED_DISP」は「USER_LOGOUT」にマッピングされ、「CRED_ACQ」は「USER_LOGIN」にマッピングされ、「USER_END」は「USER_LOGOUT」にマッピングされ、「CRED_REFR」は「USER_LOGIN」にマッピングされ、「USER_CMD」は「USER_LOGIN」にマッピングされ、「CWD」は「STATUS_UPDATE」にマッピングされ、「PROCTITLE」は「STATUS_UPDATE」にマッピングされ、「USER_ACCT」は「USER_UNCATEGORIZED」にマッピングされ、「SYSCALL」は「USER_UNCATEGORIZED」にマッピングされます。
node principal.hostname 未加工ログの msg フィールドの node の値。
pid principal.process.pid 未加工ログの msg フィールドの pid の値。
ppid principal.process.parent_process.pid 未加工ログの msg フィールドの ppid の値。
proctitle target.process.file.full_path 未加工ログの msg フィールドからデコードされた proctitle の 16 進数値。「LINUX」にハードコードされています。未加工ログの msg フィールドに res=success が存在する場合は、「ALLOW」に設定されます。
ses network.session_id 未加工ログの msg フィールドの ses の値。
syscall security_result.about.labels.value 未加工ログの msg フィールドの syscall の値。対応する key は「Syscall」です。
success security_result.summary 他のフィールドと組み合わせて概要を形成します。SYSCALL イベントの場合、ロジックは次のようになります。success=yes の場合は「yes, The System call succeeded」、それ以外の場合は「no, The System call failed」。
terminal principal.terminal 未加工ログの msg フィールドの terminal の値。
timestamp timestamp 未加工ログエントリの timestamp の値。
tty principal.terminal 未加工ログの msg フィールドの tty の値。
type metadata.product_event_type 未加工ログの msg フィールドの type の値。
uid about.user.userid 未加工ログの msg フィールドの uid の値。type_name SYSCALL にのみ適用されます。
uid target.user.userid 未加工ログの msg フィールドの uid の値。type が「USER_ACCT」の場合は「SETTING」に設定します。

変更ログ

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

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